web-dev-qa-db-ja.com

/ dev / md127を作成したときに/ dev / md127または/ dev / md127p1と呼ばれるようになったのはなぜですか?

最近、新しい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/md1mdadm --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に変更する方法はありますか、それともこれは私が行き詰まっているものですか?

3
timday
  1. 次のコマンドを使用して、正しいUUIDを処理していることを確認します。

    _mdadm --detail /dev/md* | grep -e /dev/md -e UUID
    _
  2. 配列リストを編集します。不明な場合は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
    _

    アレイに好きな名前を付けます。

  3. 次のコマンドを使用して、正しいファイルシステムをマウントしていることを確認します。

    _blkid /dev/md*
    _

    _/etc/fstab_がこれらをそのような方法で含むために:

    _UUID=...
    _
  4. あなたがおそらく見逃した最も重要なステップは、おそらくあなたの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の「コンテナー」の概念を意図的に使用したり使用したりしたことはありません)

1