Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.12. 複数マウントの結合とコンテキスト依存のパス名

GFS2 ファイルシステムではコンテキスト依存のパス名 (CDPN) には対応していません (コンテキスト依存のパス名を使用すると可変のファイルやディレクトリーをポイントするシンボリックリンクを作成することが可能)。GFS2 では、mount コマンドの bind オプションを使用すると同様の動作を行わせることができます。
mount コマンドの bind オプションを使用すると、ファイル階層の一部をオリジナルの場所で使用可能な状態のまま別の場所でも再マウントできるようになります。コマンドの形式を以下に示します。
mount --bind olddir newdir
このコマンドを実行すると、olddir ディレクトリーのコンテンツは olddirnewdir の 2 ヶ所で使用できるようになります。またこのオプションを使用するとひとつのファイルが 2 ヶ所でアクセスできるようになります。
例えば、以下のコマンドを実行すると、/root/tmp のコンテンツが以前にマウントした /var/log ディレクトリーの内容と全く同じになります。
[root@menscryfa ~]# cd ~root
[root@menscryfa ~]# mkdir ./tmp
[root@menscryfa ~]# mount --bind /var/log /root/tmp
別の方法として、/etc/fstab ファイル内のエントリーを使用してもマウント時に同じことが行えます。以下の /etc/fstab エントリーの場合、/root/tmp の内容は /var/log ディレクトリーの内容と全く同じになります。
/var/log                /root/tmp               none    bind            0 0
ファイルシステムをマウントしたら、以下の例のように mount コマンドを使用してファイルシステムがマウントされているか確認することができます。
[root@menscryfa ~]# mount | grep /tmp
/var/log on /root/tmp type none (rw,bind)
コンテキスト依存のパス名に対応しているファイルシステムでは /bin ディレクトリーにコンテキスト依存のパス名を定義している場合があります。この場合、システムアーキテクチャーに応じて以下のパスのいずれか 1 つに解決されます。
/usr/i386-bin
/usr/x86_64-bin
/usr/ppc64-bin
同じような動作をさせるため空の /bin ディレクトリーを作成します。次にスクリプトまたは /etc/fstab ファイル内の エントリーを使用して mount -bind コマンドで各アーキテクチャーのディレクトリーを /bin ディレクトリーにマウントします。例えば、次のコマンドをスクリプト内の 1 行に使用します。
mount --bind /usr/i386-bin /bin
または、/etc/fstab ファイル内で以下のエントリーを使用します。
/usr/1386-bin             /bin               none    bind            0 0
定義する基準 (ファイルシステムの %fill の値など) に応じて異なる複数のディレクトリーをマウントすることができるため、マウントの結合によりコンテキスト依存のパス名より高い柔軟性を得ることができます。コンテキスト依存のパス名の場合は対象範囲がより限定されています。ただし、%fill の値などの基準に応じて、独自のマウント用スクリプトを記述する必要があるので注意してください。

警告

bind オプションでファイルシステムをマウントしたときにオリジナルのファイルシステムが rw でマウントされている場合、ro フラグを使用してもこのファイルシステムは rw でマウントされることになります。 つまり、ro フラグは警告なしに無視されます。このような場合には、/proc/mounts ディレクトリー内でそのファイルシステムに ro の印が付いている可能性があります。このため意図しない結果となっている場合があります。