web-dev-qa-db-ja.com

シンボリックリンクとfstabによるバインディングの違いは何ですか?

Eric Hammondの記事 EBSを使用してAmazon EC2でMySQLを実行する 彼は2番目のドライブ(/vol/)を追加する方法を示し、次にmysqlの設定とデータをそこに移動します。

/sdhは、fstabを編集して以下を追加することにより、/volとしてマウントされます。

/dev/sdh /vol xfs noatime 0 0

次に、次のようにいくつかのパスが追加されます。

/vol/etc/mysql /etc/mysql     none bind

私はこの方法で問題はありませんが、何が起こっているのかよくわかりません。

これは、次のようなシンボリックリンクを使用する場合と最もよく比較できます。

ln -s /etc/mysql /vol/etc/mysql

bind構文に関する多くの情報を見ずにman fstabを調べましたが、Linux管理者ハンドブックのfstabセクションにも見つかりません。誰かがfstabbind構文、それがどのように機能するか、それが何をするか、そしてどこでそれに関するより多くの情報を見つけることができるべきかについていくつかの光を当てることができますか?

7
cwd

bindはファイルシステムをミラーリングします(他の状況の中でも、「完全な」システムが必要なchrootを設定する場合(Gentooを解凍/インストールする場合など)に役立ちます。

単純にそのように、AからBにツリーをミラーリングします。オプションがあるかどうかはわかりませんが、ミラーリング以上のことはできないと思います。

別のファイルシステムを指すファイルシステム内のファイルであり、セットアップが必要であり、依然として「特別なファイル」であるシンボリックリンクとは異なり、バインドは実際にはサブツリー全体をミラーリングします。ツールによっては、両方の戦略が機能する場合がありますが、シンボリックリンクを検出することは可能であり、一部のツールはそれを元のパスに解決する場合があります。 bindアプローチはより透過的で、2つの異なるファイルシステムのように機能します。

8
njsg