오늘 당근마켓에서 16TB HDD 2개를 구매했다. 우분투 서버에 연결해서 스토리지를 확장하려고 한다.

일단 SATA 케이블과 전원 케이블을 연결하고 서버를 켜보았는데, 예상대로 바로 사용할 수는 없었다. 먼저 디스크가 제대로 연결되었는지 확인해봐야 한다.

sudo fdisk -l

이 명령어로 새로 연결한 디스크들이 잘 인식되는지 확인해봤다. 다행히 잘 인식된다.

확인해보니 디스크가 윈도우 포맷으로 되어있어서 리눅스에서 사용하기 위해 포맷을 다시 해줘야 했다. 먼저 파티셔닝부터 시작했다. fdisk 명령어로 어떤 위치에 있는지 확인하고 그에 맞춰서 작업을 시작했다.

sudo fdisk /dev/sda

파티셔닝은 이런 순서로 진행했다:
1. 'd' 로 기존 파티션들을 삭제했다. (큰 파티션부터 지우는 게 좋다고 해서 그렇게 했다)
2. 'n' 으로 새 파티션을 만들고
3. 'p' 로 primary 파티션으로 설정
4. Enter 키를 두 번 눌러서 전체 공간을 다 쓰도록 했다
5. 마지막으로 'w' 로 저장하고 나왔다

그 다음에는 ext4 파일시스템으로 포맷해줬다:

sudo mkfs.ext4 /dev/sda1

이제 마운트 포인트를 만들어야 하는데, 나는 네트워크 마운트와 구분하기 위해 최상위에 /Volumes라는 디렉토리를 따로 만들어뒀다. 네트워크 마운트는 보통 /mnt를 쓰니까 구분하기 좋을 것 같다.

sudo mkdir -p /Volumes/sda1

그리고 마운트:

sudo mount /dev/sda1 /Volumes/disk1

서버를 재시작해도 자동으로 마운트되게 하려면 fstab 설정이 필요하다. 먼저 HDD의 UUID를 확인했다:

sudo blkid /dev/sda1

그리고 fstab에 설정을 추가:

sudo vi /etc/fstab

여기에 이런 형식으로 추가했다:

UUID=<확인한 UUID> /mnt/disk1 ext4 defaults 0 2

이제 중고로 산 HDD가 정상 제품인지 확인해볼 차례다. smartmontools라는 도구로 체크해보기로 했다.

sudo apt update
sudo apt install smartmontools

디스크 검사는 여러 가지 방법으로 해봤다:

# 전체적인 상태 확인
smartctl -a /dev/sda

# 간단한 건강도 체크
smartctl -H /dev/sda

# 자가진단 테스트 실행
sudo smartctl -t short /dev/sda

# 테스트 결과 확인
sudo smartctl -l selftest /dev/sda

결과를 보니 다행히 괜찮은 것 같다. 이 디스크(Seagate IronWolf Pro 16TB)는 약 657일 정도 사용됐고, 전반적으로 상태가 양호하다. 불량 섹터도 없고 온도도 30도로 안정적이다. Command Timeout이 2번 있었다고 하는데, 이건 좀 지켜봐야겠다.

앞으로 관리할 때 주의할 점:
1. 주기적으로 SMART 검사하기
2. 가끔 Extended self-test 돌려보기 (시간이 좀 걸리긴 하는데 24시간 정도)
3. 지금처럼 온도 잘 유지하기
4. 중요한 데이터는 꼭 백업해두기

뭐... 전반적으로 봤을 때 중고치고는 괜찮은 것 같다. 이제 두 번째 HDD도 같은 방식으로 설정해야지.

0개의 댓글