sda と sdb はスワップし続けます

sda と sdb はスワップし続けます

このボックスは、Ubuntu 16.04 を実行している HP マイクロサーバーです。最近、ブート デバイスを 64 GB SSD に「アップグレード」しました。さらに、1 TB の SATA ドライブもあります。

/dev/sda1通常、 をプライマリ パーティション (SSD 上) として起動し、/dev/sda5をスワップとして起動し、/dev/sdb1にマウントされている 1Tb HDD 上のパーティションを指します/mnt/media0

問題は、それがすべて変更されることがあり、SSD が になり/dev/sdb1/dev/sdb5メディア パーティションが になることです/dev/sda1

もちろん、これにより、スワップとメディアのマウントは/etc/fstab以前の/dev/sd*名前を使用してリストされるため失敗します。

ので、私は持っています:

  1. BIOS を確認すると、64GB SSD が常に最初のドライブとして、1TB IDE が 2 番目のドライブとしてリストされています。

  2. ボリューム ラベルでメディア ドライブを参照するように変更しようとしました/etc/fstabが、Ubuntu の起動が失敗し、回復モードになります。

  3. /etc/fstabスワップと(ext4)メディアパーティションをUUIDを使用して参照するように変更しようとしました(実際にはプライマリパーティションがリストされているため)しかしここで、2 番目の問題が発生します。

さまざまなパーティションの UUID を見つけるために以下を実行すると...

ls /dev/disk/by-uuid
blkid

どちらも 1 つのエントリ (プライマリ パーティションの UUID) のみをリストします。メディア パーティションの UUID は、(ブート時に割り当てが明らかになっているsdb1)を使用してのみ確認できます。

tune2fs -l /dev/sdb1

しかし、もう一度、その UUID を使用すると、/etc/fstabUbuntu は起動に失敗し、回復モードになります。

私の質問は次のとおりです。

  • /dev/sdaドライブ間のスワッピングを開始および/dev/sdb停止する方法はありますか?

  • システムに他のパーティションの UUID を表示させて、 で使用できるようにするにはどうすればよいでしょうかfstab?

  • また、スワップ パーティションとメディア パーティションを確実にマウントできる他の方法はありますか?

答え1

の「disk/by-id」名を使用できます/etc/fstab

ls -l /dev/disk/by-id

これらのデバイス名は他のファイル (initrd、grub configs) でも使用される可能性があることに注意してください。そのため、grub config を更新して initrd を再作成することもできます。

答え2

異なるカーネルには udev がサポートされており、他のカーネルには udev (eudev) がサポートされていないため、ハード ドライブの交換が継続されます。

そうですね、私も sysv、openrc、s6 init の置き換え (systemd の置き換え) を試し始めたときにこれに悩まされました。

問題は、同じディスク内に異なる Linux vmlinuz イメージを構築する場合の grub ユーティリティとその構成ファイルにあります。特に、 1 つのカーネル ビルドに対してGRUB_DISABLE_LINUX_UUID(/etc/default/grubなど) を有効にし、他のカーネル ビルドに対しては有効にしない場合に発生します。

== 原因 #1 ==

では、犯人は誰でしょうか? 古い非 systemd です。非 systemd によってスワッピングが発生し、どの SATA/IDE コネクタが使用されているかに関係なく、sda ドライブが常に開始ディスク ラベルになります。

ドライブの順序付けは ATA (SATA または libata ライブラリ) デバイスによって行われ、並べ替えは によって行われますdrivers/scsi/ida_probe()。これをファイルGRUB_DEVICE_BOOTから削除します/etc/default/grub

== 原因その2 ==

CONFIG_SCSI_DEBUG「yes」を指定すると(またはscsi_debug=add_host:1、vmlinuz ブートパラメータで「」を使用して initramfs を使用する場合は「m」を指定すると)、既存のハード ドライブの「sd」ラベル インデックスのインデックス番号が確実に 1 つ増加します。つまり、 は にsda1なりますsdb1

関連情報