投げ銭

★当サイトへの投げ銭(PayPal)★

LINK


(無償、寄付歓迎) logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)

★LibreOfficeの導入事例★
詳細について

人気の投稿(1ヶ月間)

Ad

Ad

投げ銭

★当サイトへの投げ銭(PayPal)★

2021年3月20日土曜日

【Linux Raspbian】mdadmソフトウェアミラーリングアレイの「削除」について【mdadm アレイ削除】


Linux(Raspbian)のソフトウェアRAIDで、ミラーリング(RAID1)アレイを構成し動作させている。
このアレイはデータ領域として特定のディレクトリに自動マウントされている。

このアレイに対するテストや、削除の手順を記載している。

アレイの削除手順をすぐに試す場合は、「■アレイの削除手順の模索」の番号1〜3の手順に記載するコマンドを実行すればよい。

この記事に登場するコマンドを実行すると意図せずデータを喪失する危険性があります。
十分に動作検証した上で試すようにしてください。



■削除するアレイの状態を確認した

正常にRAIDアレイが動作している状態だとわかった。

root@raspberrypi:/home/pi# cat /proc/mdstat
Personalities : [raid1] 
md0 : active raid1 sda1[0] sdb1[1]
      975453184 blocks super 1.2 [2/2] [UU]
      bitmap: 0/8 pages [0KB], 65536KB chunk

unused devices: <none>


詳細を表示した。

root@raspberrypi:/home/pi# mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun Mar 14 13:03:08 2021
        Raid Level : raid1
        Array Size : 975453184 (930.26 GiB 998.86 GB)
     Used Dev Size : 975453184 (930.26 GiB 998.86 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Mar 14 21:39:20 2021
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : raspberrypi:0  (local to host raspberrypi)
              UUID : a943d355:2f4635c6:78eeb869:ad4d732d
            Events : 2335

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1


マウントがされていることを確認した。

root@raspberrypi:/home/pi# mount | grep md0
/dev/md0 on /mnt/storage type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)



■削除前にアレイに対して色々テストを行った(その1)

(テスト1)

アレイが動作している状態では、アンマウントはできなかった。

root@raspberrypi:/home/pi# umount /dev/md0
umount: /mnt/storage: target is busy.

(テスト2)
アレイが動作している状態では、アレイを停止させられなかった。

root@raspberrypi:/home/pi# mdadm --stop /dev/md0
mdadm: Cannot get exclusive access to /dev/md0:Perhaps a running process, mounted filesystem or active volume group?

(テスト3)
アレイが動作している状態では、アレイを構成しているディスクをお役御免にすることもできなかった。

root@raspberrypi:/home/pi# mdadm --misc --zero-superblock /dev/sda1 /dev/sdb1
mdadm: Couldn't open /dev/sda1 for write - not zeroing
mdadm: Couldn't open /dev/sdb1 for write - not zeroing



■削除前にアレイに対して色々テストを行った(その2)

1、強制的に構成のディスクをフェイルにセットしてみた。
これにより片側のディスクだけフェイルにセットされた。

root@raspberrypi:/home/pi# mdadm --fail /dev/md0 /dev/sda1
mdadm: set /dev/sda1 faulty in /dev/md0

2、しかし残りのディスクについてはフェイルにセットできなかった。

root@raspberrypi:/home/pi# mdadm --fail /dev/md0 /dev/sdb1
mdadm: set device faulty failed for /dev/sdb1:  Device or resource busy 

root@raspberrypi:/home/pi# mdadm --manage --set-faulty /dev/md0 /dev/sdb1
mdadm: set device faulty failed for /dev/sdb1:  Device or resource busy

3、この段階で詳細情報を表示させた。

root@raspberrypi:/home/pi# mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun Mar 14 13:03:08 2021
        Raid Level : raid1
        Array Size : 975453184 (930.26 GiB 998.86 GB)
     Used Dev Size : 975453184 (930.26 GiB 998.86 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Mon Mar 15 02:36:45 2021
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 1
     Spare Devices : 0

Consistency Policy : bitmap

              Name : raspberrypi:0  (local to host raspberrypi)
              UUID : a943d355:2f4635c6:78eeb869:ad4d732d
            Events : 2337

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       17        1      active sync   /dev/sdb1

       0       8        1        -      faulty   /dev/sda1


■アレイの削除手順の模索

途中にテストを挟んでいるので、アレイの削除をいきなりしたい場合は、
番号1〜3の手順のコマンドを実行するとよい。

1、自動マウントしないように設定して再起動した。

次のように、アレイを自動マウントする設定をコメントアウトした。

root@raspberrypi:/home/pi# nano /etc/fstab
#UUID="aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"   /mnt/storage      xfs    defaults,auto,rw,nofail   0       2
root@raspberrypi:/home/pi# reboot


再起動後、アレイの状態を表示させた。
(上記のテストで、ディスクの片側をフェイルにしたので片側動作状態である。)

root@raspberrypi:/home/pi# cat /proc/mdstat
Personalities : [raid1] 
md0 : active (auto-read-only) raid1 sdb1[1]
      975453184 blocks super 1.2 [2/1] [_U]
      bitmap: 2/8 pages [8KB], 65536KB chunk

unused devices: <none>

詳細情報の表示
(上記のテストで、ディスクの片側をフェイルにしたので片側動作状態である。)

root@raspberrypi:/home/pi# mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun Mar 14 13:03:08 2021
        Raid Level : raid1
        Array Size : 975453184 (930.26 GiB 998.86 GB)
     Used Dev Size : 975453184 (930.26 GiB 998.86 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Mon Mar 15 02:42:35 2021
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : raspberrypi:0  (local to host raspberrypi)
              UUID : a943d355:2f4635c6:78eeb869:ad4d732d
            Events : 2339

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       17        1      active sync   /dev/sdb1

(テスト)

アレイを停止させた。

root@raspberrypi:/home/pi# mdadm --stop /dev/md0
mdadm: stopped /dev/md0

アレイの状態を表示させるが、アレイは表示されなくなった。

root@raspberrypi:/home/pi# cat /proc/mdstat
Personalities : [raid1] 
unused devices: <none>
root@raspberrypi:/home/pi# mdadm --detail /dev/md0
mdadm: cannot open /dev/md0: No such file or directory

アレイのmd0デバイスが認識されない状態なので、
アレイを構成していたディスクをフェイルにセットすることもできなかった。

root@raspberrypi:/home/pi# mdadm --manage --set-faulty /dev/md0 /dev/sdb1
mdadm: error opening /dev/md0: No such file or directory

同様に、アレイから構成ディスクを解除する操作も無効となった。
root@raspberrypi:/home/pi# mdadm --manage /dev/md0 -r /dev/sdb1
mdadm: error opening /dev/md0: No such file or directory

ここで、再起動をかけてみた。

root@raspberrypi:/home/pi# reboot


再起動後、自動的にアレイが動作開始した。
これはアレイを構成するディスクに構成情報が記録されているためだろう。

root@raspberrypi:/home/pi# cat /proc/mdstat
Personalities : [raid1] 
md0 : active (auto-read-only) raid1 sdb1[1]
      975453184 blocks super 1.2 [2/1] [_U]
      bitmap: 2/8 pages [8KB], 65536KB chunk

unused devices: <none>
root@raspberrypi:/home/pi# mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun Mar 14 13:03:08 2021
        Raid Level : raid1
        Array Size : 975453184 (930.26 GiB 998.86 GB)
     Used Dev Size : 975453184 (930.26 GiB 998.86 GB)
      Raid Devices : 2
     Total Devices : 1
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Mon Mar 15 02:42:35 2021
             State : clean, degraded 
    Active Devices : 1
   Working Devices : 1
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : bitmap

              Name : raspberrypi:0  (local to host raspberrypi)
              UUID : a943d355:2f4635c6:78eeb869:ad4d732d
            Events : 2339

    Number   Major   Minor   RaidDevice State
       -       0        0        0      removed
       1       8       17        1      active sync   /dev/sdb1

そこで、最初のアレイを停止させる手順からやりなおした。


2、アレイをストップさせた。

アレイはmdXという名前とする。

root@raspberrypi:/home/pi# mdadm --stop /dev/mdX
mdadm: stopped /dev/md0

3、アレイを構成するディスクの情報を消去した。

アレイを構成しているディスクのパーティションは、sdA1と、SdB1とする。

(注意)次のコマンドで、アレイの情報が消去され、データを喪失する。
ただし、ディスク上にはデータが記録されたままだと考えられるので、完全消去にはディスク全体の0書き込みなどの処理が必要になる。

root@raspberrypi:/home/pi# mdadm --misc --zero-superblock /dev/sdA1 /dev/sdB1


そして、再起動した。
root@raspberrypi:/home/pi# reboot

今度は再起動後も、アレイは復活しなかった。

root@raspberrypi:/home/pi# cat /proc/mdstat
cat: /proc/mdstat: No such file or directory

root@raspberrypi:/home/pi# mdadm --detail /dev/mdX
mdadm: cannot open /dev/md0: No such file or directory

以上のことから、アレイが削除できたと判断した。


投げ銭

★当サイトへの投げ銭(PayPal)★

Ad

Ad