Linuxでサブディレクトリをハードドライブにマウントするにはどうすればよいですか?


13

2台のハードドライブ(A、B)があり、次のディレクトリがあると仮定します。

  • / var / www
  • / var / www / upload

現在、ファイルを/ var / wwwまたは/ var / www / uploadにアップロードすると、ドライブAに保存されます。

フォルダ/ var / www / uploadがドライブBを指すようにするにはどうすればよいですか。したがって、ファイルを/ var / www / uploadにアップロードすると、ドライブBに保存されますが、ファイルを/ var / wwwにアップロードすると、ドライブAに保存されます。

回答:


23

ディスクAがルート(/)ファイルシステムとしてマウントされていないと仮定しました。その場合、driveAの行を無視します。

/ etc / fstabを編集します。

/ dev / diskA / var / www / auto defaults 1 2
/ dev / diskB / var / www / upload auto defaults 1 2

「auto」は、そのパーティションにあるファイルシステムに置き換えることができますが、上記の方法はとにかく動作するはずです。

ディスクAとBが別の場所にマウントされている場合、シンボリックリンクを試すことができます。

ln -s / path / to / driveA_mountpoint / var / www /
ln -s / path / to / driveB_mountpoint / var / www / upload

注: driveAの/ var / wwwおよびディレクトリ「アップロード」は存在してはなりません。存在しない場合、これは失敗します。

個人的には、マウントのバインドオプションを使用することを好みます。

mount -o bind / var / www / / path / to / driveA_mountpoint
mount -o bind / var / www / upload / path / to / driveB_mountpoint

ただし、/ etc / fstabの編集を検討してください-おそらく最良の方法です。


3
この回答は、ドライブaがルートドライブではないと想定しています。Aがルートドライブの場合、空のディレクトリ(/ var / www / upload)を作成するだけで、上の例ではドライブbのfstabエントリを作成するだけです。
ロイ・リコ

3
@minder -あなたにマウントバインドを置くために/etc/fstab/path/orig /new/path/mount bind defaults 0 0
ウォーレン

1
:あなたは、最初のコードブロックのタイプミス持っ/dev/diskB /ver/www/uploadvervar
フレデリックLeitenberger

3

ハードドライブBはマウントされていますか?もしそれが、

ln -s /path/to/hard/drive/B/mount/point /var/www/upload

さもないと

mount -t <fstype> -o defaults /dev/<hard driver B> /var/www/upload

これは機能しますが、fstabに追加すると、マシンのブート時に再マウントされますが、例ではそうではないため、より良いソリューションになると思います。
ロイ・リコ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.