1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HDDを流用しようと思って間違ったHDDを初期化しちゃった話

Last updated at Posted at 2024-02-11

概要

自宅にあるマイクラサーバーでRAID1をしているストレージをSynologyに移行しようと思って、RAIDを切り離してHDDをNASに流用しようとしてたら別のHDDを初期化しちゃった。

構成

  • Ubuntu 22.04.3
  • mdadmで/dev/md0と/dev/md1を構築してあり、今回切り離して取り外す予定はmd1
    • md0→/dev/sda1 /dev/sdb1
    • md1→/dev/sdc1 /dev/sdd1

なにしちゃったの?

RAIDを止めて切り離した後に初期化をしようとしてsudo fdisk /dev/sddでパーティションを削除しようとしたら、sudo fdisk /dev/sdbでパーティション削除しちゃった

対処

RAID1なのでなんとかなるやろと思って一回再起動したらレスキューモードになりました。レスキューモードでは強制的にrootになっていたので、とりあえずメッセージに従ってsystemd rebootするもそんな物無いというメッセージがでました。どうしようもないのでハードリセット。
そもそもどうしてレスキューになるのかと起動時のメッセージを見ていると、マウントに失敗しているためだったのでまずはレスキューモードで

vim /etc/fstab

をしてmd0にマウントしているものをコメントアウトしました。
すると正常に起動しました。

起動後md0の状態をみるとsdbがロストした状態(sdaしか表示されていない状態)でinactiveになっていたので、

sudo mdadm --stop /dev/md0

をしました。その後、sudo fdisk /dev/sdbでパーティションを削除・作成しなおして、md0を組み直そうとしましたが失敗しました。

$ sudo mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm: /dev/sda1 appears to contain an ext2fs file system
       size=976761540K  mtime=Tue Aug 30 21:31:47 2022
mdadm: /dev/sda1 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Sun Dec 11 18:10:12 2022
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: super1.x cannot open /dev/sdb1: Device or resource busy
mdadm: /dev/sdb1 is not suitable for this array.
mdadm: create aborted

調べてみるとスーパーブロックを消してしまった話をまとめられていた方がいらっしゃったのでその方の記事を参考に、一度RAID1をsdaのみで組んでadbを後から追加してリビルドしたらどうかと考えました。

$ sudo mdadm --create /dev/md0 --level=raid1 --raid-devices=2 /dev/sda1 missing
mdadm: /dev/sda1 appears to contain an ext2fs file system
       size=976761540K  mtime=Tue Aug 30 21:31:47 2022
mdadm: /dev/sda1 appears to be part of a raid array:
       level=raid1 devices=2 ctime=Sun Dec 11 18:10:12 2022
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array?
Continue creating array? (y/n) y
mdadm: Fail to create md0 when using /sys/module/md_mod/parameters/new_array, fallback to creation via node
mdadm: /dev/md0 is already in use.

「アレイが組めない」みたいなエラーが出ていますが、1台だけなのでこうなるのかなと思いました。ついでにマウントもできました。

sudo mount /dev/md0 /backup

このままだと、RAID1といいつつ1台なので何の冗長性もありません。間違って消してしまったsdbを使って早いところリビルドをしようと思いましたが、リビルドをしたことがなかったので検索をしました。
mdadmのRAID構築についてまとめてくださっている方がいらっしゃったのでその方の記事を参考にリビルドをしました。リビルドと言ってもHDDを追加するだけでした。

$ sudo mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: added /dev/sdb1

追加をすると自動でリビルドが始まりました。



$ sudo mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Sun Feb 11 16:33:55 2024
        Raid Level : raid1
        Array Size : 976628736 (931.39 GiB 1000.07 GB)
     Used Dev Size : 976628736 (931.39 GiB 1000.07 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

     Intent Bitmap : Internal

       Update Time : Sun Feb 11 16:35:57 2024
             State : clean, degraded, recovering
    Active Devices : 1
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 1

Consistency Policy : bitmap

    Rebuild Status : 0% complete

              Name : ---:0  (local to host minecraftserver)
              UUID : ---
            Events : 8

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

lsblkをしてみるとちゃんとmd0で使われていることが確認できます。
image.png
1TBなのでそんなに時間はかからないんじゃないかなと思ってます。
まさかこんなミスをするとは思っていませんでしたが、RAID1に助けられました。よく見て作業をしましょう…。

教訓

  • デバイス名はよく見よう
  • 目的が取り外しなら、本番環境で初期化とか怖いことはしないようにしよう
  • mdadmの理解を深めよう

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?