問題
システムが起動した後、md0 が見つからず、md0 の上で使用されているすべての LV がマウントされていません
# mount -a mount: special device /dev/mapper/vg_test-x0 does not exist mount: special device /dev/mapper/vg_test-y0 does not exist
# cat /etc/mdadm.conf ARRAY /dev/md0 level=raid5 num-devices=6 metadata=0.90 spares=1 UUID=73560e25:92fb30cb:1c74ff07:ca1df0f7
# cat /proc/mdstat Personalities : unused devices: [none]
/dev/md0 が欠落していることを示すその他のデータ:
# mdadm --detail /dev/md0 mdadm: cannot open /dev/md0: No such file or directory
md0 はまったく表示されません。/var/log/messages には、md0 が使用するローカル ディスクの IO の問題は記録されていません。
解決策
エラーは /etc/mdadm.conf の設定が間違っているためです .以下の手順に従って問題を解決してください:
1. まず、考えられるすべての md デバイス イベントをスキャンします。
# mdadm --examine /dev/sd[a-z] | egrep 'Event|/dev/sd'
または、md raid UUID に関する詳細情報を含むすべてのデバイスをスキャンします
# mdadm --examine /dev/sd[a-z]
mdadm inspect コマンドは、利用可能なすべてのディスク情報を確認し、それらが md raid の一部であるかどうかを確認しようとします。
出力例:
# mdadm --examine /dev/sd[a-z] /dev/sdb: Magic : a92b4efc Version : 0.90.00 UUID : 08877d71:d7dc9c1b:16f3496b:a22042b7 Creation Time : Wed Aug 31 14:19:18 2016 Raid Level : raid5 Used Dev Size : 586061696 (558.91 GiB 600.13 GB) Array Size : 2930308480 (2794.56 GiB 3000.64 GB) Raid Devices : 6 Total Devices : 6 Preferred Minor : 0 Update Time : Wed Sep 21 11:33:48 2016 State : clean Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Checksum : 153be7ed - correct Events : 202 Layout : left-symmetric Chunk Size : 64K Number Major Minor RaidDevice State this 0 8 16 0 active sync /dev/sdb 0 0 8 16 0 active sync /dev/sdb 1 1 8 48 1 active sync /dev/sdd 2 2 8 64 2 active sync /dev/sde 3 3 8 80 3 active sync /dev/sdf 4 4 8 96 4 active sync /dev/sdg 5 5 8 112 5 active sync /dev/sdh
したがって、mdadm はその md0 raid の適切な UUID を持つ mdraid デバイスを見つけることができます。md0 の UUID は次のとおりです:08877d71:d7dc9c1b:16f3496b:a22042b7
2. その UUID を /etc/mdadm.conf 内のものと比較します:
# cat /etc/mdadm.conf ARRAY /dev/md0 level=raid5 num-devices=6 metadata=0.90 spares=1 UUID=73560e25:92fb30cb:1c74ff07:ca1df0f7
両方の UUID が実際には一致しません。
3. 各デバイスを md0 raid の一部として指定することで、手動で mdraid をマウントする可能性があります:
# mdadm --assemble /dev/md0 /dev/sdb /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh mdadm: /dev/md0 has been tarted with 6 drives.
# ls -l /dev/md0 brw-r----- 1 root disk 9, 0 Sep 23 11:18 /dev/md0
# mdadm --detail /dev/md0 /dev/md0: Version : 0.90 Creation Time : Wed Aug 31 14:19:18 2016 Raid Level : raid5 Array Size : 2930308480 (2794.56 GiB 3000.64 GB) Used Dev Size : 586061696 (558.91 GiB 600.13 GB) Raid Devices : 6 Total Devices : 6 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Wed Sep 21 11:33:48 2016 State : clean Active Devices : 6 Working Devices : 6 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K UUID : 08877d71:d7dc9c1b:16f3496b:a22042b7 Events : 0.202 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 48 1 active sync /dev/sdd 2 8 64 2 active sync /dev/sde 3 8 80 3 active sync /dev/sdf 4 8 96 4 active sync /dev/sdg 5 8 112 5 active sync /dev/sdh
4. md0 が表示されたら、pv と vg をスキャンします。
# pvscan PV /dev/md0 VG vg_data lvm2 [2.73 TB / 546.56 GB free] Total: 1 [2.73 TB] / in use: 1 [2.73 TB] / in no VG: 0 [0 ]
# vgscan Reading all physical volumes. This may take a while... Found volume group "vg_data" using metadata type lvm2
5. 今すぐ vg を有効化:
# vgchange -a y
6. LV が現在アクティブで表示されているかどうかを確認します
# lvscan ACTIVE '/dev/vg_data/lvm-admin' [200.00 GB] inherit ACTIVE '/dev/vg_data/lvm-backup' [2.00 TB] inherit
7. マウント コマンドを実行します
# mount -a
8. mdadm.conf の間違った UUID を実際に修正するには、以下のコマンドを実行します:
– 現在の mdadm.conf のバックアップを作成
# cp /etc/mdadm.conf /etc/mdadm.conf.bak1
– 現在の構成ファイルを以下のコマンドで置き換えます:
# mdadm --examine --scan > /etc/mdadm.conf
上記のコマンドは、適切な RAID 構成スタンザで /etc/mdadm.conf を更新します。