最近、新しいDebian 9(「ストレッチ」)マシンをインストールしました。
最初は2台のドライブがありました。私はDebianインストーラを使用してそれらをRAID1として構成し、/dev/md0
/etc/mdadm/mdadm.conf:
含む
# definitions of existing MD arrays
ARRAY /dev/md/0 metadata=1.2 UUID=3d21d0e0:2758c58e:962b5191:98e225c1 name=MYHOSTNAME:0
および/proc/mdstat
表示:
md0 : active raid1 sda1[0] sdb1[1]
488253440 blocks super 1.2 [2/2] [UU]
bitmap: 0/4 pages [0KB], 65536KB chunk
そのデバイスは、ext4
としてフォーマットし、UUIDによって/etc/fstab
の「/」としてマウントしました。期待どおり、すべて正常に動作します。
後で、さらに大きなドライブをさらに2つ追加しました。それらをパーティション化し(最初に小さなスワップパーティションを使用)、mdadm -C -n 2 -l raid1 /dev/md1 /dev/sdc2 /dev/sdd2
を使用して構成しました(ルートのシェル履歴にまだ残っているため、これは確かに私がやったことであり、いくつかのmdadm --examine /dev/md1
とmdadm --detail --verbose /dev/md1
)。
/etc/mdadm/mdadm.conf
にも行を追加しました(最初のデバイスのパターンの直後):
ARRAY /dev/md/1 metadata=1.2 UUID=47492bd7:08d1fd1c:418dad41:2aa7d77f name=MYHOSTNAME:1
そしてもちろん、私はext4
でデバイスをフォーマットし、/etc/fstab
にUUIDエントリを追加して、これを選択した/data
マウントポイントにマウントしました。
それはすべて正常に機能しているようで、マシンを複数回再起動した後も、新しいディスクに対して大量のrsyncを実行してきました。
しかし、今日、etc/mtabと/ proc/mdstatをちらっと見たところ、/ dev/md1が消えて、/ dev/md127(/ proc/mdstat内)および/または/ dev/md127p1にモーフィングされたように見えました。/etc/mtab内:
/proc/mdstat:
ショー:
md127 : active raid1 sdc2[0] sdd2[1]
3904788480 blocks super 1.2 [2/2] [UU]
bitmap: 2/30 pages [8KB], 65536KB chunk
md0 : active raid1 sda1[0] sdb1[1]
488253440 blocks super 1.2 [2/2] [UU]
bitmap: 0/4 pages [0KB], 65536KB chunk
そして
/etc/mtab:
ショー:
/dev/md0 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
/dev/md127p1 /data ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
すべてはまだ正常に動作しているようですが、一体何が起こったのですか?以前に(確かに何年も前に)他のいくつかのマシンでRAID1をほぼ同じ方法で構成しましたが、RAIDアレイは/dev/md0
および/dev/md1
と呼ばれるようになりました。この127
はどこから来たのですか?/dev/md127
と/dev/md127p1
の違いは何ですか?それらの名前を/dev/md1
に変更する方法はありますか、それともこれは私が行き詰まっているものですか?
次のコマンドを使用して、正しいUUIDを処理していることを確認します。
_mdadm --detail /dev/md* | grep -e /dev/md -e UUID
_
配列リストを編集します。不明な場合はnanoを使用できます。
_nano /etc/mdadm/mdadm.conf
_
必要な配列のUUIDを含めるため。またはそれを再確認してください:
_ARRAY /dev/md/0 metadata=1.2 name=MYHOSTNAME:0 UUID=3d21d0e0:2758c58e:962b5191:98e225c1 ARRAY /dev/md/1 metadata=1.2 name=MYHOSTNAME:1 UUID=47492bd7:08d1fd1c:418dad41:2aa7d77f
_
アレイに好きな名前を付けます。
次のコマンドを使用して、正しいファイルシステムをマウントしていることを確認します。
_blkid /dev/md*
_
_/etc/fstab
_がこれらをそのような方法で含むために:
_UUID=...
_
あなたがおそらく見逃した最も重要なステップは、おそらくあなたのinitramfs
を更新することだと思います:
_update-initramfs -u
_
それはそれであるはずです。私自身、同じシステムで正確な問題が発生しました。ステップを逃したり、何かを忘れたりした場合は、コメントを残してください。明日の朝、この回答を編集します。
Q&A:
この127はどこから来たのですか?
initramfs
を更新するのを忘れたため、起動時にシステムは新しい配列を認識せず、デフォルトで最後から名前を付け始めます(127)。
_
/dev/md127
_と_/dev/md127p1
_の違いは何ですか?
_/dev/md127
_は配列の名前です
_/dev/md127p1
_は、アレイ上のパーティションの名前です
OPによる補足情報:
上記のように、_update-initramfs -u
_は実際に重要であるように見えました!ただし、もう少し調整が可能であることがわかりました。別の回答やコメントではなく、ここで編集します。
上記の手順を実行した後、_/dev/md0
_と_/dev/md1p1
_がありました。不思議なことに、/ proc/partitionsを見ると、_/dev/md1
_と_/dev/md1p1
_の両方が見つかりました。少しグーグルすると、これは/proc/mdstat.confで説明されているデフォルトの動作に関連しているのではないかと思いました。
_# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
_
そして実際にnon-コメントアウトされた行を追加します
_DEVICE partitions
_
つまり、次の再起動後に_/dev/md0
_と_/dev/md1
_があっただけです。
(mdadm raidを備えた一部の古いDebianマシンを見ると、それらすべてに明示的な_DEVICE partitions
_行もあり、mdadmの「コンテナー」の概念を意図的に使用したり使用したりしたことはありません)