web-dev-qa-db-ja.com

AUFS共有SMBおよびNFS

Snapraidを使用して、ubuntuサーバー12.04を3つのディスクを持つファイルサーバーとして使用しています。2つにはファイルが含まれ、1つには他のファイルのパリティが含まれています。 SMBとNFSの両方として1つのディスクを共有できましたが、両方のディスクを1つとして表示して共有したいので、AUFSブランチをマウントするフォルダーを作成しました: "storage_pool "それから私は私のfstabファイルに私のAUFSブランチを追加しました:

#AUFS Pool system
none /storage_pool aufs br:/mnt/disk1=rw:/mnt/disk2,sum,create=mfs 0 0

私が理解したことから、create = mfsは、ブランチに書き込まれた次のファイルを、最も空き容量の多いディスクに配置します。それは私がそれがなりたい方法です。次に、SMB=を介して、フォルダstorage_poolを共有しました。

[Storage_Disk1]
path = /mnt/disk1
available = yes
valid users = nick
read only = no
browseable = yes
public = yes
writable = yes

[Storage_Disk2]
path = /mnt/disk2
available = yes
valid users = nick
read only = no
browseable = yes
public = yes
writable = yes

[XBMC_Pool]
path = /storage_pool
available = yes
valid users = nick
read only = no
browseable = yes
public = yes
writable = yes

これで、Windowsデスクトップから両方のディスクとAUFSブラケットを表示できます。次に、AUFSブランチにファイルを書き込もうとすると、ほぼ満杯であるdisk1に表示されるので、disk2に表示されると予想していました。次に、disk2のルートにファイルを書き込んでみましたが、AUFSブランチのルートに表示されました。私はdisk2にdisk1と同じ名前のフォルダーを作成し、2つのファイルを含む新しい名前のサブフォルダーを作成しました。新しいフォルダとファイルはAUFSブランチに表示されません。理由がわかりません。

nFSを介してAUFSブランチを共有する方法についての私の次の質問。 fstabのNFSバインディングは次のようになります。

#NFS4 Share bindings
/mnt/disk1 /NFS4/XBMC none bind 0 0
/storage_pool /NFS4/XBMC_pool none bind 0 0

そして、NFSエクスポートは次のようになります。

/NFS4 *(rw,fsid=0,insecure,async,no_subtree_check)
/NFS4/XBMC *(rw,nohide,insecure,async,no_subtree_check)
/NFS4/XBMC_pool *(rw,fsid=0,nohide,insecure,async,no_subtree_check,crossmnt)

共有/ NFS4/XBMCは完全に機能しますが、/ NFS4/XBMC_poolは空で表示されます。

誰かが助けてくれるといいのですが、もっと情報が必要な場合は、追加してみます。

次のように、AUFSブランチのマウントをfstabではなく/etc/rc.localに移動しようとしました。

mount -t aufs -o br:/mnt/disk1=rw:/mnt/disk2,sum,create=mfs none /storage_pool

次にサーバーを再起動すると、disk2のフォルダーとファイルがAUFSブランチに表示されます。ファイルをブランチに書き込むと、問題が発生します。Windowsデスクトップからディスク1への書き込みのみを試みると、十分なディスク領域がないと報告されますが、ディスク1のみがいっぱいです。

誰かが私を助けてくれることを願っています。

ニックよろしく

1
VortexDK

AUFSブランチに関連する問題を発見しました。mountコマンドに誤りがありました。

の代わりに:

mount -t aufs -o br:/mnt/disk1=rw:/mnt/disk2,sum,create=mfs none /storage_pool

次のようになります。

mount -t aufs -o br:/mnt/disk1=rw:/mnt/disk2=rw -o sum -o udba=reval -o create=mfs none /storage_pool

これで正しくマウントされ、ほとんどのスペースを持つディスクに新しいファイルが書き込まれ、ディスクの1つに直接書き込まれると、プールに表示されます。

1
VortexDK