Совместное использование AUFS через SMB и NFS
Я использую Ubuntu Server 12.04 в качестве файлового сервера с 3 дисками, два из которых содержат файлы, а один содержит паритет других, используя Snapraid. Мне удалось использовать один диск как для SMB, так и для NFS, но теперь я хочу, чтобы оба диска отображались как один и делиться этим. поэтому я создал папку для монтирования своей ветки AUFS: "storage_pool", затем я добавил свою ветку AUFS в мой файл fstab:
#AUFS Pool system
none /storage_pool aufs br:/mnt/disk1=rw:/mnt/disk2,sum,create=mfs 0 0
из того, что я понял, create = mfs поместит следующий файл, записанный в ветку, на диск с наибольшим количеством свободного места. так я хочу. затем я поделился папкой "storage_pool" через SMB вместе с каждым общим диском, который они разделяют:
[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
Теперь я могу видеть как диски, так и AUFS с моего рабочего стола Windows. Затем я попытался записать файл в ветку AUFS и заметил, что он обнаружен на диске 1, который почти заполнен, поэтому я ожидал, что он появится на диске 2. Затем я попытался записать файл в корень диска 2 и обнаружился в корне ветки AUFS. Я создал папку на диске 2 с тем же именем, что и на диске 1, и подпапку с новым именем, которая содержит 2 файла. новая папка и файлы не отображаются в ветке AUFS. и я не понимаю почему.
мой следующий вопрос, как я могу поделиться своей веткой AUFS через NFS. Мои привязки NFS в fstab выглядят так:
#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 Branch на мой /etc/rc.local вместо моего fstab, например так:
mount -t aufs -o br:/mnt/disk1=rw:/mnt/disk2,sum,create=mfs none /storage_pool
Затем я перезапустил свой сервер, и теперь папки и файлы с disk2 отображаются в ветке AUFS. запись файлов в ветку по-прежнему создает проблемы, поскольку она только пытается записать на диск1, при попытке с моего рабочего стола Windows сообщает, что на диске недостаточно места, но заполнен только диск1.
Надеюсь, кто-нибудь может мне помочь.
С уважением Ник
1 ответ
Я обнаружил проблему, связанную с моей веткой 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
Теперь он правильно монтируется, записывает новые файлы на диск с наибольшим количеством места и записывается непосредственно на один из дисков, представленных в пуле.