LoginSignup
6
3

More than 5 years have passed since last update.

ソフトウェアRAIDのディクスが1本壊れたので交換してみる。

Last updated at Posted at 2017-01-23

作業メモ

久しぶりのDISK交換なので、作業メモを残しておきます。
自宅鯖で、一部RAID1構成を使ってる環境です。
今回はデータ用に使ってるDISKの内1本が逝きました。

構成

  • CentOS6
  • パーティションでRAID1

1.RAID状態の確認

# cat /proc/mdstat
Personalities : [raid1] 
md1 : active raid1 sdc1[1] sdd1[2](F)
      1073610560 blocks super 1.2 [2/1] [_U]

unused devices: <none>

一本落ちてる。orz

落ちた日時の確認

# grep 'md/raid1' /var/log/messages*
/var/log/messages:Jan 19 22:38:27 HostName kernel: md/raid1:md1: Disk failure on sdd1, disabling device.
/var/log/messages:Jan 19 22:38:27 HostName kernel: md/raid1:md1: Operation continuing on 1 devices.

詳細の確認

# mdadm --detail /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Mon Dec  2 13:54:11 2013
     Raid Level : raid1
     Array Size : 1073610560 (1023.87 GiB 1099.38 GB)
  Used Dev Size : 1073610560 (1023.87 GiB 1099.38 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Fri Jan 20 06:32:15 2017
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

           Name : HostName:1  (local to host HostName)
           UUID : cdb47a47:66aec9bd:c1ca2b5b:14d1aa95
         Events : 547

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       33        1      active sync   /dev/sdc1

       2       8       49        -      faulty   /dev/sdd1

2.RAIDからDISKを切り離す

# mdadm /dev/md1 --remove /dev/sdd1
mdadm: hot removed /dev/sdd1 from /dev/md1

DISKの切り離した後の確認

# mdadm --detail /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Mon Dec  2 13:54:11 2013
     Raid Level : raid1
     Array Size : 1073610560 (1023.87 GiB 1099.38 GB)
  Used Dev Size : 1073610560 (1023.87 GiB 1099.38 GB)
   Raid Devices : 2
  Total Devices : 1
    Persistence : Superblock is persistent

    Update Time : Fri Jan 20 14:34:47 2017
          State : clean, degraded 
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           Name : HostName:1  (local to host HostName)
           UUID : cdb47a47:66aec9bd:c1ca2b5b:14d1aa95
         Events : 548

    Number   Major   Minor   RaidDevice State
       0       0        0        0      removed
       1       8       33        1      active sync   /dev/sdc1

3.DISKを交換する

ちょうど、同じ型番のDISKが余ってたので、それと入れ替える。

注意
再起動時に、DISKチェックとか走る場合があるので、起動DISK以外を自動マウントしないように調整しておく。
/etc/fstab を編集して該当のパーティションをコメントアウトしておく。
 ->Rootパスワードも忘れて、起動できなくてハマりましたw

4.交換したDISKにパーティションを作る

同じ構成になる元DISKの情報を確認

「/dev/sdc1」と「/dev/sdd1」でRAID構成

# parted /dev/sdc -s unit s -s p
モデル: ATA WDC WD20EFRX-68E (scsi)
ディスク /dev/sdc: 3907029168s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

番号  開始         終了         サイズ       ファイルシステム  名前              フラグ
 1    2048s        2147485695s  2147483648s                    Linux RAID        raid
 2    2147485696s  3907029134s  1759543439s  ext4              Linux filesystem

交換したDISKにパーティションを作成

2GのDISKを半分RAID・半分そのままなので、合わせて作成する。

# parted /dev/sdd
(parted) p
モデル: ATA WDC WD20EFRX-68E (scsi)
ディスク /dev/sdd: 3907029168s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

(parted) mkpart
パーティションの名前?  []? 'Linux RAID'                                   
ファイルシステムの種類?  [ext2]?                                          
開始? 2048s
終了? 2147485695s
(parted) set 1 raid on
(parted) mkpart
パーティションの名前?  []? 'Linux filesystem'                             
ファイルシステムの種類?  [ext2]? ext4                                     
開始? 2147485696s                                                         
終了? 3907029134s                                                         
(parted) p                                                            
モデル: ATA WDC WD20EFRX-68E (scsi)
ディスク /dev/sdd: 3907029168s
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

番号  開始         終了         サイズ       ファイルシステム  名前              フラグ
 1    2048s        2147485695s  2147483648s                    Linux RAID        raid
 2    2147485696s  3907029134s  1759543439s                    Linux filesystem

(parted) q                                                                
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。 

5.RAIDにDISKを追加する

「/dev/md1」に「/dev/sd/sdd1」を追加

# mdadm --manage  /dev/md1 --add /dev/sdd1
mdadm: added /dev/sdd1

DISKを追加後の確認

# mdadm --detail /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Mon Dec  2 13:54:11 2013
     Raid Level : raid1
     Array Size : 1073610560 (1023.87 GiB 1099.38 GB)
  Used Dev Size : 1073610560 (1023.87 GiB 1099.38 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon Jan 22 21:38:15 2017
          State : clean, degraded, recovering 
 Active Devices : 1
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 1

 Rebuild Status : 0% complete

           Name : HostName:1  (local to host HostName)
           UUID : cdb47a47:66aec9bd:c1ca2b5b:14d1aa95
         Events : 588

    Number   Major   Minor   RaidDevice State
       2       8       49        0      spare rebuilding   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

後はリビルドが終わるのを待つ

# cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sdd1[2] sdc1[1]
      1073610560 blocks super 1.2 [2/1] [_U]
      [=>...................]  recovery =  6.9% (74689024/1073610560) finish=110.7min speed=150265K/sec

unused devices: <none>

後ちょっと。

# cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sdd1[2] sdc1[1]
      1073610560 blocks super 1.2 [2/1] [_U]
      [===================>.]  recovery = 99.9% (1073386176/1073610560) finish=0.0min speed=119800K/sec

終わった。

# cat /proc/mdstat 
Personalities : [raid1] 
md1 : active raid1 sdd1[2] sdc1[1]
      1073610560 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ここでも確認

# mdadm --detail /dev/md1
/dev/md1:
        Version : 1.2
  Creation Time : Mon Dec  2 13:54:11 2013
     Raid Level : raid1
     Array Size : 1073610560 (1023.87 GiB 1099.38 GB)
  Used Dev Size : 1073610560 (1023.87 GiB 1099.38 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Mon Jan 22 22:52:32 2017
          State : clean 
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : HostName:1  (local to host HostName)
           UUID : cdb47a47:66aec9bd:c1ca2b5b:14d1aa95
         Events : 620

    Number   Major   Minor   RaidDevice State
       2       8       49        0      active sync   /dev/sdd1
       1       8       33        1      active sync   /dev/sdc1

6.いろいろ設定を元に戻す

変更したfstabとかを確認して元に戻す。

実際は、物理的に交換が終わったら1本状態で稼働させてました。

まとめ

  • DISK交換めんどくさい。
  • rootパスワード忘れてたw(USBから別OSで起動してごにょっとしました。orz)
  • ディスプレイレスの運用なので、ディスプレイ・キーボード・マウスまで用意した。
  • fstabの編集忘れて色々大変だった。
  • 今回のDISKは、「WD RED」だけどRMAでの保証期間も過ぎてたw
  • これから壊れたDISKのサルベージ大会。

おまけ

「/dev/sdd2」の方も使えるようにしておく

フォーマット

# mkfs.ext4 -m 0 /dev/sdd2 
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=1 blocks, Stripe width=0 blocks
54992896 inodes, 219942929 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
6713 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

調整

#  tune2fs -c -1  -i 0 /dev/sdd2
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3