たとえば、これは私の_/etc/fstab
_の最初の行です。
_UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a / ext4 errors=remount-ro 0 1
_
そして、これが_df -h
_コマンドの出力です(空きディスク容量を報告します):
_honey@bunny:~$ df -T
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/vda ext4 30832636 4884200 24359188 17% /
none tmpfs 4 0 4 0% /sys/fs/cgroup
udev devtmpfs 498172 12 498160 1% /dev
tmpfs tmpfs 101796 320 101476 1% /run
none tmpfs 5120 0 5120 0% /run/lock
none tmpfs 508972 0 508972 0% /run/shm
none tmpfs 102400 0 102400 0% /run/user
_
2つから、fstab
の最初の列が_UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a
_であるとして、_/dev/vda
_が_<file system>
_を表すと推測しても問題ありませんか?
では、_/etc/fstab
_をこれに変更しても問題ないでしょうか?
_/dev/vda / ext4 errors=remount-ro 0 1
_
編集:はい(上記の質問に対して)の場合、_Sudo blkid
_コマンドは_/dev/vda
_に対して異なるUUIDを表示するのはなぜですか?
_$ Sudo blkid
/dev/vda: LABEL="DOROOT" UUID="6f469437-4935-44c5-8ac6-53eb54a9af26" TYPE="ext4"
_
ここで何が欠けていますか?
Answer:(3)ホストのクラウドのバグであると結論付けます。したがって、はい、blkid
(または_ls -l /dev/disk/by-uuid
_)によって報告されるUUIDは、_/etc/fstab
_で使用されるものと同じである必要があります。
UUIDを使用する利点は、オペレーティングシステムがハードディスクに提供する実際のデバイス番号から独立していることです。
システムに別のハードディスクを追加し、何らかの理由でOSが古いディスクをsdb
ではなくsda
と判断したとします。
fstab
がデバイス名を指していると、ブートプロセスが失敗します。しかし、UUIDの場合は問題ありません。
UUIDの詳細については、ブログの投稿 "UUIDs and Linux:Everything you need to know" もご覧ください。
その場合、/ etc/fstabをこれに変更できますか?
あなたはできますおそらく大丈夫ですが、おそらくUUIDはそのままにしてください。
IDs は、この場合、ブロックデバイス上のパーティションを識別するために使用される任意の文字列です。パーティション自体に格納され、必要に応じて別のMACアドレスを割り当てることができます(同様のMACアドレスの一種)。
UUIDを使用する利点は、紛らわしくないことですが、/dev/vda
ではありません; itcould起動時に別のドライブになることが起こりますが、これはコンテキストでは完全に理論上のものである可能性があります(たとえば、ドライブが1つしかないため)特定のタイプの)。
デバイス名を使用すると問題が発生する可能性があるもう1つのより微妙な例は、一部のシステムで最近のスイッチが consistent network device names を使用するようになることです。これがアップグレードとして発生し、ハードコードされたデバイス名をネットワークスクリプトのどこかで使用した場合、壊れます。並列のWRTブロックデバイスの例は、命名スキームを変更するカーネルまたはudevアップグレードです。
UUIDの1つのポイントは、この種のことを可能にし、苦痛をなくすことです。したがって、デバイス名を使用することができますが、を使用しない場合(== --- ==)を使用しないと利点はありません(例)異なるドライブを交換するシステムがあります。つまり、それを行う正当な理由がない場合は、UUID。
man fstab
を実行すると、/etc/fstab
ファイルの内容とセマンティクスをかなり簡潔に読み取ることができます。私のx86のかなり最新のArch Linuxサーバーでは、man fstab
でこれが得られます。
The second field ... describes the mount point for the filesystem.
つまり、はい、/dev/vda
は、いくつかのデバイスの多くの名前の1つであり、UUID=050e1e34-39e6-4072-a03e-ae0bf90ba13a
も "/"にマウントされているように見えます。
ディレクトリ/dev/disk/by-uuid/
を見ると、サーバー上の/dev/sda1
、/dev/sdb1
などを指すシンボリックリンクが表示されます。これは、仮説を確認する別の方法かもしれません。 /dev/disk
にはサブディレクトリby-id
、by-path
、by-uuid
があり、これらはすべて同じデバイスの代替名のように見えます。