Ubuntu日本語フォーラム
ログインしていません。
はじめまして。
ソフトウェアRAID(RAID5)を使用しておりましたが、先日私のうっかりで
RAID環境を壊してしまい、復旧の仕方がわからず困ってます。
できればもとのデータは復旧させたいです。
復旧させる方法をご存知な方いらっしゃいましたら、
どなたかご教授ください。
①背景
Ubuntu 22.04.2 LTSを使用し、3台のHDDでソフトウェアRAID(RAID5)を組んでおります。
手持ちの電源ユニットの供給量が足らない状況から、1台のHDDは別の電源から供給しております。
②問題
上記別電源のHDDを電源起動せずにPCを起動してしまったところ、当然のことながら
HDDが物理的に認識されず、RAIDのデータも認識できない状況となりました。
改めて別電源のHDDを起動してからPC再起動しましたが、HDD自体はosから認識されましたが、
RAIDの復旧ができず困ったことになりました。
③対応した内容
以下、復旧作業でおこなった履歴を添付します。
残念ながら正常時と復旧前(障害直後)の証跡はのこしてません。。。
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sdc1[1](S) sdb1[0](S) sdd1[3](S)
6054113455 blocks super 1.2
上記のとおりmd0(RAID5として作成したドライブ名)がINACTIVE
sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Raid Level : raid5
Total Devices : 3
Persistence : Superblock is persistent
State : inactive
Working Devices : 3
Name : yushi-desktop:0 (local to host yushi-desktop)
UUID : ca937386:938fa978:6066b98d:8cb7e288
Events : 126941
Number Major Minor RaidDevice
- 8 49 - /dev/sdd1
- 8 33 - /dev/sdc1
- 8 17 - /dev/sdb1
# sudo mdadm --assemble /dev/md/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 --run
mdadm: /dev/sdb1 is busy - skipping
mdadm: /dev/sdc1 is busy - skipping
mdadm: /dev/sdd1 is busy - skipping
それぞれのDeviceがbusyのためコマンドがスキップされます。
mdadm --add /dev/md0 /dev/sdb1
mdadm: error opening /dev/md0: Permission denied
mdadm --add /dev/md0 /dev/sdc1
mdadm: error opening /dev/md0: Permission denied
mdadm --add /dev/md0 /dev/sdd1
mdadm: error opening /dev/md0: Permission denied
mdadm --add /dev/md0 /dev/sdb1
mdadm: error opening /dev/md0: Permission denied
sudo mdadm --assemble /dev/md/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 --scan
mdadm: /dev/sdb1 not identified in config file.
mdadm: /dev/sdc1 not identified in config file.
mdadm: /dev/sdd1 not identified in config file.
オフライン
お世話になっております。1年ぶりに復旧作業を再開したところ。復旧できました!
原因はわかりませんが、sdc1が何かしら不具合あったのかもしれません。(これが昨年電源停止したhddか?は不明)。とりあえず復旧したので良しとします。お騒がせしました。
一応、下記に復旧時のコマンドをのこしておきます。
①状態確認
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sdc1[1](S) sdd1[3](S) sdb1[0](S)
6054113455 blocks super 1.2
②raidの停止
sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0
③状態確認
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
unused devices: <none>
※inactiveからunuseddeviceに表示が変わった
④詳細確認
sudo mdadm --detail /dev/md0
mdadm: cannot open /dev/md0: No such file or directory
※前回細表示されていた内容がNO SUCH 〜に切り替わった
⑤RAIDの強制開始
sudo mdadm --assemble --force /dev/md/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1
mdadm: forcing event count in /dev/sdd1(2) from 126941 up to 126944
mdadm: clearing FAULTY flag for device 2 in /dev/md/md0 for /dev/sdd1
mdadm: Marking array /dev/md/md0 as 'clean'
mdadm: /dev/md/md0 has been started with 2 drives (out of 3).
”mdadm: /dev/sdb1 is busy – skipping”が表示されず。うまく開始された
⑥状態確認
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdb1[0] sdd1[3]
3906762752 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
bitmap: 14/15 pages [56KB], 65536KB chunk
unused devices: <none>
md0がACTIVEになった。ただし、sdc1が追加されていない状態。
⑦SDC1を追加
sudo mdadm --add /dev/md0 /dev/sdc1
mdadm: re-added /dev/sdc1
オフライン