再起動するたびにディスクマウントポイントが一貫していません。 fstabでUUIDを使用する

再起動するたびにディスクマウントポイントが一貫していません。 fstabでUUIDを使用する

mountコマンドを使用してディスクを手動でマウントできないという問題があります。その後、ディスクをfstabに追加しました。再起動後:sda1は正しいマウントポイント(/mnt/da)を指しますが、残りはそうではありません。 助けてください。アイデアはありません。

サーバー設定:

  • ソフトウェアraid1の2つのNVMEドライブ
  • 10x 16TBドライブ、RAIDなし、独立ディスク(初期設定後にこれらのディスクからRAIDを削除する必要があります)
  • オペレーティングシステム:Debian 12
  • xfsファイルシステム
  • blkidコマンドから取得したUUIDを使用して、デバイスをfstabに追加しました。

試験を終えた:

  • 手動でディスクをマウント
  • 一度に1つのディスクをマウントしてみてください。
  • fstabに一度に1つのディスクを追加して再ロードしてみてください。
  • fstabにすべてのディスクを追加して再度マウントしてみてください。

df-h

root@data7 ~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             63G     0   63G   0% /dev
tmpfs            13G  896K   13G   1% /run
/dev/md2        875G 1013M  829G   1% /
tmpfs            63G     0   63G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/md1        989M   66M  873M   7% /boot
/dev/sdb1        15T  104G   15T   1% /mnt/db
/dev/sdd1        15T  104G   15T   1% /mnt/dc
/dev/sda1        15T  104G   15T   1% /mnt/da
tmpfs            13G     0   13G   0% /run/user/0

LSBLK

root@data7 ~ # lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda           8:0    0  14.6T  0 disk
└─sda1        8:1    0  14.6T  0 part  /mnt/da
sdb           8:16   0  14.6T  0 disk
└─sdb1        8:17   0  14.6T  0 part  /mnt/db
sdc           8:32   0  14.6T  0 disk
└─sdc1        8:33   0  14.6T  0 part
sdd           8:48   0  14.6T  0 disk
└─sdd1        8:49   0  14.6T  0 part  /mnt/dc
sde           8:64   0  14.6T  0 disk
└─sde1        8:65   0  14.6T  0 part
sdf           8:80   0  14.6T  0 disk
└─sdf1        8:81   0  14.6T  0 part
sdg           8:96   0  14.6T  0 disk
└─sdg1        8:97   0  14.6T  0 part
sdh           8:112  0  14.6T  0 disk
└─sdh1        8:113  0  14.6T  0 part
sdi           8:128  0  14.6T  0 disk
└─sdi1        8:129  0  14.6T  0 part
sdj           8:144  0  14.6T  0 disk
└─sdj1        8:145  0  14.6T  0 part
sdk           8:160  0  57.7G  0 disk
nvme0n1     259:0    0 894.3G  0 disk
├─nvme0n1p1 259:1    0     4G  0 part
│ └─md0       9:0    0     4G  0 raid1 [SWAP]
├─nvme0n1p2 259:2    0     1G  0 part
│ └─md1       9:1    0  1022M  0 raid1 /boot
└─nvme0n1p3 259:3    0 889.3G  0 part
  └─md2       9:2    0 889.1G  0 raid1 /
nvme1n1     259:4    0 894.3G  0 disk
├─nvme1n1p1 259:5    0     4G  0 part
│ └─md0       9:0    0     4G  0 raid1 [SWAP]
├─nvme1n1p2 259:6    0     1G  0 part
│ └─md1       9:1    0  1022M  0 raid1 /boot
└─nvme1n1p3 259:7    0 889.3G  0 part
  └─md2       9:2    0 889.1G  0 raid1 /

黒子

GETTING UUID
root@data7 ~ # blkid | g sda
/dev/sda1: UUID="cea5e8d9-1ddf-4502-a609-3a17af37082c" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="d0a89050-f533-7245-877e-5006d974516c"
root@data7 ~ # blkid | g sdb
/dev/sdb1: UUID="e3ae1145-d37b-41d7-ac1f-5c6a646bd5ed" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="da1f85c1-9054-d147-a9b8-0965020b4d67"
root@data7 ~ # blkid | g sdc
/dev/sdc1: UUID="47bf4e70-ec50-4369-88c2-9dfd8dd5d422" BLOCK_SIZE="4096" TYPE="xfs" PARTUUID="f458a5c3-6b6c-054d-a069-27930dcb02f2"

システムテーブル

/etc/fstab - WAS CORRECT BEFORE RESTART .. CHANGED IT 5+ TIMES AND BREAKS AFTER EVERY RESTART
proc /proc proc defaults 0 0
# /dev/md/0
UUID=e2f568f6-846b-4657-b88d-3c8108d5600c none swap sw 0 0
# /dev/md/1
UUID=a5868f6d-b7e5-43b1-ab81-4770a543d83a /boot ext3 defaults 0 0
# /dev/md/2
UUID=612c81e1-94e4-415e-863f-6dfcbe127dee / ext4 defaults 0 0
# /dev/sda1
UUID=cea5e8d9-1ddf-4502-a609-3a17af37082c /mnt/da xfs defaults 0 2
# /dev/sdb1
UUID=e3ae1145-d37b-41d7-ac1f-5c6a646bd5ed /mnt/db xfs defaults 0 2
# /dev/sdc1
UUID=2b28f001-d9a0-4759-8f29-4bf45a18aeb6 /mnt/dc xfs defaults 0 2

私の他のサーバー(再起動後もデバイス名が保持されないという意見に対する回答)

root@data2:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            126G     0  126G   0% /dev
tmpfs            26G  1.3G   24G   6% /run
/dev/sda3       5.5T  4.9T  246G  96% /
tmpfs           126G     0  126G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           126G     0  126G   0% /sys/fs/cgroup
/dev/sda2       923M   79M  781M  10% /boot
/dev/sde1       5.5T  5.0T  236G  96% /mnt/de
/dev/sdf1       5.5T  4.1T  1.2T  79% /mnt/df
/dev/sdd1       5.5T  4.7T  468G  92% /mnt/dd
/dev/sdc1       5.5T  5.1T   49G 100% /mnt/dc
/dev/sdb1       5.5T  5.1T   74G  99% /mnt/db
tmpfs            26G     0   26G   0% /run/user/1000
tmpfs            26G     0   26G   0% /run/user/0

root@data3:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            126G     0  126G   0% /dev
tmpfs            26G  2.5G   23G  10% /run
/dev/sda3       5.5T  4.2T  1.1T  81% /
tmpfs           126G     0  126G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           126G     0  126G   0% /sys/fs/cgroup
/dev/sda2       923M   79M  781M  10% /boot
/dev/sdc1        11T   11T  660G  95% /mnt/df
/dev/sdf1        11T  9.2T  1.8T  84% /mnt/de
/dev/sdd1        11T  9.8T  1.2T  90% /mnt/dc
/dev/sde1        11T   11T  191G  99% /mnt/dd
/dev/sdb1        11T   11T  855G  93% /mnt/db
tmpfs            26G     0   26G   0% /run/user/1001
tmpfs            26G     0   26G   0% /run/user/0


root@data4:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            126G     0  126G   0% /dev
tmpfs            26G  2.5G   23G  10% /run
/dev/sda3        11T   11T  249G  98% /
tmpfs           126G     0  126G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           126G     0  126G   0% /sys/fs/cgroup
/dev/sda2       923M   80M  781M  10% /boot
/dev/sdc1        11T  9.3T  1.7T  85% /mnt/dc
/dev/sdd1        11T  9.0T  2.0T  82% /mnt/dd
/dev/sdb1        11T  9.8T  1.2T  90% /mnt/db
tmpfs            26G     0   26G   0% /run/user/1002
tmpfs            26G     0   26G   0% /run/user/1000
tmpfs            26G     0   26G   0% /run/user/1005
tmpfs            26G     0   26G   0% /run/user/0

答え1

再起動時のデバイスIDの一貫性は保証されていません...

無効な用語を使用しました。

6つのインストール方法があります。ディスクLinuxでは/dev/diskRHEL-7.9を使用しています。

by-id/ by-label/ by-partlabel/ by-partuuid/ by-path/ by-uuid/

ID別scsi識別子またはwwn(ワールドワイド番号)識別子。

信頼できない(または一貫性のない)インストール方法デバイス名でたとえば、これはあなたがやっていたこと/dev/sdb1 /dataですが、/etc/fstab間違って呼び出されました。デバイスID。 IDは一致しますが、デバイス名(sda、sdb、sdcなど)は一致しません。

この6つのフォルダ/dev/disk/の下のすべての項目が{/dev/sda2たとえば}デバイス名の上にリンクされていることがわかります。

コメントで述べたように、デバイス名起動後、デバイスが認識された順序に従ってマッピングが実行されます。 SATAケーブルを介して接続された新しいディスクを追加し、ディスクの端に挿入しないでください。sda、sdb、sdc...リスト。前面に配置されることが多いsdaこれにより、すべてが下に移動するため、不一致が発生します。 2つのディスクとマザーボードに接続されているSATAポートを交換するだけです。同じ問題です。

  • パス-UUIDとても一貫しているので名前がつきました。ユニバーサルユニークID
  • ID別scsi idやwwn idなどの情報も非常に安定している必要があり、wwnディスクラベルでよく見つけることができます。
  • タグ付き同じラベル名で複数のディスク(実際にはパーティション)にラベルを付けるなどの操作を実行するまで、安定している必要があります。
  • 私の考えではバイパスディスクが別のSAT / SASポートに接続されている場合、これは別のパスになるため、一貫性はありません。

答え2

AFAIK 過去では、ディスクの順序は検出順序に従って厳密に定義されていました。デフォルトのIDEマスター= hda、スレーブ= hdb;セカンダリ IDE マスター = hdc、スレーブ = hdd。新しいハードウェアにより、SATAチャネルが導入され、デバイス識別子がsda、sdbなどに変更されました。ハードウェアの変更に加えて、ブート応答も変更されました。起動ソフトウェアも一部変更されました。 BIOS(またはuEFI)、ブートローダ、およびシステムブートはすべて、より多くのCPUコアを使用して起動されます。ディレクトリに「アルファベット順」として定義されている厳密な順序ではなく、並列でより多くの独立したコンポーネントを起動できるように、initDebian(およびその他)がSysVから離れていることがわかります。存在するsystemd/etc/rc3.dシュレディンガーの好奇心コメントリンクは次のとおりです。

...最初のハードドライブ検出済み名前は/ dev / sda ...

つまり、ディスクは SysV を使用して標準の順序でポーリングされますが、initディスクsystemd検出は並列に実行されます。つまり、検出された最初のディスクが最初のSATAチャネルに接続されているディスクである必要はありません。最初の接触は、BIOS(uEFI)に接続されているPCI(e)カードのBIOS ROM(SCSI(SAS)など)によって行われます。したがって、回転ディスクは電源投入後に起動するのに時間がかかるため、ディスクの検出順序に依存することはできません。しかし、ウォームスタートの直後に検出することができます。これは、マウントするディスクパーティションを識別するためにUUIDとLABELが追加された理由です。したがって、fstab(DebianベースのLinux)では、次のことがわかります。

# / was on /dev/sda1 during installation
UUID=98765432-9876-abcd-9090-1234567890ab / ext4 ...

何を変更できますか?

LABEL=mysda1 / ext4 ...

パーティションのLABELが次に設定されている場合ミスダ1。 IDEまたはSATAディスクには、NICのMACアドレスなどの標準識別子はありません。

答え3

デバイス名前 (IDに変更)再起動時に一貫性は保証されません。 fstab で UUID を使用すると、ディスクは常に同じパスを指すようにマウントされます。デバイスIDが変更されても、/mnt/da、/mnt/db...etcのデータはその場所に残ります。

コメントをいただいた@frostschutzさんと他の方々に感謝します。

関連情報