오리콘 5베이 DAS / 8TB 시게이트 바라쿠다 드래곤볼 진행기
안녕하세요? 도정진입니다.
구글드라이브 무제한 용량의 종료 조짐이 보여, 필수 데이터를 내려받고 다시 NAS로의 운영을 준비하고 있는 중입니다.
구글드라이브에 있는 용량은 270TB 정도 되고, 필수 데이터를 내리면 대략 30TB 내외 될 것 같습니다.
일단 생각을 한 부분이 아래와 같습니다.
1. 이왕 이렇게 된거 상용 NAS로 가야하나?
돈이 너무 비쌉니다.
2. 지금 쓰고있는 시스템에서 DAS만 추가할까?
오케이 좋은 생각인것 같습니다.
이렇게 2번으로 결정을 하게 되었으며, 지금부터 드래곤볼 후기 시작합니다.
1. DAS 구매
일단 HDD 5개 들어간다고 해서 속도가 빠를 필요가 없었습니다.
USB3.0 만 지원되면 되는 상황이라 크게 썬더볼트까지는 생각하지 않았습니다.
마침 아마존을 구경하고 있는 와중 할인까지 해줘서 아래 제품을 구매하게 되었습니다.
https://www.amazon.com/-/ko/dp/B0734G79FW
119달러에 구매했고 5월 3일날 도착하였습니다. 요즘 아마존 49불 이상은 무배라 아주 좋은 시기에 걸렸네요.
2. 하드 구매
하드디스크는 8TB 시게이트 바라쿠다 제품을 싸게 판매하고 있어 그 제품으로 드래곤볼 중입니다.
다만, 가격이 싼 만큼 국내 RMA 는 지원되지 않아 그냥 고장나면 버려야하는 관계로.. 초기 점검이 매우 중요합니다.
https://prod.danawa.com/info/?pcode=5764992
추가적으로 8TB 바라쿠다 제품은 SMR 방식의 하드디스크로 자주 파일을 쓰고 삭제하는 경우에는 성능 저하가 있습니다. CMR 하드를 구매하는걸 추천하지만, 저의 경우 통 백업 용도로 아래 디스크들을 운영할 예정이라 일단 가격적인 문제로 SMR 하드로 진행하게 되었습니다.
운영하드는 8TB를 새로 하나 구매할 예정입니다.
3. 개봉기
일단은 DAS와 하드1개가 먼저 도착했습니다.
아래와 같이 설치했습니다.
4. 하드 검사 (smartmontools)
일단은 먼저 하드의 smart 정보를 먼저 한번 구경해봐야합니다.
root@debian:~# apt install smartmontools |
위 명령으로 설치합니다.
아래 명령으로 확인을 할 수 있습니다.
root@debian:~# smartctl -a /dev/sdb |
많은 내용이 출력되는데 확인해봐야할 부분은 아래와 같습니다.
일단 제품명 정보가 아래와 같이 나오네요.
=== START OF INFORMATION SECTION === Model Family: Seagate BarraCuda 3.5 Device Model: ST8000DM004-2U9188 Serial Number: WSC2CQ4A LU WWN Device Id: 5 000c50 0f6a336a8 Firmware Version: 0001 User Capacity: 8,001,563,222,016 bytes [8.00 TB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 5400 rpm Form Factor: 3.5 inches Device is: In smartctl database [for details use: -P show] ATA Version is: ACS-3 T13/2161-D revision 5 SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Mon May 6 22:19:55 2024 KST SMART support is: Available - device has SMART capability. SMART support is: Enabled |
그리고 SMART 데이타를 읽어볼 차례입니다.
SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 075 075 006 Pre-fail Always - 32421376 3 Spin_Up_Time 0x0003 099 099 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 1 5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 100 253 045 Pre-fail Always - 235764 9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 0 (33 156 0) 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 1 183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0 184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0 187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0 188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0 0 0 189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0 190 Airflow_Temperature_Cel 0x0022 058 058 040 Old_age Always - 42 (Min/Max 29/42) 191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0 192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 1 193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 1 194 Temperature_Celsius 0x0022 042 042 000 Old_age Always - 42 (0 29 0 0 0) 195 Hardware_ECC_Recovered 0x001a 075 075 000 Old_age Always - 32421376 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 0h+55m+20.747s 241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 1106421248 242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 2176 |
들여쓰기가 엉망으로 될 것 같아 그림으로 아래와 같이 첨부합니다.
여기서 1번 5번 7번 10번 정도를 확인하면 됩니다.
지금 새로 뜯은 하드이고 240번을 보면 55분정도를 사용한것으로 나오는데요.
이상하게 1번의 읽기 에러 7번의 SEEK 에러가 있습니다.
이때 생각한게 직구한 하드가 불량이구나 생각했습니다.
그러나, 몇가지 검색을 통해 알아본 결과로는 시게이트 하드의 경우 SMART 정보가 조금 일반 다른 하드보다 다르다는 것을 알게 되었습니다.
https://serverfault.com/questions/313649/how-to-interpret-this-smartctl-smartmon-data
위 글을 참고하고, 시게이트의 SMART 의 데이타 시트를 참고하면
https://t1.daumcdn.net/brunch/service/user/axm/file/zRYOdwPu3OMoKYmBOby1fEEQEbU.pdf
바이트단위로 6 5 4 바이트가 읽기 에러임을 알 수 있었습니다.
그럼 위 serverfault 에서 가이드한 대로 명령어를 입력해보면
root@debian:~# smartctl -a /dev/sdb -v 1,raw24/raw32 -v 7,raw24/raw32 |
하위 4바이트가 읽은 바이트 상위 3바이트가 에러 바이트임으로 smartctl 에서 vendor 명령을 지정하여 48비트를 다르게 해석하도록 하면, 아래와 같이 결과가 정상적으로 나오게 됩니다.
휴 일단 다행입니다.
5. 배드섹터 검사 (badblocks)
배드섹터 검사는 아래와 같이 수행이 가능합니다.
root@debian:~# badblocks -s -w -v /dev/sdb |
-s : 진행 상태 표시
-w : 기록하여 검사 (데이터가 파괴됨)
-n : 읽기만 하여 검사 (w랑 같이 사용못함)
-v : 결과 표시
특히 용량이 큰 하드를 검사할 때에는 아래 에러가 발생할 수 있습니다.
badblocks: Value too large for defined data type invalid end block (7814026584): must be 32-bit value |
32비트 영역에 block count 가 안들어온다는 에러인데요. 이때는 아래와 같이 블록 사이즈를 default 512 에서 4096으로 지정하여 검사를 수행할 수 있습니다.
root@debian:~# badblocks -b 4096 -s -w -v /dev/sdb |
16TB하드는 블록사이즈를 8192로 하는게 맞는것 같습니다.
실제로 8TB 하드의 경우 block size 정보를 읽어보면 아래와 같이 4kb 로 나오는데요.
root@debian:~# cat /sys/block/sdb/queue/physical_block_size 4096 |
blocksize 를 어중간하게 6144로 하는 것보다 8192로 하는게 검사 속도가 더 빠를 것으로 추정됩니다.
지금 아래와 같이 진행중이며 시간이 많이 걸립니다.
root@debian:~# badblocks -b 4096 -s -w -v /dev/sdb Checking for bad blocks in read-write mode From block 0 to 1953506645 Testing with pattern 0xaa: 8.66% done, 58:51 elapsed. (0/0/0 errors) |
6. 다음글
4개를 추가 주문하여 배송이 오면 5베이 운영하는 글을 적도록 하겠습니다.
특히 RAID 운영에 대해서는 회의적인 편이며, 어떻게 각개 볼륨을 운영할지에 대해서 추가 작성하도록 하겠습니다.
감사합니다.
7. 배드섹터 검사 (~ing)
root@debian:~# badblocks -b 4096 -s -w -v /dev/sdb Checking for bad blocks in read-write mode From block 0 to 1953506645 Testing with pattern 0xaa: 99.79% done, 14:37:55 elapsed. (0/0/0 errors) |