Changing Greyhole Mount Points

From Amahi Wiki
Jump to: navigation, search

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

bash code
​sudo mkdir /var/hda/files/drives/bay2 sudo mkdir /var/hda/files/drives/bay3 sudo mkdir /var/hda/files/drives/bay4​


Backup fstab

bash code
​sudo 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

bash code
​sudo 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​