ubuntu 22.04 TSL 2TB×5台のRAID6の内1台が稼働時間10年を超えていい加減壊れても不思議じゃないので10年超えの1台を交換しました。

交換手順はかなり手荒w

HDDのスロットは上から順番にS-ATAポートの1から繋がってるので今回交換対象HDDは /dev/sdb なんですが、まず smartctl で交換対象HDDのシリアルを念のため調べる

$sudo smartctl -a /dev/sdb
Model Family: Western Digital Green
Device Model: WDC WD20EARX-00PASB0
Serial Number: WD-WCAZA9024761
~
Power_On_Hours 0x0032 001 001 000 Old_age Always - 87606

対象HDDをスロットルから半分引き出しシリアル番号確認してから電源とATAケーブルを動いたまま引き抜くw

一応ホットスワップ対応マザーです。

今回からHDDからSSDへ順次交換していくので引き抜いたところへSSDを接続する

念のためデバイス名を確認する

認識してればsmartctlでも良いし lsblkで確認してもよし

$sudo lsblk
sdb 8:16 0 1.8T 0 disk

大抵の解説サイトを見るとFDISKで領域確保してとか面倒くさい事書いてありますが、RAIDの場合セクターを全て舐めわしてリビルトするのでHDD1台全部の領域を使うなら領域確保は必要ないです。

きなりRAIDに新しいSSDを追加してリビルドを掛けていきます。

$sudo mdadm --add /dev/md0 /dev/sdb

リビルド開始されてるか確認します。

$sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sun Apr 9 19:38:52 2017
Raid Level : raid6
Array Size : 5860147200 (5.46 TiB 6.00 TB)
Used Dev Size : 1953382400 (1862.89 GiB 2000.26 GB)
Raid Devices : 5
Total Devices : 5
Persistence : Superblock is persistent

Rebuild Status : 5% complete

          Name : CentOS7.localdomain:0
          UUID : 5c290b25:f6606417:4fa2eedd:eed67df4
        Events : 240814

Number   Major   Minor   RaidDevice State
   0       8        1        0      active sync   /dev/sda1
   7       8       16        1      spare rebuilding   /dev/sdb
   4       8       33        2      active sync   /dev/sdc1
   5       8       49        3      active sync   /dev/sdd1
   6       8       64        4      active sync   /dev/sde

mdstat の内容の方が分かりやすいと思う

$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid6 sdb[7] sda1[0] sdd1[5] sdc1[4] sde[6]
5860147200 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/4] [U_UUU]
[======>…………..] recovery = 33.2% (648739104/1953382400) finish=398.9min speed=54503K/sec
bitmap: 1/15 pages [4KB], 65536KB chunk

こうなったら完了です。

$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [raid10]
md0 : active raid6 sda1[0] sde[6] sdc1[4] sdd1[5] sdb[7]
5860147200 blocks super 1.2 level 6, 512k chunk, algorithm 2 [5/5] [UUUUU]
bitmap: 0/15 pages [0KB], 65536KB chunk