Changing Greyhole Mount Points
DISCLAIMER
This is what worked for me. This may not work for you. I recommend testing this ONLY if all of your data is backed up and recoverable outside of greyhole. We cannot be held responsible if you lose all of your data attempting this. YMMV.
How To Do It
Stop Greyhole
In the HDA dashbaord:
- Setup > Settings > Servers > Greyhole
- Uncheck Watchdog and then press the Stop It button.
NOTE: All commands must be done as root user (Fedora) or preceded with sudo (Ubuntu).
Change Mount Points
Unmount your data drives
umount -a
Verify this completed by checking your data drives are not mounted
mount
Create your new mount points
mkdir /var/hda/files/drives/bay2 mkdir /var/hda/files/drives/bay3 mkdir /var/hda/files/drives/bay4
Backup fstab
cp /etc/fstab /etc/fstab.bak.2013.05.01
You could just use fstab.bak, but I prefer to have my backups dated.
Edit fstab
nano /etc/fstab
Look for your mount points and change them to the new folders you want to mount the data drives in.
If you haven't commented your fstab file, now's a good time for that. Here's mine:
# <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc nodev,noexec,nosuid 0 0 # / was on /dev/sda1 during installation UUID=45e7d257-a7cc-4a36-9dd8-20929ad54b0e / ext4 errors=remount-ro 0 1 # swap was on /dev/sda5 during installation UUID=c4d9f59e-1d7b-47ba-a956-e0e8a231bc10 none swap sw 0 0 ########################################## Mount 4TB Seagate drive in Bay 2 from bottom ###################### UUID=05c05271-7309-4244-9dd8-8c2d6c5aeacd /var/hda/files/drives/bay2 ext4 noatime,data=writeback,nofail 1 2 ########################################## Mount 2TB Seagate drive in Bay 3 from Bottom ###################### UUID=489e45f4-16ef-4a65-47ba-456e465a4b4c /var/hda/files/drives/bay4 ext4 noatime,data=writeback,nofail 1 2
Remount the Drives
bash code |
---|
sudo mount -a
|
If there are any errors from this command, FIX THEM before you reboot.
Check the drives have mounted in the new mount points with:
bash code |
---|
mount
|
Reboot
From the HDA dashboard:
Setup > Settings > Settings > click the reboot button.
Fix Greyhole
Some of these steps may not be necessary, but this is the path I took that got me results.
Several of these steps can take a LONG time depending on how many files are on the drives you have remounted.
I recommend keeping an eye on greyhole to ensure it is doing what it should.
bash code |
---|
tail -f /var/log/greyhole.log
|
Press Ctrl+Z to pause this task. Note the number in brackets or use the "jobs" command to see where it is queued.
Bring it to the foreground to check it at anytime with:
bash code |
---|
fg 1
|
1 being the first task in the background.
Restart Greyhole
From the HDA:
Setup > Settings > Servers > Greyhole
Ensure Greyhole is started and the watchdog option is checked.
Add Drives to Greyhole
From the HDA:
Shares > Storage Pool > Check the drives (should be listed under the new mount points)
If your old mount points are still checked, uncheck them.
Remove invalid symlinks
bash code |
---|
sudo greyhole --fix-symlinks
|
At this point all of your files that were located on a drive whose mount point was changed will disappear from your shares.
This is because the symlinks were no longer valid and greyhole is still looking for them in their old folders.
Bring up the log and watch it work away at removing all those symlinks.
Wait until it has completed.
Delete Orphaned Metadata
bash code |
---|
sudo greyhole --fsck --delete-orphaned-metadata
|
This will remove any metadata still stored for those missing files. It is necessary for the next step to work.
Find the Orphaned Files
bash code |
---|
sudo greyhole --fsck --find-orphaned-files --dir=/var/hda/files/drives/bay2/gh
|
This will run an fsck on the drive mounted in /var/hda/files/drives/bay2 and look for files without metadata.
Repeat this for each drive you have changed the mount points for.
At this point, your files should begin reappearing in your shares. If not, try running another fsck:
bash code |
---|
sudo greyhole --fix-symlinks sudo greyhole --fsck
|