ウェブサイト検索

起動時に汎用一意 ID (UUID) またはラベルによってファイル システムをマウントするようにシステムを構成する - RHCSA Objective Preparation


デスクトップの世界ではハードドライブを変更することはめったにありませんが、そのほとんどはハードウェア障害によって示されますが、サーバーの世界では、基盤となるストレージ環境が時間の経過とともに変化することは珍しいことではありません。

SAN (ストレージ エリア ネットワーク) 環境では、高可用性を実現するために、サーバーは多くのパスを介してストレージにアクセスでき、実際にはストレージ ネットワーク内の複数のディスクに分散およびミラーリングされます。一部のパスが変更された場合、サーバーは「ディスク」を再度識別する必要があります。そのため、デバイスに設定された特別な識別子を使用し、変更される可能性のあるデバイス名ではなく、これらの識別子によってマウントすることをお勧めします。 RHCSA 試験準備チュートリアルのこの部分では、テスト マシンに新しいディスクを追加し、UUID (Universally Unique IDentifier) およびラベルによるマウントを構成します。

このチュートリアルでは次のことを学びます:

  • 特定のデバイスの UUID を取得する方法

  • デバイスのラベルを取得および設定する方法

  • UUIDでデバイスをマウントする方法

  • ラベルごとにデバイスをマウントする方法

ラベルによるファイルシステムのマウント。

セットアップの紹介

私たちのテスト マシンは、RHEL 8 を実行する単純な仮想マシンです。オペレーティング システムは、15 GB の仮想ハード ドライブである /dev/sda にインストールされます。空きディスクを使用できるようにするために、マシンに別の仮想ディスクを追加しました。これは、サイズが 2 GB の /dev/sdb として表示されます。 fdisk を使用してディスクをパーティション化し、新しいディスク全体を占有する単一のパーティションを作成しました。 mkfs.ext4 を使用して、そのパーティションの上に ext4 ファイルシステムを作成しました。これがデモンストレーションのセットアップになります。

特定のデバイスの UUID を取得する方法

システム内に存在するデバイスの UUID を一覧表示するには、ターミナルを開き、blkid を使用します。

# blkid
/dev/sda1: UUID="eef3b378-5272-45f4-ab41-97eb48bda63f" TYPE="xfs" PARTUUID="3c939719-01"
/dev/sda2: UUID="rfezEa-GlgW-jWUX-Zixs-Ydw0-EsZS-nk3JDH" TYPE="LVM2_member" PARTUUID="3c939719-02"
/dev/sr0: UUID="2019-10-10-18-52-14-12" LABEL="VBox_GAs_6.0.14" TYPE="iso9660"
/dev/mapper/rhel-root: UUID="9ba9c1f7-40d7-4eb2-a66b-7b27905d8011" TYPE="xfs"
/dev/mapper/rhel-swap: UUID="c08948ec-2320-4155-92d5-2c9364ccb99b" TYPE="swap"
/dev/sdb: UUID="17c1210c-8a88-42d6-b394-03f491415d5c" TYPE="ext4"

太字の出力は、新しいディスクと、検索した UUID を示しています。

デバイスのラベルを取得および設定する方法

e2label を使用してデバイスのラベルを印刷できます。現在の状態では、このデバイスにはまだラベルが設定されていないため、出力は誤解を招く可能性があります。

# e2label /dev/sdb

空の行はエラーを示しているのではなく、このデバイスにラベル属性がまだ設定されていないことを示しています。同じユーティリティでラベルを設定できます。構文は e2label です。

# e2label /dev/sdb "small_disk"

別のクエリでは、新しいラベル セットが表示されます。

# e2label /dev/sdb                                                                                                                                                                       
small_disk

また、前に使用した blkid ユーティリティも、新しく設定されたラベルを表示します。

# blkid | grep sdb
/dev/sdb: LABEL="small_disk" UUID="17c1210c-8a88-42d6-b394-03f491415d5c" TYPE="ext4"

UUIDでデバイスをマウントする方法

UUID を使用してマウントすることが推奨される方法であるため、デフォルトの RHEL8 インストールでは、これを行う方法の例がすでに見つかります。インストール時にディスク オプションを変更しなかった場合、ブート デバイスは UUID によってマウントされる可能性が高くなります。マウントの設定は /etc/fstab ファイルにあり、この例ではこれを印刷できます。

# cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Mon Oct 28 13:22:28 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root   /                       xfs     defaults        0 0
UUID=eef3b378-5272-45f4-ab41-97eb48bda63f /boot                   xfs     defaults        0 0
/dev/mapper/rhel-swap   swap                    swap    defaults        0 0

上記の出力から、UUID でディスクをマウントするために使用する必要がある構文がわかります。テキスト エディタを使用して、次の新しい fstab エントリをファイルの末尾に追加できます。

UUID=17c1210c-8a88-42d6-b394-03f491415d5c /mnt/new_disk ext4    defaults        0 0

上記の例では、前のセクションで blkid でリストしたものと同じ UUID が使用されていることに注意してください。他のシステムでは異なります。

マウント ポイントも存在する必要があるため、上記のエントリで説明したディレクトリを作成します。

# mkdir /mnt/new_disk

マウントするパス、マウントする方法、マウントするファイルシステムの準備ができたら、必要なのはデバイスを mount するだけです。

# mount /mnt/new_disk/

マウントが成功すると、指定したマウント ポイントに 2 GB ext4 ファイルシステムが見つかります。引数なしの mount コマンドは、マウントされたすべてのファイルシステムをリストします。grep を使用して、特に関心のある行を見つけることができます。

# mount | grep sdb
/dev/sdb on /mnt/new_disk type ext4 (rw,relatime,seclabel)

df ユーティリティを使用して、マウントされたファイルシステムを確認することもできます。

# df -h /mnt/new_disk/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb        2.0G  6.0M  1.8G   1% /mnt/new_disk

/etc/fstab で UUID を識別子として使用してファイルシステムをマウントする

最後に、次のステップに備えてファイルシステムをアンマウントします。

# umount /mnt/new_disk

ラベルごとにデバイスをマウントする方法

ラベルによるファイルシステムのマウントは実質的に同じです。ラベルがすでに設定されているので、それを /etc/fstab で参照できます。同じデバイスでこの手順を実行する場合は、ラベルを使用する別の UUID 参照を追加する前に、前の手順で追加した UUID 参照を必ず削除してください。

LABEL=small_disk /mnt/new_disk  ext4    defaults        0 0

マウント ポイントを指定することで、UUID と同じ方法でデバイスをマウントできます。

# mount /mnt/new_disk/

これは、mount コマンドが使用する fstab エントリにより実行可能です。 -L フラグを使用して、ラベルによって直接マウントすることもできます。

# mount -L small_disk /mnt/new_disk

UUID とラベルの両方のオプションで同じディスクを使用したため、内容は同じになります。データを書き込み、アンマウントし、別の方法で再度マウントしても、データは変わりません。これは、ディスクが別のマシン (すでに /dev/sdb デバイスを持っている可能性があります) に与えられた場合に当てはまることに注意してください。

演習

  1. ラベル付きディスクを作成し、テスト データを追加してから、システムからディスクを削除して別のマシンに追加します。新しいマシンはディスク上のデータを認識できますか?

  2. UUID マウント ポイントを作成し、ファイル システムをマウント解除して再作成し、UUID を確認します。新しいファイルシステムに同じ fstab エントリを使用できますか?

  3. ラベル マウント ポイントを作成し、ファイル システムをアンマウントして再作成し、同じ名前でラベルを付けます。ラベルベースの fstab エントリはまだ有効ですか?

  4. 2 つの異なるディスクに同じ名前のラベルを付けてみます。取り付けてもらえますか?

関連記事: