別のシステム(Raspberry Pi のRaspbian)においてmdadmで構築したRAID1(ミラーリング)アレイを構築していた。
このミラーリングアレイの2台のディスクの内、1台のUSBハードディスクを外して他のLinuxマシンに接続しマウントしようとした。
そのときの手順のまとめである。
◯システムの情報
Linux Mintである。ここの /mnt/disk にミラーアレイの構成ディスク1台をマウントしたい。
$ cat /etc/lsb-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=19.3
DISTRIB_CODENAME=tricia
DISTRIB_DESCRIPTION="Linux Mint 19.3 Tricia"
$ uname -a
Linux 5.0.0-32-generic #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
◯mdadmのインストール
デフォルトではmdadmが入ってなかったのでインストールした。
インストールするやいなや自動的にディスクスキャンが開始された。
これはアレイのメタ情報を検索してシステム上のRAIDアレイを認識しようとしているのだろう。
# apt install mdadm
◯アレイの状態を確認した
ミラーリングアレイの構成ディスクだったUSBハードディスクは、このシステム上では /dev/sdd として認識されていた。
その第一パーティションがミラーリングアレイの構成デバイスだった。
このパーティションは、このシステム上では /dev/sdd1 として認識された。
そこで、次のようにアレイとしての状態を確認した。
# mdadm --examine /dev/sdd1
/dev/sdd1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : eeeeeeee:ffffffff:gggggggg:hhhhhhhh
Name : raspberrypi:0
Creation Time : Thu Aug 27 08:19:06 2020
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 1950906368 (930.26 GiB 998.86 GB)
Array Size : 975453184 (930.26 GiB 998.86 GB)
Data Offset : 264192 sectors
Super Offset : 8 sectors
Unused Space : before=264112 sectors, after=0 sectors
State : clean
Device UUID : aaaaaaaa:bbbbbbbb:cccccccc:dddddddd
Internal Bitmap : 8 sectors from superblock
Update Time : Sun Jan 10 19:37:14 2021
Bad Block Log : 512 entries available at offset 16 sectors
Checksum : df9ad670 - correct
Events : 4003
アレイとしては問題なさそうである。
◯エラーのためmd0をマウントできなかった
上記のディスクを接続すると、mdadmによって自動的にRAIDアレイが認識され、/dev/md0 という名称でデバイスとして認識できるようになった。
この名称は、前のシステム(Raspbian)で構成したとおりである。
ところが、この/dev/md0 をこちらのシステムでマウントしようとしてもうまくいかなかった。
同じシステムにおいてディスクツール(gnome-disks)では、/dev/md0 内にはファイルシステムが確認できない状態になっていた。
# mount /dev/md0 /mnt/disk/
mount: /mnt/disk: can't read superblock on /dev/md0.
◯そこで次の復帰手順を試した
アレイが正しく認識されていないためにこの問題が生じているらしい。(†1)
まずアレイを停止した。これによって、/dev/md0 が消えた。
(アレイ構成デバイスとしての /dev/sdd1 は認識されている。)
# mdadm --stop /dev/md0
つづいて、次のコマンドを実行した。
# mdadm --assemble --scan
mdadm: /dev/md/0 has been started with 1 drive (out of 2).
すると、うまくmd0デバイスが認識されるようになり、ファイルシステムが見えるようになった。
そして、ファイルシステムのマウントにも成功した。
以後、このシステムでは、アレイの構成ディスクであるそのUSBハードディスクを接続すると自動で、/dev/md0 が正しく認識されるようになった。
<参考>
(1) mdadm raid doesn't mount
< https://unix.stackexchange.com/questions/148062/mdadm-raid-doesnt-mount/149177 > 2021年4月5日
(2) How to mount software RAID1 member using mdadm
< https://sleeplessbeastie.eu/2012/05/08/how-to-mount-software-raid1-member-using-mdadm/ > 2021年4月5日
(3) RAID superblock formats
< https://raid.wiki.kernel.org/index.php/RAID_superblock_formats > 2021年4月7日