web-dev-qa-db-ja.com

Linux:/ devのデバイス名を変更すると、起動時に問題が発生します

システムに多くのディスクとボリュームがあります。一部のディスクIDE、一部のSATA。

SATAディスク上のボリュームは問題を引き起こします-私はそれらをetc/fstabにリストしていますが、起動するたびに、それらは異なる名前を持っています:

  • /dev/sdd*/dev/sdb*になります
  • /dev/sde*/dev/sdc*になります

起動するたびになど。

1)なぜこれが起こっているのですか?
2)どうすればそれを防ぐことができますか?
3)できない場合、回避策はありますか?

5
Ondra Žižka

これは通常、デバイスが異なる順序で検出されるために発生します。特に、SATA、SCSI、USBディスクなど、複数の異なるデバイステクノロジが同じ名前を共有している場合に発生します。それらはすべて/ dev/sd *名を共有しており、その時点で接続したものに応じて変更されます。

それを回避する方法はいくつかあります。

  1. パーティションにラベルを付けてから、ラベルでマウントします
  2. UUIDでマウントします

man fstabから:

デバイスを明示的に指定する代わりに、UUIDまたはボリュームラベル(e2label(8)またはxfs_admin(8)を参照)によってマウントされる(ext2またはxfs)ファイルシステムを示し、LABEL =またはUUID =と記述します。 、LABEL=Boot' orUUID = 3e6be9de-8139-11d1-9106-a43f08d823a6 '。これにより、システムがより堅牢になります。SCSIディスクを追加または削除すると、ディスクデバイス名は変更されますが、ファイルシステムボリュームラベルは変更されません。

ディスクのラベル付けは、(たとえば)で行うことができます

# tune2fs -L MyDiskLabel /dev/sde2

次に、/ etc/fstabのデバイス名としてLABEL = MyDisklabelを使用します

マウントは、デバイス名の代わりに/ etc/fstabのUUID =を使用して実行できます。

UUIDはblkidで取得できます(少なくともUbuntuでは-他のディストリビューションについてはわかりません)

7
Majenko

私のブログへのリンクを投稿することがここで悪い習慣であるかどうかわからないので(私はこのあたりでかなり新しいです)、そうであれば謝罪します。

先週、いくつかの古いreiserfsパーティションをuuidでラベル付けすることについての投稿を書いたので、前の投稿者がそれを見るのは興味深いかもしれません。

http://hmontoliu.blogspot.com/2011/04/set-uuid-on-reiserfs-partitions-fun.html

2
hmontoliu