従来のfstabオプション
Linuxインスタンスで、インスタンスの起動時にブロック・ボリュームを自動的にマウントする場合は、/etc/fstab
ファイル内に特定のオプションを設定する必要があります。そうしない場合、インスタンスの起動に失敗することがあります。
これらのステップは、一貫性のあるデバイス・パスが有効になっていないブロック・ボリュームに対して行うものです。ブロック・ボリュームで一貫性のあるデバイス・パスが有効になっている場合は、かわりに/etc/fstab options for block volumes using consistent device pathsを使用してください。
ボリュームUUID
Linuxオペレーティング・システムでは、ボリュームがアタッチされた順序は確定的ではないため、再起動のたびに変わる可能性があります。/dev/sdb
のようにデバイス名を使用してボリュームを参照する場合、ルート以外のボリュームが複数あると、特定のデバイス名に対してマウントしようとするボリュームが、実際にマウントされるボリュームになることを保証できません。
この問題を回避するには、/etc/fstab
ファイル内に、デバイス名のかわりにボリュームUUIDを指定します。UUIDを使用するとき、マウント・プロセスで、スーパーブロック内のUUIDと/etc/fstab
ファイルで指定されたマウント・ポイントが照合されます。このプロセスによって、同じボリュームが常に同じマウント・ポイントにマウントされることが保証されます。
ボリュームのUUIDの判別
-
ボリュームのアタッチおよびボリュームへの接続のステップに従います。
-
ボリュームが接続された後、標準のLinuxツールを使用して、選択したファイル・システムを各ボリューム上に作成します。
残りのステップでは、3つのボリュームがすでに接続され、各ボリューム上にXFSファイル・システムが作成されたことを前提としています。
-
次のコマンドを実行して、blkidユーティリティを使用してボリュームのUUIDを取得します:
sudo blkid
出力は次のようになります:
{{ /dev/sda3: UUID="1701c7e0-7527-4338-ae9f-672fd8d24ec7" TYPE="xfs" PARTUUID="82d2ba4e-4d6e-4a33-9c4d-ba52db57ea61"}} {{ /dev/sda1: UUID="5750-10A1" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="082c26fd-85f5-4db2-9f4e-9288a3f3e784"}} {{ /dev/sda2: UUID="1aad7aca-689d-4f4f-aff0-e0d46fc1b89f" TYPE="swap" PARTUUID="94ee5675-a805-49b2-aaf5-2fa15aade8d5"}} {{ /dev/sdb: UUID="699a776a-3d8d-4c88-8f46-209101f318b6" TYPE="xfs"}} {{ /dev/sdd: UUID="85566369-7148-4ffc-bf97-50954cae7854" TYPE="xfs"}} {{ /dev/sdc: UUID="ba0ac1d3-58cf-4ff0-bd28-f2df532f7de9" TYPE="xfs"}}
この出力のルート・ボリュームは、
/dev/sda*
です。追加のリモート・ボリュームは次のとおりです:/dev/sdb
/dev/sdc
/dev/sdd
-
/mnt/vol1
、/mnt/vol2
および/mnt/vol3
でボリュームをそれぞれ自動的にアタッチするには、次のコマンドを使用して3つのディレクトリを作成します:bash-4.2$ sudo mkdir /mnt/vol1 {{ bash-4.2$ sudo mkdir /mnt/vol2}} {{ bash-4.2$ sudo mkdir /mnt/vol3}}
_netdevおよびnofailオプションの使用 🔗
デフォルトでは、イニシエータの起動前に/etc/fstab
ファイルが処理されます。/etc/fstab
ファイルの各行で_netdev
オプションを指定して、ボリュームのマウント前にマウント・プロセスを開始するように構成します。
/etc/fstab
ファイルに(ルート・ボリュームを除く)ボリュームがリストされているインスタンスのカスタム・イメージを作成した場合、そのカスタム・イメージからインスタンスを起動すると失敗します。この問題を回避するには、/etc/fstab
ファイル内にnofail
オプションを指定します。
3つのボリュームを使用するシナリオ例において、_netdev
オプションとnofail
オプションを使用したボリュームの/etc/fstab
ファイル・エントリは次のようになります:
UUID=699a776a-3d8d-4c88-8f46-209101f318b6 /mnt/vol1 xfs defaults,_netdev,nofail 0 2
UUID=ba0ac1d3-58cf-4ff0-bd28-f2df532f7de9 /mnt/vol2 xfs defaults,_netdev,nofail 0 2
UUID=85566369-7148-4ffc-bf97-50954cae7854 /mnt/vol3 xfs defaults,_netdev,nofail 0 2
/etc/fstab
ファイルを更新した後、次のコマンドを使用してボリュームをマウントします:
bash-4.2$ sudo mount -a
次のコマンドを使用して、インスタンスを再起動することにより、再起動時にボリュームが正しくマウントされることを確認します:
bash-4.2$ sudo reboot
/etc/fstabファイルに関する問題のトラブルシューティング 🔗
/etc/fstab
ファイルを更新した後にインスタンスの再起動に失敗する場合は、/etc/fstab
ファイルへの変更を元に戻す必要があることがあります。ファイルを更新するには、まず、インスタンスのシリアル・コンソールに接続します。シリアル・コンソール接続を使用してインスタンスにアクセスできる場合は、/etc/fstab
ファイルに対して行った変更を除去、コメント・アウトまたは修正できます。