
Synology 배드섹터 검사
Synology NAS의 하드디스크에 배드섹터가 발생하면 소중한 데이터가 손실될 위험이 있다.
배드섹터(Bad Sector)는 하드디스크의 물리적 손상 또는 오류로 인해 데이터를 제대로 읽거나 쓸 수 없게 된 영역을 말한다.
데이터 보호를 위해서는 디스크의 상태를 정기적으로 확인하고 문제가 발생하기 전에 미리 대처하는 것이 중요하다.
Synology NAS는 기본적인 디스크 건강 확인 도구를 제공하지만, SSH를 통해 Linux 명령어인 badblocks를 사용하면 더욱 철저한 검사를 수행할 수 있다.
이 방법은 특히 중요한 데이터를 저장하는 NAS 사용자에게 유용한 관리 도구가 된다.
이 글에서는 Synology NAS에 SSH로 접속하여 badblocks 명령어로 하드디스크의 배드섹터를 검사하는 방법을 단계별로 알아보자.
SSH 접속
Synology NAS에 SSH로 접속하기 위해서는 먼저 SSH 서비스를 활성화해야 한다. 기본적으로 보안상의 이유로 SSH는 비활성화되어 있다.
SSH 서비스 활성화하기
- Synology DSM에 관리자 계정으로 로그인한다.
-
웹 브라우저에서 NAS의 IP 주소를 입력하여 DSM 로그인 화면에 접속한다.
-
- 제어판을 연다.
-
DSM 바탕화면에서 ‘제어판’ 아이콘을 클릭한다.
-
- 터미널 및 SNMP 설정으로 이동한다.
-
제어판에서 ‘터미널 및 SNMP’를 클릭한다.
-
- SSH 서비스를 활성화한다.
-
‘터미널’ 탭에서 ‘SSH 서비스 활성화’ 체크박스를 선택한다.
기본 SSH 포트는 22번이지만, 보안을 위해 다른 포트로 변경하는 것도 좋다.
-
- 변경사항을 적용한다.
-
‘적용’ 버튼을 클릭하여 설정을 저장한다.
-
SSH 클라이언트를 통한 접속
SSH 서비스가 활성화되면, SSH 클라이언트를 사용하여 NAS에 접속할 수 있다. 운영체제별로 다음과 같은 방법을 사용할 수 있다.
- Windows 사용자
- PuTTY와 같은 SSH 클라이언트 프로그램을 사용한다.
- PuTTY를 실행하고, 호스트 이름/IP 주소 필드에 NAS의 IP 주소를 입력한다.
- 포트 번호를 지정하고(기본값: 22) ‘열기’ 버튼을 클릭한다.
- 다음 명령어를 입력한다.
- macOS 또는 Linux 사용자
-
터미널 애플리케이션을 열고 다음 명령어를 입력한다.
-
ssh admin@your_synology_ip -p port_number
SSH 접속이 성공하면 비밀번호를 입력하라는 프롬프트가 표시된다. 관리자 계정의 비밀번호를 입력하면 Synology NAS의 Linux 쉘에 접속하게 된다.
badblocks 명령어
badblocks는 Linux 시스템에서 저장 장치의 배드섹터를 검사하는 명령줄 유틸리티다. 이 도구는 Synology NAS에 기본적으로 설치되어 있으며, 하드디스크의 물리적 상태를 철저히 검사할 수 있다.
badblocks 명령어 기본 구문
badblocks 명령어의 기본 구문은 다음과 같다.
badblocks [options] device
여기서 ‘device’는 검사할 디스크 장치의 경로(예: /dev/sda, /dev/sdb 등)를 의미한다.
주요 옵션 설명
이 글에서 소개하는 ‘badblocks -svnf /dev/sata1’ 명령어에서 사용된 옵션들의 의미를 자세히 살펴보자.
옵션 | 의미 | 설명 |
---|---|---|
-s | 진행 상태 표시 | 검사 진행 상황을 화면에 표시한다. 대용량 디스크를 검사할 때 유용하다. |
-v | 상세 모드(verbose) | 검사 과정에 대한 자세한 정보를 출력한다. 오류가 발견될 경우 더 많은 정보를 볼 수 있다. |
-n | 비파괴적 읽기-쓰기 테스트 | 디스크에 데이터를 쓰고 읽어서 검증하되, 기존 데이터를 보존한다(쓰기 전에 원래 값을 저장했다가 테스트 후 복원). |
-f | 강제 실행 | 마운트된 파일시스템이나 스왑 파티션에서도 검사를 강제로 실행한다. 주의가 필요한 옵션이다. |
추가적으로 알아두면 유용한 badblocks 옵션들은 다음과 같다.
- -w
-
파괴적 쓰기-읽기 테스트(write mode). 디스크의 모든 데이터를 지우므로 주의가 필요하다.
-
- -c
-
한 번에 검사할 블록 수를 지정한다. 기본값은 64이다.
-
- -b
-
블록 크기를 지정한다(바이트 단위). 기본값은 1024이다.
-
- -o
-
배드섹터 목록을 지정된 파일에 저장한다.
-
준비사항
badblocks 명령어로 배드섹터 검사를 실행하기 전에 몇 가지 중요한 준비 사항과 주의점을 알아두어야 한다.
디스크 식별하기
검사를 실행할 디스크를 정확히 식별하는 것이 매우 중요하다. 잘못된 디스크를 지정하면 의도하지 않은 데이터 손실이 발생할 수 있다.
Synology NAS에서 디스크를 식별하는 방법
ls -la /dev/sd*
또는
ls -la /dev/sata*
이 명령어를 실행하면 시스템에 연결된 모든 SATA 디스크 장치가 표시된다. 일반적으로 Synology NAS에서는 /dev/sda, /dev/sdb 등의 이름 대신 /dev/sata1, /dev/sata2 등의 이름을 사용한다.
더 자세한 디스크 정보를 확인하려면 다음 명령어를 사용한다.
fdisk -l
또는
df -h
중요한 주의사항
- 데이터 백업
-
배드섹터 검사를 실행하기 전에 중요한 데이터를 반드시 백업해두어야 한다. 특히 -n 옵션을 사용하더라도 예상치 못한 문제가 발생할 수 있다.
-
- 활성 볼륨 확인
-
가능하면 마운트되지 않은 디스크에서 검사를 실행하는 것이 안전하다. -f 옵션을 사용하면 마운트된 디스크에서도 검사가 가능하지만, 데이터 무결성에 영향을 줄 수 있다.
-
- 검사 시간 계획
-
배드섹터 검사는 디스크 크기에 따라 수 시간에서 수일까지 걸릴 수 있다. NAS 사용량이 적은 시간대에 실행하는 것이 좋다.
-
- 권한 확인
-
badblocks 명령어를 실행하려면 root 권한이 필요하다. Synology NAS에 SSH로 접속했다면 기본적으로 관리자(admin) 계정으로 로그인했을 것이므로, sudo 명령어를 사용하거나 root로 전환해야 할 수 있다.
-
검사 실행
이제 실제로 badblocks 명령어를 사용하여 Synology NAS의 하드디스크에서 배드섹터 검사를 실행하는 방법을 알아보자.
기본 검사 실행
SSH로 Synology NAS에 접속한 후, 다음 명령어를 입력하여 배드섹터 검사를 실행한다.
sudo badblocks -svnf /dev/sata1
이 명령어를 실행하면 검사가 시작되고, -s 옵션으로 인해 검사 진행 상황이 화면에 표시된다.
검사 결과 파일로 저장하기
배드섹터 검사 결과를 파일로 저장하려면 -o 옵션을 추가하면 된다.
sudo badblocks -svnf -o /path/to/badblocks-result.txt /dev/sata1
특정 블록 범위만 검사하기
대용량 디스크의 경우, 전체 디스크를 검사하는 데 매우 오랜 시간이 걸릴 수 있다. 특정 블록 범위만 검사하려면 다음과 같이 시작 블록과 종료 블록을 지정할 수 있다.
sudo badblocks -svnf /dev/sata1 start_block end_block
예를 들어, 처음부터 1,000,000번 블록까지만 검사하려면 아래와 같이 입력하자.
sudo badblocks -svnf /dev/sata1 0 1000000
검사 중단 및 재개
badblocks 검사는 오랜 시간이 걸릴 수 있으며, 검사 도중에 중단해야 할 경우가 있을 수 있다. 검사를 중단하려면 Ctrl+C를 누르면 된다.
중단된 검사를 재개하는 직접적인 방법은 없지만, 특정 블록 범위를 지정하여 중단된 지점부터 다시 검사를 시작할 수 있다.
sudo badblocks -svnf /dev/sata1 last_checked_block end_block
결과 확인
badblocks 명령어를 실행하여 검사를 완료하면, 결과를 확인하고 해석해야 한다.
결과는 검사 방식과 옵션에 따라 다양한 형태로 나타날 수 있다.
검사 결과 형식
badblocks 명령어의 기본 출력 형식은 매우 단순하다.
배드섹터가 발견되면 해당 섹터의 블록 번호가 출력되고, 배드섹터가 없으면 아무런 출력 없이 명령이 종료된다.
-v 옵션(상세 모드)을 사용한 경우, 다음과 같은 형식의 출력을 볼 수 있다.
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: done
Pass completed, 0 bad blocks found. (0/0/0 errors)
- “Checking blocks 0 to 1953125000”: 검사 중인 블록 범위
-
이 숫자는 디스크의 크기에 따라 달라진다.
-
- “Checking for bad blocks (non-destructive read-write test)”: 수행 중인 검사 유형
-
-n 옵션을 사용했으므로 비파괴적 읽기-쓰기 테스트를 수행한다.
-
- “Testing with random pattern: done”: 테스트에 사용된 패턴과 완료 상태
-
비파괴적 테스트에서는 다양한 패턴으로 여러 패스를 실행한다.
-
- “Pass completed, 0 bad blocks found. (0/0/0 errors)”: 최종 결과
-
발견된 배드섹터 수와 오류 유형별 카운트를 보여준다.
-
오류 메시지 해석
배드섹터가 발견된 경우, 다음과 같은 형식의 오류 메시지가 표시될 수 있다.
Checking for bad blocks (non-destructive read-write test)
Testing with random pattern: done
Pass completed, 24 bad blocks found. (0/24/0 errors)
123456789 123456790 123456791 123456792 … (배드 블록의 목록)
오류 메시지에 표시되는 “(0/24/0 errors)” 형식은 다음을 의미한다.
- 첫 번째 숫자: 읽기 오류 수
-
블록을 읽는 과정에서 발생한 오류 횟수
-
- 두 번째 숫자: 쓰기 오류 수
-
블록에 데이터를 쓰는 과정에서 발생한 오류 횟수
-
- 세 번째 숫자: 비교 오류 수
-
쓰여진 데이터와 다시 읽은 데이터를 비교하는 과정에서 발생한 오류 횟수
-
결과 파일 확인하기
-o 옵션을 사용하여 결과를 파일로 저장한 경우, 다음 명령어로 파일 내용을 확인할 수 있다.
cat /path/to/badblocks-result.txt
이 파일은 발견된 배드섹터의 블록 번호 목록을 포함하고 있다. 파일에 내용이 없다면, 배드섹터가 발견되지 않은 것이다.
대처 방법
배드섹터 검사에서 문제가 발견되었다면, 적절한 대처가 필요하다. 발견된 배드섹터의 수와 유형에 따라 다음과 같은 조치를 취할 수 있다.
배드섹터 수에 따른 대처
- 소수의 배드섹터가 발견된 경우
-
현대의 하드디스크는 일정 수의 배드섹터를 자체적으로 관리할 수 있는 예비 섹터를 보유하고 있다. 소수의 배드섹터는 하드디스크가 자동으로 대체 섹터로 재할당할 수 있다.
디스크의 S.M.A.R.T 정보를 확인하여 ‘재할당된 섹터 수(Reallocated Sector Count)’가 증가하는지 모니터링한다.
-
- 다수의 배드섹터가 발견된 경우
-
디스크에 심각한 물리적 문제가 있을 가능성이 높다. 가능한 빨리 디스크를 교체해야 한다.
모든 중요 데이터를 즉시 다른 저장 장치로 백업한다.
디스크를 계속 사용하면 추가적인 데이터 손실 위험이 높아진다.
-
- 배드섹터가 계속 증가하는 경우
-
이는 디스크가 점진적으로 실패하고 있음을 의미한다. 즉시 디스크를 교체해야 한다.
정기적으로 검사를 실행하여 증가 추세를 모니터링한다.
-
배드섹터 관리를 위한 추가 조치
- S.M.A.R.T 모니터링 활성화
-
Synology NAS의 DSM에서 S.M.A.R.T 모니터링 기능을 활성화하여 디스크 건강 상태를 지속적으로 모니터링한다.
‘저장소 관리자’ > ‘저장소’ > ‘하드 디스크’ > 디스크 선택 > ‘건강 정보’에서 확인할 수 있다.
-
- 파일 시스템 점검 실행
-
배드섹터로 인해 파일 시스템이 손상되었을 수 있으므로, DSM의 ‘저장소 관리자’에서 볼륨 파일 시스템 점검을 실행한다.
-
- 정기적인 디스크 검사 일정 설정
-
배드섹터가 발견된 디스크는 더 자주 검사하여 상태 변화를 모니터링한다.
cron 작업을 설정하여 정기적으로 배드섹터 검사를 자동화할 수 있다.
-
배드섹터 정보를 파일 시스템에 반영하기
badblocks로 발견된 배드섹터 목록을 파일 시스템에 알려서, 해당 영역을 사용하지 않도록 할 수 있다. ext 파일 시스템의 경우, e2fsck 명령어를 사용한다.
sudo e2fsck -l /path/to/badblocks-result.txt /dev/sata1
하지만 Synology NAS는 일반적으로 ext4 또는 btrfs 파일 시스템을 사용하며, 하드웨어 RAID와 소프트웨어 계층으로 인해 이 방법이 직접 적용되지 않을 수 있다. 따라서 배드섹터가 발견된 경우 Synology 지원 팀에 문의하거나 디스크를 교체하는 것이 더 안전한 접근 방법이다.
Synology NAS에서 SSH를 통해 badblocks 명령어로 하드디스크의 배드섹터를 검사하는 방법을 살펴보았다.
정기적인 디스크 건강 검사는 중요한 데이터를 보호하고 예상치 못한 시스템 장애를 예방하는 데 필수적이다. 특히 ‘badblocks -svnf /dev/sata1’과 같은 명령어를 사용하면 더 철저한 검사가 가능하다.
배드섹터가 발견되었다면, 심각성에 따라 적절한 조치를 취하고, 필요한 경우 신속하게 디스크를 교체하여 데이터 손실 위험을 최소화하자.