石原 博の覚書

電子工作に関する日々の覚書を記載します

ハードディスクが壊れたので交換

2022-08-09 14:31:41 | 日記

2022/8/6 ディスクが1本故障。ソフトウエアでraid1(2TB+2TB)を使用していたためデータは無事というものの、いつもう一本故障するかもしれない。 急ぎディスクを注文。最近価格が安くなっているので思い切って8TBディスク2本とした。

8/7朝に宅配便で到着(便利になったものだ)。1本目の交換をすぐに行い一旦休止。 8/8夜から2本目の交換を行い、8/9昼には終了した。

ここでは今後の参考にリビルドと領域拡張について記録する。

  • 構成

    • Debian GNU/Linux 10 (buster)
    • sda 1TBに/を置き、2TBのraid1(sdb,sdc)に/home, /etc, /var 等ディレクトリを置く。
  • ディスクの故障状況(気づいた時にはsdbが既に故障して切り離されていた)

    $ cat /proc/mdstat
    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]  
    md0 : active raid1 sdc1[2]
          1953382336 blocks super 1.2 [2/1] [U_]
    
    unused devices: 
    

                2TBのディスクが4.1GBと認識されている。

                

  • PCを停止

    $ sudo shutdown -h now
    
  • 故障したディスクを交換し起動

  • 新規ディスクにパーティション作成(2TB超えのためpartedを使用)

    $ sudo parted -s /dev/sdb print
    Error: /dev/sdb: unrecognised disk label
    Model: ATA WDC WD80EAZZ-00B (scsi)
    Disk /dev/sdb: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: unknown
    Disk Flags:
    $ sudo parted /dev/sdb
    GNU Parted 3.2
    Using /dev/sdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel gpt
    (parted) mkpart primary 0% 100%
    (parted) print
    Model: ATA WDC WD80EAZZ-00B (scsi)
    Disk /dev/sdb: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     Flags
     1      1049kB  8002GB  8002GB               primary
    
    (parted) set 1 raid on
    (parted) print
    Model: ATA WDC WD80EAZZ-00B (scsi)
    Disk /dev/sdb: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     Flags
     1      1049kB  8002GB  8002GB               primary  raid
    
    (parted) quit
    Information: You may need to update /etc/fstab.
    
  • 新規ディスクのraidへ参加

    $ sudo mdadm --manage /dev/md0 --add /dev/sdb1
    mdadm: added /dev/sdb1
    $ cat /proc/mdstat
    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
    md0 : active raid1 sdb1[3] sdc1[2]
          1953382336 blocks super 1.2 [2/1] [U_]
          [>....................]  recovery =  0.0% (381952/1953382336) finish=596.5min speed=54564K/sec
    
    unused devices: 
    $ cat /proc/mdstat
    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
    

    md0 : active raid1 sdb1[3] sdc1[2] 1953382336 blocks super 1.2 [2/1] [U_] [>....................] recovery = 0.3% (6095552/1953382336) finish=792.1min speed=40970K/sec

    unused devices: 
    
  • リビルド完了まで待つ(12時間ぐらいかかった)
    これでデータは安心だが、2TBと8TBでのraid1(容量としては2TBのみ)。故障していない2TB側も交換する。

  • リビルド完了後に、2TBのデスク切り離しのためfail、removeする

    $ cat /proc/mdstat
    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
    md0 : active raid1 sdb1[3] sdc1[2]
          1953382336 blocks super 1.2 [2/2] [UU]
    
    unused devices: 
    $ sudo mdadm --manage /dev/md0 --fail /dev/sdc1
    mdadm: set /dev/sdc1 faulty in /dev/md0
    $ sudo mdadm --manage /dev/md0 --remove /dev/sdc1
    mdadm: hot removed /dev/sdc1 from /dev/md0
    $ sudo cat /proc/mdstat
    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
    md0 : active raid1 sdb1[3]
          1953382336 blocks super 1.2 [2/1] [_U]
    
    unused devices: 
    
  • PCを停止

    $ sudo shutdown -h now
    
  • 2TBのディスクを8TB新規ディスクに交換し起動

  • 新規ディスクにパーティション作成(2TB超えのためpartedを使用)

    $ sudo parted -s /dev/sdc print
    Error: /dev/sdc: unrecognised disk label
    Model: ATA WDC WD80EAZZ-00B (scsi)
    Disk /dev/sdc: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: unknown
    Disk Flags:
    $ sudo parted /dev/sdc
    GNU Parted 3.2
    Using /dev/sdc
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) mklabel gpt
    (parted) mkpart primary 0% 100%
    (parted) print
    Model: ATA WDC WD80EAZZ-00B (scsi)
    Disk /dev/sdc: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     Flags
     1      1049kB  8002GB  8002GB               primary
    
    (parted) set 1 raid on
    (parted) print
    Model: ATA WDC WD80EAZZ-00B (scsi)
    Disk /dev/sdc: 8002GB
    Sector size (logical/physical): 512B/4096B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     Flags
     1      1049kB  8002GB  8002GB               primary  raid
    
    (parted) quit
    Information: You may need to update /etc/fstab.
    
  • 8TBディスクをraidへ参加

    $ sudo mdadm --manage /dev/md0 --add /dev/sdc1
    mdadm: added /dev/sdc1
    $ sudo cat /proc/mdstat
    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
    md0 : active raid1 sdc1[2] sdb1[3]
          1953382336 blocks super 1.2 [2/1] [_U]
          [>....................]  recovery =  0.0% (645952/1953382336) finish=554.2min speed=58722K/sec
    
    unused devices: 
    
  • リビルド完了まで待つ(14時間ぐらいかかった)

  • ディスクの領域拡張
    raid1なので、不必要な同期をしないように --assume-clean をつけておく

    $ sudo mdadm --grow /dev/md0 --size=max --assume-clean
    mdadm: component size of /dev/md0 has been set to 7813894144K
    $ sudo resize2fs -p /dev/md0
    resize2fs 1.44.5 (15-Dec-2018)
    Filesystem at /dev/md0 is mounted on /home; on-line resizing required
    old_desc_blocks = 117, new_desc_blocks = 466
    The filesystem on /dev/md0 is now 1953473536 (4k) blocks long.
    
  • ディスクの状況

    $ cat /proc/mdstat
    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
    md0 : active raid1 sdb1[3] sdc1[2]
          7813894144 blocks super 1.2 [2/2] [UU]
    

以上で終了。



最新の画像もっと見る

コメントを投稿