I just finished a fresh install yesterday and created several shares and set up an hourly snapshot task on one to test out the snapshot system. It was creating the snapshots fine, but I started noticing errors when I tried to change my NFS shares.
Traceback (most recent call last):
File "/opt/rockstor/src/rockstor/storageadmin/views/nfs_exports.py", line 138, in refresh_wrapper
refresh_nfs_exports(exports)
File "/opt/rockstor/src/rockstor/system/osi.py", line 580, in refresh_nfs_exports
bind_mount(exports[e][0]['mnt_pt'], e)
File "/opt/rockstor/src/rockstor/system/osi.py", line 552, in bind_mount
return run_command([MOUNT, '--bind', mnt_pt, export_pt])
File "/opt/rockstor/src/rockstor/system/osi.py", line 115, in run_command
raise CommandException(cmd, out, err, rc)
CommandException: Error running a command. cmd = /bin/mount --bind /mnt2/books/.books_201811020900 /export/books/.books_201811020900. rc = 32. stdout = ['']. stderr = ['mount: special device /mnt2/books/.books_201811020900 does not exist', '']
I could not delete the snapshots through the GUI and ended up using SSH into the box and deleting them manually through the terminal commands (btrfs subvolume delete <share>).
I have since rebooted the system and tried to delete the offending NFS share with no luck.
Traceback (most recent call last):
File "/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py", line 41, in _handle_exception
yield
File "/opt/rockstor/src/rockstor/storageadmin/views/nfs_exports.py", line 206, in delete
nfs4_mount_teardown(export_pt)
File "/opt/rockstor/src/rockstor/system/osi.py", line 544, in nfs4_mount_teardown
run_command([RMDIR, export_pt])
File "/opt/rockstor/src/rockstor/system/osi.py", line 115, in run_command
raise CommandException(cmd, out, err, rc)
CommandException: Error running a command. cmd = /bin/rmdir /export/books. rc = 1. stdout = ['']. stderr = ['/bin/rmdir: failed to remove \xe2\x80\x98/export/books\xe2\x80\x99: Directory not empty', '']
If I open the advanced edit, this is what my exports look like:
/export/music 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811020900 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021200 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021900 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021600 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021700 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021300 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021400 192.168.0.0/16(rw,async,insecure)
/export/tv 192.168.0.0/16(rw,async,insecure)
/export/movies 192.168.0.0/16(rw,async,insecure)
/export/downloads 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021000 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021500 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021800 192.168.0.0/16(rw,async,insecure)
/export/books/.books_201811021100 192.168.0.0/16(rw,async,insecure)
/export/books 192.168.0.0/16(rw,async,insecure)
All of the “.books_” snapshots have been deleted from the system, but I cannot remove the shares. I have even edited the /etc/exports (below) but the snapshots still show up in the NFS GUI after a reboot and if I mount the exports, I don’t see any data in the shares.
/export/music 192.168.0.0/16(rw,async,insecure)
/export/tv 192.168.0.0/16(rw,async,insecure)
/export/movies 192.168.0.0/16(rw,async,insecure)
/export/downloads 192.168.0.0/16(rw,async,insecure)
/export/books 192.168.0.0/16(rw,async,insecure)
Is there any way to remove the non-existent folders from the auto-exports? Is there a fix to see the files in the NFS shares when I connect to them? I would prefer not to use Samba on my linux system because some of the applications I use want traditional mount points and not just Samba links.