14.7. 複数のマウントポイントでのマウント共有

システム管理者は、マウントポイントを複製して、複数のディレクトリーからファイルシステムにアクセスするようにできます。

14.7.1. 共有マウントのタイプ

使用できる共有マウントには複数のタイプがあります。共有マウントポイントの種類によって、マウントポイントに別のファイルシステムをマウントしたときに発生する内容がなります。共有マウントは、共有サブツリー 機能を使用して実装されます。

タイプは以下のとおりです。

プライベートマウント

このタイプは、伝播イベントを受信または転送しません。

複製マウントポイントまたは元のマウントポイントのどちらかに別のファイルシステムをマウントしても、それは他方には反映されません。

共有マウント

このタイプは、指定したマウントポイントの正確なレプリカを作成します。

マウントポイントが共有マウントとしてマークされている場合は、元のマウントポイント内のすべてのマウントが複製マウントポイントに反映されます (その逆も同様です)。

これは、root ファイルシステムのデフォルトのマウントタイプです。

スレーブマウント

このタイプは、指定したマウントポイントの限定的な複製を作成します。

マウントポイントがスレーブマウントとしてマークされている場合は、元のマウントポイント内のすべてのマウントが複製マウントポイントに反映されますが、スレーブマウント内のマウントは元のポイントに反映されません。

バインド不可能なマウント
このタイプは、指定のマウントポイントの複製をまったく行いません。

14.7.2. プライベートマウントポイントの複製の作成

この手順では、マウントポイントをプライベートマウントとして複製します。複製後に、複製または元のマウントポイントにマウントするファイルシステムは、他方のマウントポイントには反映されません。

手順

  1. 元のマウントポイントから仮想ファイルシステム (VFS) ノードを作成します。

    # mount --bind original-dir original-dir
  2. 元のマウントポイントをプライベートとしてマークします。

    # mount --make-private original-dir

    あるいは、選択したマウントポイントと、その下のすべてのマウントポイントのマウントタイプを変更するには、--make-private ではなく、--make-rprivate オプションを使用します。

  3. 複製を作成します。

    # mount --bind original-dir duplicate-dir

例14.5 プライベートマウントポイントとして /mnt に /media を複製

  1. /media ディレクトリーから VFS ノードを作成します。

    # mount --bind /media /media
  2. /media ディレクトリーをプライベートとしてマークします。

    # mount --make-private /media
  3. そのコピーを /mnt に作成します。

    # mount --bind /media /mnt
  4. これで、/media/mnt はコンテンツを共有してますが、/media 内のマウントはいずれも /mnt に現れていないことが確認できます。たとえば、CD-ROM ドライブに空でないメディアがあり、/media/cdrom/ ディレクトリーが存在する場合は、以下のコマンドを実行します。

    # mount /dev/cdrom /media/cdrom
    # ls /media/cdrom
    EFI  GPL  isolinux  LiveOS
    # ls /mnt/cdrom
    #
  5. また、/mnt ディレクトリーにマウントされているファイルシステムが /media に反映されていないことを確認することもできます。たとえば、/dev/sdc1 デバイスを使用する、空でない USB フラッシュドライブをプラグインしており、/mnt/flashdisk/ ディレクトリーが存在する場合は、次のコマンドを実行します。

    # mount /dev/sdc1 /mnt/flashdisk
    # ls /media/flashdisk
    # ls /mnt/flashdisk
    en-US  publican.cfg

関連情報

  • man ページの mount(8)

14.7.3. 共有マウントポイントの複製の作成

この手順では、マウントポイントを共有マウントとして複製します。複製後に、元のディレクトリーまたは複製にマウントしたファイルシステムは、他方のマウントポイントに常に反映されます。

手順

  1. 元のマウントポイントから仮想ファイルシステム (VFS) ノードを作成します。

    # mount --bind original-dir original-dir
  2. 元のマウントポイントを共有としてマークします。

    # mount --make-shared original-dir

    あるいは、選択したマウントポイントとその下のすべてのマウントポイントのマウントタイプを変更する場合は、--make-shared ではなく、--make-rshared オプションを使用します。

  3. 複製を作成します。

    # mount --bind original-dir duplicate-dir

例14.6 共有マウントポイントとして /mnt に /media を複製

/media ディレクトリーと /mnt ディレクトリーが同じコンテンツを共有するようにするには、次の手順を行います。

  1. /media ディレクトリーから VFS ノードを作成します。

    # mount --bind /media /media
  2. /media ディレクトリーを共有としてマークします。

    # mount --make-shared /media
  3. そのコピーを /mnt に作成します。

    # mount --bind /media /mnt
  4. これで、/media 内のマウントが /mnt にも現れていることを確認できます。たとえば、CD-ROM ドライブに空でないメディアがあり、/media/cdrom/ ディレクトリーが存在する場合は、以下のコマンドを実行します。

    # mount /dev/cdrom /media/cdrom
    # ls /media/cdrom
    EFI  GPL  isolinux  LiveOS
    # ls /mnt/cdrom
    EFI  GPL  isolinux  LiveOS
  5. 同様に、/mnt ディレクトリー内にマウントされているファイルシステムが /media に反映されていることを確認することもできます。たとえば、/dev/sdc1 デバイスを使用する、空でない USB フラッシュドライブをプラグインしており、/mnt/flashdisk/ ディレクトリーが存在する場合は、次のコマンドを実行します。

    # mount /dev/sdc1 /mnt/flashdisk
    # ls /media/flashdisk
    en-US  publican.cfg
    # ls /mnt/flashdisk
    en-US  publican.cfg

関連情報

  • man ページの mount(8)

14.7.4. スレーブマウントポイントの複製の作成

この手順では、マウントポイントをスレーブマウントとして複製します。複製後に、元のマウントポイントにマウントしたファイルシステムは複製に反映されますが、他のマウントポイントには反映されません。

手順

  1. 元のマウントポイントから仮想ファイルシステム (VFS) ノードを作成します。

    # mount --bind original-dir original-dir
  2. 元のマウントポイントを共有としてマークします。

    # mount --make-shared original-dir

    あるいは、選択したマウントポイントとその下のすべてのマウントポイントのマウントタイプを変更する場合は、--make-shared ではなく、--make-rshared オプションを使用します。

  3. 複製を作成し、それをスレーブとしてマークします。

    # mount --bind original-dir duplicate-dir
    # mount --make-slave duplicate-dir

例14.7 スレーブマウントポイントとして /mnt に /media を複製

この例は、/media ディレクトリーのコンテンツが /mnt にも表示され、/mnt ディレクトリーのマウントが /media に反映されないようにする方法を示しています。

  1. /media ディレクトリーから VFS ノードを作成します。

    # mount --bind /media /media
  2. /media ディレクトリーを共有としてマークします。

    # mount --make-shared /media
  3. そのコピーを /mnt に作成し、スレーブとしてマークします。

    # mount --bind /media /mnt
    # mount --make-slave /mnt
  4. /media 内のマウントが /mnt にも表示されていることを確認します。たとえば、CD-ROM ドライブに空でないメディアがあり、/media/cdrom/ ディレクトリーが存在する場合は、以下のコマンドを実行します。

    # mount /dev/cdrom /media/cdrom
    # ls /media/cdrom
    EFI  GPL  isolinux  LiveOS
    # ls /mnt/cdrom
    EFI  GPL  isolinux  LiveOS
  5. また、/mnt ディレクトリー内にマウントされているファイルシステムが /media に反映されていないことを確認します。たとえば、/dev/sdc1 デバイスを使用する、空でない USB フラッシュドライブをプラグインしており、/mnt/flashdisk/ ディレクトリーが存在する場合は、次のコマンドを実行します。

    # mount /dev/sdc1 /mnt/flashdisk
    # ls /media/flashdisk
    # ls /mnt/flashdisk
    en-US  publican.cfg

関連情報

  • man ページの mount(8)

14.7.5. マウントポイントが複製されないようにする

この手順では、別のマウントポイントに複製されないように、マウントポイントをバインド不可としてマークします。

手順

  • マウントポイントのタイプをバインド不可なマウントに変更するには、以下のコマンドを使用します。

    # mount --bind mount-point mount-point
    # mount --make-unbindable mount-point

    あるいは、選択したマウントポイントとその下のすべてのマウントポイントのマウントタイプを変更する場合は、--make-unbindable の代わりに、--make-runbindable オプションを使用します。

    これ以降、このマウントの複製を作成しようとすると、以下のエラーが出て失敗します。

    # mount --bind mount-point duplicate-dir
    
    mount: wrong fs type, bad option, bad superblock on mount-point,
    missing codepage or helper program, or other error
    In some cases useful info is found in syslog - try
    dmesg | tail  or so

例14.8 /media が複製されないようにする

  • /media ディレクトリーが共有されないようにするには、以下のコマンドを実行します。

    # mount --bind /media /media
    # mount --make-unbindable /media

関連情報

  • man ページの mount(8)

このページには機械翻訳が使用されている場合があります (詳細はこちら)。