ウェブサイト検索

ブート時にファイルシステムをユニバーサルユニークID(UUID)またはラベルでマウントするようにシステムを設定する - RHCSA目標準備


デスクトップの世界では、ハードドライブを変更することはほとんどなく、主にハードウェアの故障を示すものであるが、サーバーの世界では、基盤となるストレージ環境が時間とともに変化することは珍しくない。

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

このチュートリアルでは、あなたは学びます:

  • 特定のデバイスのUUIDを取得する方法
  • デバイスのラベルを取得および設定する方法
  • UUIDでデバイスをマウントする方法
  • ラベルによるデバイスのマウント方法

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

ソフトウェアの要件と使用される規約

セットアップの紹介

私たちのテストマシンは、RHEL 8を実行しているシンプルな仮想マシンです。オペレーティングシステムは/dev/sdaにインストールされており、15 GBの仮想ハードドライブです。使用するための空のディスクを持つために、別の仮想ディスクをマシンに追加しました。これは/dev/sdbとして表示され、サイズは2 GBです。fdiskを使用してディスクをパーティション分割し、新しいディスク全体を占有する単一のパーティションを作成しました。そのパーティションの上に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/

マウントが成功すると、指定されたマウントポイントに2GBの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

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

ついに、次のステップに備えてファイルシステムをアンマウントできます。

umount /mnt/new_disk

ラベルによるデバイスのマウント方法

ラベルによるファイルシステムのマウントは実際にはほぼ同じです。ラベルが既に設定されている場合、/etc/fstabでそれを参照することができます。同じデバイスでこの手順を行う場合は、ラベルを使用する別のものを追加する前に、前の手順で追加された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つのディスクに同じ名前を付けてみてください。それらをマウントできますか?

関連記事: