본문 바로가기

취미, 관심/NAS, Server

[Synology] 시놀로지에서 배드섹터 검사 및 복구하는 방법. badblocks

시놀로지 나스는 리눅스 시스템을 사용합니다. 

나스 특성상 갑작스러운 하드디스크의 사망은 언제나 민감할 수 밖에 없는데요.

 

인식이 안되어버리면 동일모델 사망한 디스크를 이용해 기판교체 등의 방법을 사용할 수도 있겠지만.

 

배드섹터가 발생했다는 메시지가 뜨면 검사를 돌려봐야 합니다.

배드섹터는 물리배드와 논리배드가 있는데, 논리배드는 해결이 가능합니다.

물리배드는 디스크 표면이 손상을 입은 상태라, 최대한 빨리 디스크 교체를 해 주셔야 합니다.

 

윈도우에 scandisk, chkdsk 등이 있듯, 리눅스에도 같은 역할을 하는 badblocks 가 있습니다.

 

나스에 SSH로 접속만 할 수 있다면 바로 돌려볼 수 있어 좋습니다.

 

badblocks 사용법

badblocks [ -b 블록크기 ] [ -o 출력파일] [ -v ] [ -w ]

간단하죠?

 

1. 시놀로지 나스에 SSH로 접속한 후 sudo -i 를 입력해 루트 권한을 획득합니다.

2. fdisl -l 명령으로 문제가 있는 디스크를 찾습니다.

3. badblocks [옵션] 위치 명령으로 실행합니다.

 

시놀로지의 경우 /dev/sata1 이런식으로 디스크 위치가 나옵니다.

디스크 모델, 크기 등으로 찾아야 하는데........... 만일 같은 디스크 두개가 장착되어있다면?!

뭐가 문제있는 디스크인지 알 수가 없다.

DSM의 저장소 관리자의 HDD/SSD에서

드라이브 1 = sata1

드라이브 2 = sata2

입니다.

 

이 /dev/sata1 부분이 디스크 위치입니다.

 

이제 검사를 돌려보기 전에.. 옵션을 확인해봅니다.

옵션
-b 블록크기 : 블록크기를 바이트 수로 나타냄(기본값 : 1024bytes)
-o 파일명 : 지정한 파일에 배드 블록의 리스트 기록
-v 자세한 출력 모드
-e 최대블록 개수 : 점검을 멈출 최대 블록 개수(0이면 지정된 범위까지 점검)
-p num_passes 지정된 숫자만큼 디스크 스캔 반복
-w 읽기/쓰기 모드에서 배드블록을 검사(데이터 유실 위험 있음!, -n옵션과 함께 사용 불가)
-n 비파괴 읽기/쓰기 모드(-w옵션과 함께 사용 불가)
-s 검사 진행 과정 표시
-f 마운트 된 장치에서 읽고 쓸 수 있게 함(?)

데이터 유실이 절대 되면 안된다! 라면 n 모드를 사용해야 합니다.

badblocks -svnf /dev/sata1

안전하지만, 상대적으로 느립니다.

 

이미 비어있는 디스크라면, 조금 더 빠른 모드를 사용합니다.

badblocks -svwf /dev/sata1

-f는 빼도 될 것 같기도 하구요;

 

검사를 시작하면 배드가 있는 경우 아래와 같은 모습으로 나옵니다.

8개가 있다고 떴는데, 뜨네요... 이상태에서 터미널을 닫으면.. 작업이 멈추거나, 진행상황을 확인하지 못하는 일이 생깁니다.

저는 그래서 다시 진행을 시켰는데.. 찾아보니 방법이 있긴 합니다.

 

아래 방법으로 작업이 가능할 것 같긴 하네요. 

https://ca.ramel.be/25

 

[UBUNTU] 우분투 서버 SSH 작업 중 터미널을 종료해도 작업 유지 - Screen

개인용으로 우분투 서버를 운용하면서 파일을 이동하거나 복사하는 등의 작업을 할때 SSH를 통해 접속하는 경우가 많다. 아니, 서버에 마우스와 키보드를 달아 놓지 않았기 때문에 초기 설치 때

ca.ramel.be

 

일단 전 미련하게(...) 터미널을 계속 열어두고 있습니다. 3TB HDD를 -w 명령으로 돌리는데 5시간 이상 걸리나봅니다.

비파괴 검사(-n)에서는 배드가 떴는데, 데이터를 모두 이전시키고 -w 옵션으로 다시 돌리니 해결이 된 것 같습니다(?)

 

다행히도 논리 배드였던 것 같네요.

작업을 완료했고, 오류가 해결되었다면, 디스크를 다시 사용할 수 있습니다.