[[Category:apps]]
== What is Greyhole ==
<div style="border: 1px solid #A3B1BF; padding: .8em 1em; background-color: #E6F2FF; margin: 0 1em;">NEW: [http://codewww.googlegreyhole.comnet/p/greyhole/wiki/MigrateFromWHS Widows Home Server Drive Extender Migration GuideGreyhole] is Amahi's [[Storage pooling]]</div>technology of choice. Storage Pooling combines the space of multiple disk drives and makes them look as if they were all part of a single pool of disk space. Greyhole was designed independently of Amahi, however, with feedback and great work, the Greyhole team made it suitable for integration with Amahi.
Specifically, Greyhole:
* Combines the space from multiple drives into a single volume
* Distributes files across all drives in the pool
* Creates multiple copies of files in admin-specified shares
<br />
Recommend you consult [https://github.com/gboudreau/Greyhole/wiki/WhatNotToPutInGreyholeShares what not to put in Greyhole shares] as a precaution when determining which shares to select.
== What is You can add additional drives to your HDA and prepare them for use in Greyhole ==by following [[Adding_a_second_hard_drive_to_your_HDA|adding a second hard drive to your HDA]] guidance or use the Amahi [https://www.amahi.org/apps/disk-wizard Disk Wizard] (Amahi 8 or greater).
A new feature {{Warning|<div style<nowiki>=</nowiki>"color:darkred">You should <u>'''NEVER'''</u> change or delete files in the shared directories (''/var/hda/files/*'' by default) directly on the HDA, using the terminal, or the Gnome file browser, for the shares for which you checked the ''Uses pool'' option in the Amahi is dashboard. If you want to work with files on Greyhole shares on the HDA, you should [[Storage poolingMount Shares Locally]] using [http:.<br/><br/greyhole.pommepause.com/ Greyhole]. Storage Pooling is a technology to pool disk drives and make them look >You should be safe reading existing files directly, or adding new files directly, as long as if they were all part of a single don't care that your new files will only be moved into the storage pool of disk spaceduring the next check, which runs automatically at midnight (or manually using ''greyhole --fsck''). This feature is installed by defaultUntil then, but requires a few simple steps to begin utilizing the featuresyour new files will be stored in your shared directories (normally ''/var/hda/files/share_name/'').
You can add additional drives to Also, touching anything inside the '''gh''' directories that Greyhole creates at the root of your hda and prepare them partitions is a recipe for use in Greyhole by following disaster. [[Adding Greyhole not on root|We strongly discourage you from using the root partition in a second hard drive to your HDA|this tutorialpool]].</div><br/>}}
To add a drive to your Greyhole storage pool. First open your dashboard and navigate to the Shares tab. Then click on the Storage Pool sub-category. You will see a page similar to the one below. == Important Warnings ==<div style="color:darkred">You should '''neverNOTE:''' change or delete files in the shared directories All commands are executed as root user (''/var/hda/files/*'' by defaultFedora) directly on the HDA, using the terminal, or the Gnome file browser, for the shares for which you checked the ''Uses pool'' option in the Amahi dashboard.<br/>You should be safe reading existing files directly, or adding new files directly, as long as don't care that your new files will only be moved into the storage pool during the next check, which runs automatically at midnight preceded with sudo (or manually using ''greyhole --fsck''). Until then, your new files will be stored in your shared directories (normally ''/var/hda/files/share_name/''Ubuntu).
Also, touching anything inside == Amahi 7 or greater ==Amahi application [https://www.amahi.org/apps/greyhole-ui Greyhole UI] provides this capability. Refer to the '''gh''' directories that [[Greyhole_UI_App_Transition_Guide|Greyhole creates at the root of your partitions is a recipe UI Application Transition guide]] for disasterdetails on installation and configuration.
We '''NOTE:''' If you would still like to setup your Greyhole pool manually, please see [[Amahi_Create_Manual_Greyhole_Setup|Manual Greyhole not on root | strongly discourage you from using the root partition in a drive poolSetup]].</div><br/><br/>
== First things first Amahi 6 ==
You need to go in the Settings tab, and enable '''select [[Advanced_Settings|Enable Advanced Settings''']].<br/> Without Advanced Settings enabled, you won't see the following page and options.
== For <b><u>Storage Pool (Partitions) ==</u></b><br />
[[File:Storage_Pool_1.png|600px|thumb|left]]
Select the drives you want available for your storage pool.
== Greyhole options ==<b><u>Share Options</u></b><br />
The next step is to select the share you want to replicate across the pool.
From the Shares tab, select the Shares sub-catagory. We chose the Pictures share for this tutorial.
[[File:Greyhole_Options_1.png|600px|thumb|left]]
Check the option for "Uses pool" and choose the number of drives to replicate this share. In this instance we have chosen to use all drives available to the greyhole pool.
Note'''NOTE: ''' Greyhole is not a backup solution. If a file is removed, all copies are removed. == Advanced Options ==
== You can further configure Greyhole advanced options ==by manually editing '''/var/hda/platform/html/config/greyhole.yml'''.
You can further configure Greyhole by manually editing the following file:<br/>'''NOTE:''' Options duplicated in ''/var/hda/platform/html/configetc/greyhole.conf will be overridden by grehole.yml'''.
To see what options are available, and what they do, refer to the [httphttps://greyhole.googlecodegithub.com/svngboudreau/Greyhole/trunkblob/master/greyhole.example.conf sample greyhole.conf] provided with Greyhole. greyhole.yml is in in [http://en.wikipedia.org/wiki/YAML YAML] format. Most of it should be easy enough to modify. The only exception would be the sticky_files (and optional sticky_into) options.<br/>
greyhole.yml is in in YAML format. Most of it should be easy enough to modify. The only exception would be the sticky_files (and optional sticky_into) options.<br/>
Here's an example of how those should appear:
To specify the following to Greyhole in greyhole.conf:
<pre>sticky_files <nowiki>= </nowiki> Music/ sticky_files <nowiki>= </nowiki> Videos/Movies/ stick_into <nowiki>= </nowiki> /mnt/hdd1/gh stick_into <nowiki>= </nowiki> /mnt/hdd5/gh sticky_files <nowiki>= </nowiki> Backups/CrashPlan/ stick_into <nowiki>= </nowiki> /mnt/hdd0/gh</pre>
one should specify this in the greyhole.yml file, where '''precise indentation matters''':
<pre>sticky_files:
- - Music/
- - Videos/Movies/
- /mnt/hdd5/gh
- - Backups/CrashPlan/
- - /mnt/hdd0/gh</pre> Once finished, it's important that you check to see the file is properly formatted. To do so, do the following: cd /var/hda/platform/html/config echo 'require "yaml"; YAML::load(File.open("greyhole.yml"))' | irb If you do not see any errors, then your ready for the next step. Otherwise, ensure you correct the errors before proceeding. For the changes to be effective, you will need to force Amahi to: :<u>Ubuntu</u><br />:Regenerate the greyhole.conf file by editing a share, clicking it's path, and just clicking the Save button without actually changing the path.
For your changes to be effective, you'll need to force Amahi to regenerate :<u>Fedora</u><br />:Restart the greyholeDashboard with any one of these alternatives as [[Open_terminal|root user]]: :* touch /var/hda/platform/html/tmp/restart.conf file. You can do so by editing a share, clicking it's path, and just clicking the Save button without actually changing the pathtxt:* systemctl restart httpd.service:* reboot
:Then regenerate the greyhole set up by changing any setting in Shares or in Drive pooling.<!--== Copying you data into Convert Greyhole shares the first time from SQLite to MySQL ==Greyhole is already using MySQL in Amahi 6.0
When you start Greyhole was previously using SQLite as the default database for queueing up tasks on Amahi. This was unique to Amahi as Greyhole, you might want was originally designed to copy or move all your exiting files into your new shares that use the storage poolMySQL for this task.
Note: This is not necessary if your There are some major performance benefits to using MySQL over SQLite when writing large amounts of files are already in Amahi . Switching can be especially useful when moving data to Greyhole sharesfor the first time. If they are For now there, and is a script you can run if you enable the ''Uses pool'' option in the Amahi dashboard, the files will start getting moved around into the drives in your storage pool during the night (starting at midnight), when the nightly storage pool check startswant to switch over.<br/>The instructions below are for users who have more data This script has been tested to copy into the be safe while Greyhole shares than their currently free space in the /var/hda/files/ folderis working but should be used with discretion.
Once way ''To Convert to do that is to mount the shares that use the Greyhole storage poolMySQL, either on the HDA itself, or on a client computer on your local network, and copy your data from their existing location into the mounted shares.This can be time consuming, but it is the safest way to use Greyhole.run as root:''
Another way to move your files from their current location into the storage pool is to /usr/share their current location using an Amahi share that ''Uses pool'', then let Greyhole nightly check move the files from there into the pool/greyhole/db_migration-sqlite2mysql.sh
Here's a more detailed walkthrough for To see what DB engine is Greyhole using, do this method:
# Setup the Greyhole Storage Pool in the Amahi dashboard, Shares > Storage Pool page.# Go in the Shares > Shares page. In there, make sure you have an existing share for each share you have data for. Create new ones if you need, remove the ones you don't need.# Edit the ''path'' of each of those shares, and enter the current location of your existing data. For example, the Movies share could have a path = '' grep db_engine /mediaetc/External Drive/Movies''# Enable the ''Uses pool'' option for each of your shares, and select the number of extra copies you'd like, if anygreyhole.conf# Now, you either need to wait for Greyhole'S nightly check to start, or you can start it manually from a terminal, as root, using this command: greyhole --fsck# Monitor /var/log/greyhole.log to see when the ''fsck'' operation is done.# Once ''fsck'' is done, your data has now been moved into the Greyhole storage pool (in the drives you selected in Shares > Storage Pool). All that should be left in the previous location of your data (''/media/External Drive/Movies'' from the previous example) should be symbolic links pointing to the new file copies. If the previous location is just empty directories (no symlinks), do not panic. This is normal if your previous location is an NTFS or FAT partition (drive).# Move all those directories / symlinks from there into the correct folders in /var/hda/files/share_name# Back in the Amahi dashboard, edit the path of the shares once again, and put back ''/var/hda/files/share_name'' (i.e. the folders where you moved the symbolic links).# If you used an NTFS or FAT partition for the previous location, you'll need another fsck to create the symlinks where they should be. Either wait for midnight, or launch it manually, from a command line, as root: ''greyhole --fsck''
You're done. All your existing data is now stored in the various drives included in your storage pool, == Tips and are accessible via the Samba shares you have defined in the Amahi dashboard.Best Practices ==
== /media ==Including any drive mounted as /media/Something in your storage pool is usually a bad idea.<br/>Those mounts are created by the ''gnome-automounter'', which requires you Refer to be logged in into X (Gnome) to become available.<br/>This will create issues with [[Greyhole_Tips|Greyhole, which expects drives to always be available, and will take action when some of them are missingTips]] for additional guidance.
Follow [[Adding a second hard drive to your HDA|this guide]] to permanently mount your drives, before you include them in your storage pool.== Testing and Reliability ==
== Disable Check out the [[Greyhole ==For those who do not use grinder]] to help make Greyhole, you can disable it. This is based on the fact you never have used it by enabling 'Uses pool' on any share. Recommend using extreme caution as this could have unpredictable resultsrock solid.
Perform the following steps as user '''root'''== References ==* Good [http://revxatlarge.blogspot.com/2011/04/restoring-deleted-files-in-greyhole-and.html article] on Greyhole with terms explained.
chkconfig greyhole off remove * [https:/etc/monitgithub.dcom/gboudreau/greyholeGreyhole/wiki Greyhole Wiki]: Provides additional guidance and information.conf service monit restart service greyhole stop
'''DO NOT''' attempt * [https://github.com/gboudreau/Greyhole/wiki/MigrateFromWHS Windows Home Server (WHS) Drive Extender Migration Guide]: Move from WHS to remove the Amahi and Greyhole package as it is a dependency of the HDA software. Doing so will break your HDA.<br />