omv7:omv7_plugins:snapraid

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
omv7:omv7_plugins:snapraid [2026/08/18 13:41] – initial version. Still missing screenshot and formatting adjustments auanasghepsomv7:omv7_plugins:snapraid [2026/08/18 13:42] (current) – old revision restored (2025/01/18 14:05) auanasgheps
Line 1: Line 1:
-====== SnapRAID AIO ======+{{indexmenu_n>9}} 
 +\\ 
 +<html><!--- 
 +Remark: Given the similar setup, this doc contains numerous reused screen shots from the OMV6 version of this doc. 
 +---></html> 
 +---- 
 +\\ 
 +<html><center><b>SnapRAID Plugin For OMV7</b></center></html> 
 +\\ 
 +{{ :omvextras_logo4.jpg?400 |}} 
 + 
 +====== SnapRAID Plugin For OMV7 ====== 
 +\\ 
 +\\
  
 ===== Summary ===== ===== Summary =====
  
-SnapRAID AIO is an OpenMediaVault 8 plugin that wraps the popular +SnapRAID is a backup program for JBOD disk arrays. SnapRAID stores data parity information which enables the recovery of disk failures. SnapRAID is targeted toward home media centers, with a lot of large files that rarely change.  However, SnapRAID works well in similar environments were data stores are largely static. 
-[[https://github.com/auanasgheps/snapraid-aio-script|snapraid-aio-script]] + 
-around your SnapRAID arraysIt lets you configureschedule, and monitor +Beside the ability to recover from disk failures, other features of SnapRAID are:  
-one or more arrays independently from the OMV web interfacewith support +  * All data is hashed to ensure data integrity and to avoid silent corruption.  
-for email, Apprise, and Healthchecks.io notificationsDocker container +  * If failed disks are too many to allow a recovery, only the data on the failed disks is lost. All data on the remainder of disks is safe.  
-managementsync/scrub thresholds, and custom hooks.+  * If files are accidentally deleted, they can be recovered.  
 +  * SnapRAID can be used with disks that already filled. 
 +  * The disks of the array can be different sizes.  
 +  * Data disks can be added at any time.  
 +  * SnapRAID can be removed at any time without the need to reformat or move data. 
 + 
 +---- 
 + 
 +==== Third Party Software Note ==== 
 + 
 +While this OMV plugin makes the SnapRAID package easy to integrate into openmediavault, the SnapRAID package itself was created by a third party.  See the project / author's -> [[http://www.snapraid.it/|web page]] for more detailed information and the [[https://sourceforge.net/p/snapraid/discussion/|SnapRAID forum]] for technical support. 
 + 
 +===== Prerequisites ===== 
 + 
 +  * [[https://wiki.omv-extras.org/doku.php?id=misc_docs:omv_extras|OMV-Extras]] must be pre-installed. 
 +  * An additional (dedicated) drive is required to store SnapRAID parity data SnapRAID's parity drive must be the same sizeor largerthan the largest protected drive.  This is a hard requirment. 
 +  * For reports on drive health and automating SnapRAID administrative tasks, setting up -> [[https://wiki.omv-extras.org/doku.php?id=omv7:new_user_guide#server_notifications|Server Notifications]] is **recommended**. 
 +  * Enabling -> [[https://wiki.omv-extras.org/doku.php?id=omv7:new_user_guide#hard_drive_health_and_smart|SMART]] and scheduling a weekly short testfor all protected drives, is recommended. 
 +  * Consider testing the server's ram with a test program like -> [[https://www.memtest86.com/|memtest86]].  Faulty ram is a known cause for data loss when using SnapRAID. 
 +  
 + 
 + 
 +===== How SnapRAID Works ===== 
 + 
 +To explain how SnapRAID worksa comparison to RAID5 may be helpfull.\\ 
 +---- 
 +\\ 
 + 
 +<html><center><span style="font-size:200%;"><b>SnapRAID</b></span></center></html> 
 + 
 +SnapRAID is in between RAID and a Backup program, trying to get the best benefits of both During normal operation SnapRAID does not affect data in any way.\\ 
 +\\  
 +**Features**:\\ 
 +  * Can protect the contents of multiple disks.  Whether disks are independent or pooled is irrelevant. 
 +  * Filesystem types are irrelevant but simple filesystemslike EXT4, are recommended. 
 +  * Calculates file parity information on demand. 
 +  * Different sized disks can be protected without losing storage space. 
 +  * Can reconstruct a failed hard drive. 
 +  * Can restore deleted files. 
 +  * Uses a check summing hash that protects against silent corruption (bit-rot)with the ability to reconstruct corrupted files. 
 +  * A disk can be added or removed at any time. 
 +  * Can be removed at any time without the need to recover or move data. 
 + 
 + 
 +{{ :omv6-plugins-snapraid-02.jpg?800 |}} 
 + 
 +---- 
 + 
 +<html><center><span style="font-size:200%;"><b>RAID5</b></span></center></html> 
 + 
 + 
 +Traditional RAID5 stripes data and interleaves parity information across multiple drives.\\ 
 +\\ 
 +**Features**:\\ 
 +  * Can aggregate a collection of disks into a pool that appears, to the OS, to be a single drive. 
 +  * Can use dissimilar sized disks (software RAID) but the array total will limit larger disks to the smallest disk's size.  (Hardware RAID may require identical disks.)  
 +  * Calculates parity on the fly. 
 +  * An array can operate with one member disk disabled. 
 +  * Can reconstruct a failed hard drive. 
 +  * Provides a parallel I/O speed boost.  (However, this feature is irrelevant for NAS servers running in 1GB networks.) 
 + 
 +{{ ::omv6-plugins-snapraid-01.jpg?800 |}} 
 + 
 + 
 + 
 +===== Installation =====
  
-This plugin **requires** the [[omv8:omv8_plugins:snapraid|openmediavault-snapraid]] +In OMV7's GUI:\\ 
-plugin to be installed firstThat plugin provides the SnapRAID binary and +Under **System**, **Plugins**, find and highlight **openmediavault-snapraid 7.X**, and click the **install** button.\\ 
-the array configuration that this plugin reads.+\\
  
-SnapRAID AIO is a **full replacement for the built-in diff script** included +===== Initial Configuration ===== 
-in the openmediavault-snapraid pluginIt covers everything the diff script +\\ 
-does (sync, scrub, notifications) and adds significantly more control.+<html><center><span style="font-size:150%;">Naming SnapRAID Array</span></center></html> 
 +\\ 
 +---- 
 +Under **Services**, **SnapRAID**, **Arrays**, click the Create button {{:omv6-plugins_remote_mount-03-1.jpg?20|}}:.
  
 +In the **Name** field, specify a name for the new array and **Save**.\\
 +\\
 +{{ :omv7-plugins-snapraid-02-1.jpg?800 |}}
 +\\
 +\\
 <html> <html>
 <body> <body>
Line 28: Line 114:
     <tr>     <tr>
       <td style="background-color:#E6FEFF;height:25px;width:380px;">       <td style="background-color:#E6FEFF;height:25px;width:380px;">
-If you are currently using the built-in diff script, disable its schedule +        Naming a SnapRAID array is a new feature in OMV7 which allows for the creation of independent arrays.  However, this feature is not intended for the typical home use case. Multiple SnapRAID arrays are not recommended for users who are unfamiliar with SnapRAID 
-before enabling SnapRAID AIO. Running both against the same array at the +
-same time will cause conflicts.+
     </tr>     </tr>
   </table>   </table>
Line 36: Line 120:
 </html> </html>
  
-> SnapRAID AIO is third-party software. For questions about the underlying +----
-> script, see the [[https://github.com/auanasgheps/snapraid-aio-script|upstream repository]].+
  
-===== Prerequisites ===== 
  
-  * **openmediavault-snapraid** installed and at least one array configured. +<html><center><span style="font-size:150%;">Setting up Protected Disks</span></center></html> 
-  * **omv-extras** installed (required to install this plugin). +\\
-  * Email notifications configured under //System → Notification// if you want email alerts. +
-  * For disk spindown: **hd-idle** installed manually. +
-  * For Docker management: Docker running on the same host. +
-  * For Apprise notifications: internet access (Apprise is installed automatically via pipx on first run).+
  
-===== Installation =====+\\ 
 +Under **Services**, **SnapRAID**, **Drives**, click the **Create** button {{:omv6-plugins_remote_mount-03-1.jpg?20|}}:\\ 
 +\\ 
 +In the **Array** field: Select the name of the previously created array.\\ 
 +In the **Drive** field:  Select the drop down menu button on the right.  Select the first drive to be protected by SnapRAID.\\ 
 +In the drive **Name** field:  Provide a name for the drive.\\ 
 +**Check the boxes** for **Content** and **Data**\\ 
 +\\ 
 +{{ :omv7-plugins-snapraid-03.jpg?800 |}}
  
-  - Navigate to //System → Plugins//. +\\ 
-  - Search for **snapraid-aio**+<html><center><span><b>Repeat the above process</b> for all data drives that are to be <u>protected</u> by SnapRAID.</span></center></html> 
-  - Click **Install**.+\\ 
 +<html><center>Click the <b>Save</b> button.</center></html>\\ 
 +\\ 
 +<html> 
 +<body> 
 +  <table width="100%" border="0"> 
 +    <tr> 
 +      <td colspan="2" style="background-color:#69A5FF;height:30px;"> 
 +        <strong><span style="color:#FFFFFF;font-size:110%;">&#160; Info Note</span></strong> 
 +      </td> 
 +    </tr> 
 +    <tr> 
 +      <td style="background-color:#E6FEFF;height:25px;width:380px;"> 
 +        Since at least one good copy of the Content File is required for a full drive restoration, it's best to have a copy of the Content File on <b>all</b> protected drives 
 +    </tr> 
 +  </table> 
 +</body> 
 +</html> 
 +\\ 
 +---- 
 +\\ 
 +<html><center><span style="font-size:150%;">Setting up a Parity Drive</span></center></html>
  
-> [SCREENSHOT: Plugin list with openmediavault-snapraid-aio highlighted and Install button]+\\ 
 +Again, the parity disk must be the same size, or larger, than the largest drive in the collection of disks to be protected.  This is necessary for storing parity data.
  
-===== Quick Start =====+In the **Array** field: Select the name of the previously created array. 
 +In the **Drive** field:  Select the drop down menu button on the right.  Select the drive that will be the SnapRAID parity disk.\\ 
 +In the **Name** field:  Provide a name for the parity drive.\\ 
 +**Check the box** for **Parity**.\\ 
  
-After installation a new entry **SnapRAID AIO** appears in the **Services** menu. 
  
-The recommended workflow for a new array+{{ ::omv7-plugins-snapraid-05.jpg?800 |}} 
- +\\ 
-  - In the SnapRAID plugincreate and configure your array (paritydata disks)+<html><center>Click the <b>Save</b> button.</center></html> 
-  Run an initial **sync** from the SnapRAID plugin so the parity is established. +\\ 
-  - Open **Services → SnapRAID AIO**. +<html> 
-  - Click **Create** and select your array. +<body> 
-  - Configure notifications, thresholds, and scrub settings. +  <table width="100%" border="0"> 
-  - Click **Schedule** to set up the automated run.+    <tr> 
 +      <td colspan="2" style="background-color:#69A5FF;height:30px;"> 
 +        <strong><span style="color:#FFFFFF;font-size:110%;">&#160; Note</span></strong> 
 +      </td> 
 +    </tr> 
 +    <tr> 
 +      <td style="background-color:#E6FEFF;height:25px;width:380px;"> 
 +        Split Parity is a new SnapRAID feature that is supported in OMV7:<br> 
 +        - While the rule"<i><b>the parity drive must equal or exceed the size of the largest protected data drive</i></b>" still applies; split parity allows combining smaller drives to create what appears to be a single large parity drive.<br> 
 +        New users should note that split parity is an advanced feature that increases admin complexitySplit parity configurations are not recommended for users who are not familiar with SnapRAID.   
 +    </tr> 
 +  </table> 
 +</body> 
 +</html>
  
 <html> <html>
Line 79: Line 202:
     <tr>     <tr>
       <td style="background-color:#FFE4A6;height:25px;width:380px;">       <td style="background-color:#FFE4A6;height:25px;width:380px;">
-Always run an initial sync from the SnapRAID plugin before scheduling SnapRAID AIO. +                <b>Parity drive(s)</b> are reserved <b>exclusively for SnapRAID's use.</b>  Attempting to use a Parity drive for any other purpose will compromise SnapRAID's protection and result in bizarre behavior.
-The AIO script expects parity to already exist and will not create it from scratch.+
     </tr>     </tr>
   </table>   </table>
 </body> </body>
 </html> </html>
 +----
 +\\
 +<html><center>In this configuration instance, the following is the final result:</center></html>
 +\\
  
-===== Config List =====+{{ ::omv7-plugins-snapraid-06.jpg?800 |}} 
 +\\ 
 +----
  
-The main view shows a table of all AIO configurations.+===== SnapRAID Initialization =====
  
-> [SCREENSHOT: SnapRAID AIO datatable showing columns ArrayScheduledLast RunConfig File]+The functions of SnapRAID are supported after the first running of the ''sync'' command.  Depending on the amount of data present on protected disks, the initial sync operation may take considerable time.  Potentially, it may take hours.  If little or no data is present on a protected disk, or set of disks, the ''sync'' operation will be near instant.\\ 
 +\\ 
 +Under **Services**, **SnapRAID**, **Arrays**, select the **Tools Icon** {{:omv6-plugins-snapraid-05-01.jpg?25|}}. Click on **Sync**.\\ 
 +A window will pop up that will show the progress of the **Sync** operation.\\ 
 +\\ 
 +Note, during the very first Sync, a warning may be in the window "content file not found" This is normal, at the end of the Sync, content files will be created.\\ 
 +\\ 
 +Depending on the amount of data, the Sync operation may take considerable time.  When the Sync is done, all files on protected disks will be logged into content files along with their checksums, timestamps, parity data and other information.  When the command completes**END OF LINE** will be displayed.  At this point data on protected disks is **SAFE**.\\ 
 +\\ 
 +The remainder of the toolsunder the tools iconcan be used for manual operations within the GUI.  Some of these tools are discussed in manual operations.
  
-^ Column ^ Description ^ +{{ ::omv6-plugins-snapraid-05-02.jpg?150 |}} 
-| Array | Human-readable name of the SnapRAID array +===== SnapRAID Administration =====
-| Scheduled | Check mark if an automated schedule is configured | +
-| Last Run | Timestamp and outcome of the last script execution (OK / WARNING / Started) | +
-| Config File | Path to the underlying SnapRAID .conf file |+
  
-==== Toolbar Actions ====+There are two methods of SnapRAID Administration and maintenance; **Manual** and **Automated**.  This guide will focus, primarily, on using the automation provided by this plugin for managing SnapRAID.  However, brief explanations of the manual tools available will be helpful in understanding processes that are automated.\\
  
-^ Action ^ Description ^ +==== Basic Order of Operations ====
-| **Create** | Add a new AIO configuration | +
-| **Edit** | Modify the selected configuration | +
-| **Schedule** | Configure or change the cron schedule for this configuration | +
-| **Delete** | Remove the configuration, its generated config file, and its cron entry |+
  
-==== Tools Menu ====+The basic order of SnapRAID maintenance operations is; **Diff**, **Sync** and **Scrub**. \\ 
 +\\ 
 +---- 
 +=== Diff === 
 +\\ 
 +The **Diff** plugin tool is found under **Services**, **SnapRAID**, **Arrays**, under the **Tools Icon**. {{:omv6-plugins-snapraid-05-01.jpg?25|}}\\ 
 +(The CLI command is ''snapraid diff'')\\ 
 +\\ 
 +**Diff** (short for "differences") is the first tool used to check protected disks. The Diff tool tallies and displays files added, deleted, modified, etc., since the last sync operation.  This information requires administrators to decide, whether or not, the next sync operation should take place.  Why? After a sync operation, parity and content information for added, changed or deleted files is __reset__.  Once this information has been reset, changed or deleted files //before// the last sync operation can not be recovered.\\ 
 +\\ 
 +\\ 
 +In accordance with the above, it's important to determine the following:\\ 
 +- **Were there excessive deletes?**\\ 
 +In normal data operations a hand full of user deletes are expected.  In some cases, where media servers or downloaders are involve, the number of automated deletes may be higher.  Excessive deletes may indicate a data disaster.\\ 
 +- **Were there an excessive number of updated or modified files?**\\ 
 +In most cases, administrators will have a rough idea of what is normal for updated or modified files.  As an example, a huge number of file modifications may indicate a ransomware attack.\\ 
 +\\ 
 +In either case, if there are excessive deletes or an excessive number of updated / modified files, **Diff** settings within this plugin can be used to __stop__ an automated sync operation, allowing for the recovery of deleted or modified files.  (For recovery information see the -> [[https://wiki.omv-extras.org/doku.php?id=docs_in_draft:snapraid#fix|Fix]] tool.)\\ 
 +\\
  
-Each row has a **Tools** submenu with the following actions:+<html><center><b>Diff</b> Tool Sample Output</center></html>
  
-^ Tool ^ Description ^ +{{ ::omv6-plugins-snapraid-06.jpg?600 |}} 
-| **Run Now** | Execute the AIO script immediately for this array +\\ 
-| **Force Sync** | Run the AIO script bypassing delete and update thresholds (use with caution) | +----
-| **Sync** | Run a raw `snapraid sync` — useful after initial array setup before the first AIO run | +
-| **Last Log** | Display the most recent log file produced by this array's script run |+
  
-> [SCREENSHOT: Tools submenu expanded on a row in the datatable] 
  
-===== Configuration Form =====+=== Sync ===   
  
-The configuration form is divided into several sections.+The **Sync** plugin tool is found under **Services**, **SnapRAID**, **Arrays**, under the **Tools Icon** {{:omv6-plugins-snapraid-05-01.jpg?25|}}.\\ 
 +(The CLI command is ''snapraid sync'')
  
-> [SCREENSHOT: Config form — top of the form showing the SnapRAID array selector]+After the initial sync, subsequent sync operations log only new or changed file information into content file(s). Sync also creates new checksums and updates parity information for the same files.  Sync does not change checksums or parity information for unaltered files from previous sync operations.  After the initial operation, with a small number of added or changed files, sync tends to run quickly.
  
-==== Array Selection ====+**Sync considerations**: 
 +  * It's important to note that when checksums and parity information are updated for changed files, it won't be possible to restore files or folders to their previous state.  For the same reason, previously deleted files can not be recovered after a Sync.  
 +  * When Sync is running, avoid adding or deleting files during the process.  Otherwise file errors may result. 
 +  * If automation is used, schedule Sync operations for after hours periods where changing or adding files is unlikely to occur.
  
-The top of the form contains a single required field:+----
  
-  * **SnapRAID array** — select the array this configuration applies to. Each array can have only one AIO configuration. The dropdown is populated from arrays defined in the SnapRAID plugin. 
  
-==== Email Notifications ====+=== Scrub ===
  
-> [SCREENSHOTEmail Notifications section showing toggle and greyed-out sender/receiver fields]+The **Scrub** plugin tool is found under **Services**, **SnapRAID**, **Arrays**, under the **Tools Icon** {{:omv6-plugins-snapraid-05-01.jpg?25|}}.\\ 
 +(The CLI command is ''snapraid scrub'')\\ 
 +\\ 
 +Scrub uses file information and their checksums, to check for the presence and health of files and to detect bad blocks.\\  
 +\\ 
 +<html><center>In the following example, command line output was used.</center></html>
  
-  * **Enable email notifications** — sends a report email after each run using OMV's configured notification address (//System → Notification//). When enabled, the sender and receiver addresses are shown read-only, pulled directly from the OMV system configuration.+{{ ::omv6-plugins-snapraid-09.jpg?nolink&800 |}} 
 +----
  
-==== Healthchecks.io ====+If bad blocks are found, during the Scrub, SnapRAID **status** will list them.  (In the GUI, **SnapRAID status** is found under **Services**, **SnapRAID**, **Arrays**, under the **Information icon**.
  
-  * **Enable Healthchecks.io** — reports script completion or failure to a [[https://healthchecks.io|Healthchecks.io]] ping URL. Any warning in the script run counts as a failure. +{{ ::omv6-plugins-snapraid-05-03.jpg?100 |}} 
-  * **Healthchecks UUID** — the UUID portion of your ping URL (not the full URL)+\\ 
-  * **Healthchecks URL** — override for self-hosted instancesMust end with a trailing slash. Defaults to `https://hc-ping.com/`.+The **Fix** command, executed on the command line, will repair bad blocks.\\ 
 +Use ''snapraid -e fix'' to recover them.\\ 
 +Then use ''snapraid -p bad scrub''\\
  
-==== Apprise Notifications ====+----
  
-[[https://github.com/caronc/apprise|Apprise]] is a unified notification library supporting Telegram, Discord, Slack, Gotify, Ntfy, Pushover, and dozens of other services. It is installed automatically via `pipx` on the first run if enabled. 
  
-<html> +=== Fix ==
-<body> +The **Fix** plugin tool is found under **Services**, **SnapRAID**, **Arrays**, under the **Tools Icon** {{:omv6-plugins-snapraid-05-01.jpg?25|}}.\\ 
-  <table width="100%" border="0"> +(The CLI command is ''snapraid fix'')\\ 
-    <tr> +\\ 
-      <td colspan="2" style="background-color:#69A5FF;height:30px;"> +If files are missing, that were not intentionally deleted, use the **Fix** tool to recover them. 
-        <strong><span style="color:#FFFFFF;font-size:110%;">&#160; Note</span></strong> +\\ 
-      </td> +{{ ::omv6-plugins-snapraid-08.jpg?nolink&800 |}} 
-    </tr> +\\ 
-    <tr> +If using the plugin's **Fix** tool for undeleting files or for returning files to their previous state, realize that using the tool is a "shotgun" approach.  The **Fix** tool will restore __ALL__ deleted files and restore __ALL__ changed files to their previous state, as of the last Sync operation.  (However, when in doubt, this may to be the safest approach.)\\ 
-      <td style="background-color:#E6FEFF;height:25px;width:380px;"> +For guidance on using the **Fix** command more selectively on the command line, on a "per file" basis, see the -> [[https://www.snapraid.it/faq|SnapRAID Faq]] for details.\\ 
-Apprise is installed automatically via `pipx` the first time the script runs with Apprise enabledNo manual installation is neededbut internet access is required on that first run. +\\ 
-    </tr> +\\ 
-  </table> +=== Summary ===
-</body> +
-</html>+
  
-> [SCREENSHOT: Apprise section with URL chip-input and Test Apprise button]+  * **Diff** checks for the number of added, deleted, changed and/or restored files, before a Sync operation.  If Diff output is found to have excessive deletes or unexplained changed files, Diff output can be used to halt a Sync operation, until the administrator can examine potential issues.  If an excessive number of files have been deleted or changed, the **Fix** command should be used to correct potential problems.  Correcting potential issues is necessary, before running Sync.  (After Sync runs, previous file alterations or deletions will be permanent.)  
 +  * **Sync** adds new files to content file(s), assigns checksums to new files and resets checksums to existing but changed files.  Sync also calculates parity information for new files and updates parity information for changed files. 
 +  * **Scrub** checks for parity errors and bad blocks.  Scrub should be done after a sync operation to avoid errors caused by deleted or changed files. 
 +\\  
 +---- 
 +===== Automation =====
  
-  * **Enable Apprise** — master toggle for Apprise notifications+Automation of SnapRAID housekeeping is done with what is known as a "**Diff Script**".\\ 
-  * **Apprise URLs** — one or more service URLs in Apprise format (e.g. `tgram://token/chatid`). Enter each URL and press Enter to add it as a chip. Multiple services are supported. +\\ 
-  * **Attach report on warnings** — attaches the full run report to the notification when warning is issued. Not all services support attachments+In a Diff script, the first command **Diff**, checks primarily for deleted, changed or added files Inputs to this script set thresholds on what is (or is notallowed before running the next command.\\   
-  * **Test Apprise** button — sends a test notification immediately using the saved URLsOnly available after saving the configuration.+The second command, **Sync**, catalogues new files and assigns checksums and creates parity information for them.  **Sync** also updates checksums and parity information for changed files.\\   
 +Finally the third command, **Scrub**, is run to check the health of specified percentage of existing files.\\ 
 +\\ 
 +This plugin provides **Diff script functionality**, with user provided inputs, that can be varied according to the user's use case After commands are run, the plugin will provide the user with an e-mail of the outputs from each command.\\ 
 +\\
  
-==== Apprise Email ==== 
  
-Apprise can also send email directly via SMTP or provider-specific URLs, independently of OMV's built-in notification system. 
  
-  * **Enable Apprise email** — toggle for Apprise-based email+==== Diff Script Setup ====   
-  * **Apprise Email URL** — SMTP or provider URL in Apprise format (e.g`mailtos://user:pass@smtp.example.com`)+\\ 
-  * **Attach report on warnings** — same as above+Under, **Services****SnapRAID**, **Settings**: \\ 
-  * **Test Apprise email** button — sends test email using the configured URL.+\\ 
 +<html><center>The following screen is where various parameters for the SnapRAID plugin's Diff script are set.</center></html> 
 +\\ 
 +{{ ::omv6-plugins-snapraid-10.jpg?nolink&800 |}} 
 +\\ 
 +**1**.  For most users, the defaults in these fields are fine.\\ 
 +**2** **Send Mail** will work only if users have configured and tested notifications, as outlined here -> [[https://wiki.omv-extras.org/doku.php?id=omv7:new_user_guide#server_notifications|Server Notifications]] Configuring Server Notifications and selecting **Send Mail** is highly recommended.\\ 
 +**3** **Run Scrub**   This is a recommended action to complete the SnapRAID maintenance cycle.  While **Diff** and **Sync** run quickly, dependent of the size of protected disks and other factors, **Scrub** may take considerable time.\\ 
 +**4**.  **Pre-hash** is an option that is used together with the** Sync** command.  **Pre-hash** assigns a checksum before parity calculations are done.  It's an extra safety measure that reads data two times to insure integrity.\\ 
 +**5**.  **Scrub Percentage** and **Scrub Frequency**.  These parameters are options that are used with the Scrub command.\\ 
 + - When Scrub Frequency is specified, (in this instance "10" is used) the scrub command will not scrub files that have been scrubbed at any time during the last 10 days.\\  
 + - When Scrub Percentage is specified, (in this instance "25" is used) the scrub command will scrub 25% of all protected files that have not been scrubbed during the last 10 days.  If more than 25% of __all__ files have __not__ been scrubbed in the last 10 days, the oldest 25% of these files will be scrubbed.\\ 
 +\\ 
 +With a scrub percentage of 25, with scrubs scheduled to run once a week, the entire array will be scrubbed once a month.  Depending on the amount of data on protected disks and the time involved in scrubbing protected disks, these parameters may need adjustment.\\ 
 +\\ 
 +**6**.  The **Update Threshold** and **Delete Threshold** are parameters for the Diff script
 +  * **Update Threshold** sets the upper limit allowed for new files and updated / altered files. 
 +  * **Delete Threshold** sets the upper limit for allowed file deletes. 
 +If either of the above thresholds are exceeded, Sync and Scrub will not be performed.  The Diff script will halt these operations and an E-mail will be sent to the user admin advising of the result  
 +(As noted in the GUI, if these thresholds are set to **0**, Sync and Scrub will be performed regardless.) 
 +\\ 
 +<html><center>Finally, <b>Save</b> changes and take note of the button to "<b>Schedule Diff</b>", next to the <b>Save</b> button.</center></html> 
 +\\ 
 +\\ 
 +---- 
 +  
  
-==== Custom Notification Hook (Legacy) ====+\\ 
 +=== Scheduling the Diff Script ===
  
-  * **Custom notification hook** — a shell command or script path that is called instead of the default email notification. The variables `SUBJECT` and `BODY` are passed as parameters. This is a legacy feature superseded by Apprise.+In the screen shown above, click on **Schedule Diff**.  The **Scheduled Diff** window will appear as follows  
  
-==== Sync Thresholds ====+This example is configured as follows: 
 +  * The **Enabled** box is checked. 
 +**Under Time of execution**: 
 +  * As shown in **Minute** and **Hour**, the Diff Script will start at **01:05AM** 
 +  * In this case, under **Day of the week**, jobs are run only on **Sunday**. 
 +  * Check the **Send command output via email**. 
 +  * Finally, click the **Save** button.
  
-Thresholds prevent accidental mass deletions or updates from being synced to parityThe script aborts and issues a warning when a threshold is exceededunless the warning count reaches the configured limit.+{{ :omv6-plugins-snapraid-11.jpg?nolink&800 |}} 
 +\\ 
 +<html><center>In this case, the previously configured <b>Diff Script</b> is scheduled to run at <b>01:05AM</b>, every <b>Sunday</b>.</center></html>  
 +<html><center>Command outputs will be sent to the user/admin when all commands are complete.</center></html>
  
-> [SCREENSHOT: Sync Thresholds section]+\\ 
 +----
  
-  * **Delete threshold** — abort sync if more than N files were deleted since the last run. Set to `0` to disable. Default: 500. 
-  * **Update threshold** — abort sync if more than N files were updated since the last run. Set to `0` to disable. Default: 500. 
-  * **Add/Delete ratio threshold** — allow sync despite the delete threshold if a sufficient proportion of deletes are accompanied by matching adds (e.g. a large rename operation). Value is a ratio between 0.0 and 1.0. Set to `0` to disable. 
-  * **Sync warning threshold** — how many times a threshold warning fires before the sync is forced anyway. `0` = always force sync past thresholds. `-1` = never force (always require manual override). Default: -1. 
  
-==== Scrub Settings ==== 
  
-SnapRAID scrub verifies stored parity data against your files to detect silent bit-rot.+=== Diff Script Considerations ===
  
-  * **Scrub percentage** — percentage of the array to verify per runLower values spread verification over many runsDefault: 5%+A consideration, when running the Diff Script, is to //prevent// file changes, additions or deletions, between a Sync operation and the subsequent Scrub operation If file changes occur during these operations, SnapRAID errors will result To prevent these errors from occurring, it's best to automate the Diff Script and run it after-hours when users are unlikely to add or change files.\\ 
-  * **Scrub age (days)** — only scrub blocks that have not been verified within the last N days. Default: 10. +\\       
-  **Scrub new blocks after sync** — immediately scrub any blocks newly added during this sync run. +When it comes to speed of operations, in most use cases, **Diff** and **Sync** will be fast.  However, depending on the scrub percentage chosen, the total amount of data on the collection of protected disks, the speed of protected disks and other factors, a **Scrub** may take **several hours**.  If large amounts of data exist within SnapRAID array, to keep the Scrub operation within a reasonable period of time, it may be necessary to __reduce__ the percentage scrubbed As an anecdotal example, if it takes 10 hours to scrub 50% of an array, it will take 5 hours to scrub 25% of the array Adjusting the percentage scrubbed and the interval in Scrub Frequency may be necessary to keep a Scrub within an after hours window. 
-  * **Scrub every N runs** — run scrub only every N script executions (e.g. `7` = weekly if you run daily). `0` = scrub every run.+\\ 
 +\\
  
-==== SnapRAID Options ==== 
  
-> [SCREENSHOT: SnapRAID Options section]+===== Notes ===== 
 +  * Docker Containers that are stored on data drives should be paused or stopped during a sync.  Otherwise Sync errors may result. 
 +  * It is recommended that SnapRAID's parity drive is relatively new and closely monitored using SMART.  Without parity data, recoveries are not possible. 
 +  * For a better understanding of the SnapRAID works and it's features, reading the -> [[https://www.snapraid.it/manual|SnapRAID manual]is recommended.   
 +\\ 
 +\\
  
-  * **Pre-hash data** — read data twice before syncing to detect silent read errors before they reach parity. Recommended. Default: enabled. 
-  * **Sync zero-sized files** — SnapRAID skips empty files by default; enable this to include them. 
-  * **Spin down disks when done** — spin down drives after the script completes using `hd-idle`. Requires hd-idle to be installed separately. 
  
-<html> 
-<body> 
-  <table width="100%" border="0"> 
-    <tr> 
-      <td colspan="2" style="background-color:#FFB663;height:30px;"> 
-        <strong><span style="color:#FFFFFF;font-size:110%;">&#160; Warning </span></strong> 
-      </td> 
-    </tr> 
-    <tr> 
-      <td style="background-color:#FFE4A6;height:25px;width:380px;"> 
-Disk spindown requires **hd-idle** to be installed on the system. It is not installed automatically — install it via //System → Plugins// or manually before enabling this option. Without it, the setting has no effect. 
-    </tr> 
-  </table> 
-</body> 
-</html> 
-  * **Verbose output in notification** — include full SnapRAID command output in notification messages. Not recommended for large arrays — produces very large messages. 
-  * **Log retention (days)** — delete log files older than N days. `0` = keep forever. 
-  * **SnapRAID log directory** — directory where per-run log files (`SnapRAID-*.txt`) are written. Leave empty to use `/root`. Also used by the **Last Log** tool action. 
-  * **Log SMART data** — include SMART drive health data in the run log. Default: enabled. 
-  * **Include SMART data in notification** — include SMART output in notification messages. 
-  * **Log SnapRAID status** — run `snapraid status` and include the output in the log. 
-  * **Include status in notification** — include the status output in notification messages. 
-  * **Ignore pattern** — space-separated glob patterns to exclude from diff counts only (files matching these patterns are not counted against the delete/update thresholds). This does not affect SnapRAID itself. 
  
-==== Docker and Service Management ==== 
  
-> [SCREENSHOT: Docker section with mode selector and container list]+==== Other Useful Command Line Tools ==== 
 +''snapraid touch'' \\ 
 +If files are detected with "**zero sub-second timestamps**", the command ''snapraid touch'' will correct this.\\ 
 +\\ 
 +''sync --force-full''\\ 
 +If parity issues with the parity drive are persistent and the user admin is reasonably sure there are no data issues, the command ''sync --force-full'' may correct the problem.  Since this command is the rough equivalent of the a "first sync", depending on the amount of data on protected disks, it may take several hours to complete.\\
  
-When enabled, the script pauses or stops your Docker containers before running SnapRAID operations and restores them afterward, preventing open-file conflicts.+----
  
-  * **Manage Docker containers / services** — master toggle for Docker management. 
-  * **Docker mode** — `Pause/unpause` (faster, less disruptive) or `Stop/restart` (full stop, needed for some containers). 
-  * **Docker containers** — select which containers to manage. The list is populated from currently running containers. 
-  * **Service start delay (seconds)** — seconds to wait after restarting services before the script continues. 
  
-==== Custom Hooks ====+\\ 
 +\\ 
 +{{ :divider2.png?nolink&800 |}} 
 +===== Recovery Operations =====
  
-Custom hooks let you run arbitrary shell commands or scripts before and after the SnapRAID operations.+Recovery operation examples for single files, missing files, etc., are provided in the -> [[https://www.snapraid.it/faq|SnapRAID FAQ]] page.
  
-  * **Enable custom hooks** — master toggle. +==== Recovering a Failed Drive ==== 
-  * **Before hook name** — display name shown in the log output. +
-  * **Before hook command** — shell command or script path executed before SnapRAID runs. Runs as root. +
-  * **After hook name** — display name shown in the log output. +
-  * **After hook command** — shell command or script path executed after SnapRAID completes. Runs as root. +
-  * **Execute after hook before spindown** — when disk spindown is enabled, run the after hook before spinning down the disks instead of after.+
  
-===== Scheduling =====+=== General ===
  
-Each configuration has its own independent scheduleClick the **Schedule** button on row to open the schedule form.+One of the more desirable features of SnapRAID is it's ability to restore data to a replacement drive.  There are, however, many factors to consider when dealing with a failing hard drive.\\ 
 +\\ 
 +Contrary to popular belief, spinning drives rarely fail "all at once" as if turning off a light switch off.  In many cases, drives will begin to reallocate sectors among other symptoms that indicate that they are beginning to fail.  If these symptoms are ignored, the drive may begin to corrupt data that is stored on it or written to it.\\ 
 +\\ 
 +Configuring -> [[https://wiki.omv-extras.org/doku.php?id=omv7:new_user_guide#server_notifications|Server Notifications]] and configuring -> [[https://wiki.omv-extras.org/doku.php?id=omv7:new_user_guide#hard_drive_health_and_smart|SMART]], as recommend, will go a long way toward providing as much notice as possible that a hard drive is begining to fail.  If user / admins receive SMART advisory E-mails regarding a particular drive, take note of the -> [[https://wiki.omv-extras.org/doku.php?id=omv7:new_user_guide#smart_attributes|SMART attributes]] that are associated with drive failure.  In addition, the SnapRAID plugin has a "drive failure probability" indicator It can be found under; **Services**, **SnapRAID**, **Drives**.  Under the **Info** button {{:omv6-plugins-snapraid-05-04.jpg?20|}} select **SMART** from the drop down menu.\\ 
 +\\ 
 +When it has been determined that drive is beginning to fail, it is crucial that user / admins **DO NOT** run the **Diff Script** OR a manual **Sync** operation  
 +\\ 
 +\\ 
 +=== Prepare for Drive Replacement === 
 +   
 +Replacing a failing or failed drive, requires a number of preliminary steps:
  
-> [SCREENSHOT: Schedule dialog showing time pickers and execution type selector]+  * First it's crucial that the **Diff script**, if automated, is turned **OFF**. 
 +  * Do not run a **Snyc** operation until after the replacement is completed. 
 +  * If user / admins have automated processes (downloaders, media centers, etc.) that save or move files on protected drives, they should be paused or turned off. 
 +  * Server users should be informed to not use the server during the drive replacement.  (This could be enforced by temporarily disabling file sharing services like SMB or NFS.)
  
-^ Field ^ Description ^ 
-| Enable | Enable or disable this schedule without deleting it | 
-| Time of execution | Preset intervals (Hourly, Daily, Weekly, etc.) or Custom for full cron control | 
-| Minute / Hour / Day of month / Month / Day of week | Active when Time of execution is set to Custom | 
-| Send email on completion | OMV-level cron email (separate from AIO script notifications) | 
-| Comment | Label shown in the OMV cron list; auto-filled with the array name | 
  
-The cron job runs as root and calls: +----
-<code> +
-/usr/sbin/snapraid-aio-script.sh --config /etc/snapraid-aio-<uuid>.conf +
-</code>+
  
-===== Notes =====+=== Failure Scenario === 
 +\\ 
 +In the following scenario, a SnapRAID protected drive has failed completely.\\  
 +\\ 
 +When server notifications are -> [[https://wiki.omv-extras.org/doku.php?id=omv7:new_user_guide#server_notifications|configured as recommended]] , user / admins are notified by e-mail of **file system failures** and other issues.\\ 
 +\\ 
 +{{ ::omv6-plugins-snapraid-14.jpg?nolink&600 |}} 
  
-==== Log Files ====+----
  
-Each script run produces dated log file (`SnapRAID-YYYY-MM-DD_HH-MM-SS.txt`) in the configured log directory. These are the files shown by the **Last Log** tool. A central summary log at `/var/log/snapraid.log` is also maintained and is used to populate the **Last Run** column in the config list.+<html><center>Under <b>Storage</b>, <b>File Systems</b>, drive is "<b>missing</b>".</center></html>
  
-==== Per-Array State Files ====+\\
  
-The plugin stores two counter files per configuration in `/var/lib/snapraidaio/`:+{{ :omv7:omv7_plugins:omv7-plugins-snapraid-12.jpg?nolink&800 |}} 
 +\\ 
 +---- 
 +<html><center><b>Physically remove the drive.</b></center></html> 
 +<html><center>If necessary, refer to <b>Storage</b>, <b>Disks</b> and compare serial numbers to drive device names under <b>Storage</b>, <b>File Systems</b> The idea is to look at the drive's physical label and find the serial number that is "missing" (not displayed), to insure that the correct physical drive is removed.</center></html> 
 +\\ 
 +{{ :omv7:omv7_plugins:omv7-plugins-snapraid-19.jpg?nolink&800 |}} 
 +----
  
-  * `<uuid>.warnCount` — tracks how many consecutive threshold warnings have firedused against the Sync warning threshold. +<html><center>After physically removing the failed or failing driveadd the new drive while noting it's serial number, and boot up.</center></html>   
-  * `<uuid>.scrubCount` — tracks run count for the Scrub every N runs feature.+<html><center>In this same location (<b>Storage</b>, <b>Disks</b>) <b>wipe</b> the new drive.</center></html>  
 +<html><center>In this example case, the new drive is <b>/dev/sde</b> .</center></html>
  
-These files are removed when the configuration is deleted. 
  
-==== hd-idle ====+{{ :omv7:omv7_plugins:omv7-plugins-snapraid-20.jpg?nolink&800 |}}
  
-See the note in the [[#snapraid_options|SnapRAID Options]] sectionDisk spindown requires `hd-idle` to be installed manually before enabling the option.+<html><center>In the majority of cases, a "<b>Quick</b>" <b>wipe</b> is sufficient.</center></html> 
 +---- 
 + 
 +Under **Storage**, **Filesystems**: 
 + 
 +Click the "**Create and Mount a File System**" button {{:omv6-plugins-snapraid-05-08.jpg?20|}}:.\\  
 +In this example case, the file system selected from the pop-down will be **EXT4**.\\ 
 +In the **Device *** pop-down, **/dev/sde** is selected.\\ 
 +Click the **Save** button. 
 + 
 + 
 +{{ :omv7:omv7_plugins:omv7-plugins-snapraid-21.jpg?nolink&800 |}} 
 + 
 +<html><center>When the format is complete, click the <b>Close</b> button.</center></html> 
 +---- 
 +The following **Mount** window will be immediately presented.\\ 
 +In the **File system *** field, click the pop-down **arrow** and select the previously formatted drive (**/dev/sde**) to be mounted.\\   
 +\\ 
 + 
 + 
 +{{ :omv7:omv7_plugins:omv7-plugins-snapraid-22.jpg?nolink&600 |}} 
 + 
 +\\ 
 +<html><center>Click <b>Save</b> and <b>apply</b> the configuration change.</center></html> 
 +\\ 
 +---- 
 +<html><center>Under <b>Storage</b>, <b>File Systems</b>:</center></html> 
 + 
 +<html><center><b>/dev/sde1</b> appears, empty and formatted to <b>EXT4</b>.</center></html> 
 + 
 + 
 +{{ :omv7:omv7_plugins:omv7-plugins-snapraid-23.jpg?nolink&600 |}} 
 + 
 +---- 
 + 
 +<html><center>Under <b>Services</b>, <b>SnapRAID</b>, <b>Drives</b>:</center></html> 
 +Highlight each drive, one at a time, and click on the **Edit** icon {{:OMV6-Plugins-SnapRAID-05-07.jpg?20|}}:.  
 +\\ 
 + 
 +{{ :omv7:omv7_plugins:omv7-plugins-snapraid-16.jpg?nolink&800 |}} 
 +\\ 
 +---- 
 + 
 +<html><center>A normal drive entry appears as follows.</center></html> 
 + 
 +{{ :omv7:omv7_plugins:omv7-plugins-snapraid-17.jpg?nolink&800 |}} 
 + 
 +---- 
 + 
 +<html><center>A missing drive appears as follows.</center></html> 
 +<html><center>(The Drive Field is Blank.)</center></html> 
 +\\ 
 +{{ :omv7:omv7_plugins:omv7-plugins-snapraid-18.jpg?nolink&800 |}} 
 + 
 +---- 
 + 
 +<html><center>In the <b>Drive field</b>, using the pop-down arrow, select the new drive that has been wiped and formatted from the list.</center></html>   
 +<html><center>(In this case <b>/dev/sde1</b>)</center></html>  
 + 
 +{{ :omv7:omv7_plugins:omv7-plugins-snapraid-24.jpg?nolink&800 |}} 
 + 
 +<html><center><b>Save</b> and <b>Apply</b> the configuration change.</center></html> 
 +\\ 
 +<html><center>At this point, the failed drive has been <u>replaced</u> with a new formatted but blank drive.</center></html> 
 +---- 
 + 
 +=== Restore Data === 
 + 
 +In the same window (**Services**, **SnapRAID**, **Drives**) select the **Tools icon** {{:OMV6-Plugins-SnapRAID-05-01.jpg?20|}}:, and select **Fix** from the pop-down menu list. 
 + 
 +Depending on the size and speed of the drive and the amount of data, the **Fix** command may run for several hours.\\ 
 +When **END OF LINE** is displayed, the **Fix** operation is complete.\\ 
 +\\ 
 +<html><center>The following is the end of this example's output.</center></html> 
 +\\ 
 +{{ ::omv6-plugins-snapraid-26.jpg?nolink&600 |}} 
 +\\ 
 +<html><center>(The UNRECOVERABLE error may be due to a change made <i>after</i> the last **Sync** operation, that cannot be restored.)</center></html>  
 + 
 +---- 
 + 
 +Under, **Services**, **SnapRAID**, **Drives**, select the **Tools icon** {{:omv6-plugins-snapraid-05-01.jpg?25|}}.  In the pop-down menu select **Sync**.  This will **update the content file** with the **new drive's UUID**.  (This is noted in the Sync output window.) 
 +\\ 
 +This concludes data restoration to a SnapRAID protected drive.\\ 
 +**MergerFS users** skip see the section below titled; **Replacing a Failed Drive in MergerFS**.\\ 
 +   
 +---- 
 + 
 +The remainder of tasks, within OMV, would be to repointing **Shared Folders** and other services to the replacement drive.  To repoint shared folders, see the guidance provided -> [[https://wiki.omv-extras.org/doku.php?id=omv6:utilities_maint_backup#repointing_a_shared_folder|here]].\\ 
 +\\ 
 +When all references to the failed drive have been redirected to the new drive, or removed, under **Storage**, **File Systems**, the "**Referenced**" check mark should be removed.  Highlight the **missing** drive, **unmount** it and **Apply** the change.\\ 
 +\\ 
 +Finally, re-enable all automated tasks (Diff script) enable SMB network sharing (if previously disabled) and inform users that shares are available.\\ 
 +\\ 
 +\\ 
 +---- 
 + 
 +=== Replacing a Failed Drive in MergerFS ===
  
-==== Force Sync ==== 
  
 <html> <html>
Line 305: Line 587:
     <tr>     <tr>
       <td style="background-color:#E6FEFF;height:25px;width:380px;">       <td style="background-color:#E6FEFF;height:25px;width:380px;">
-**Force Sync** bypasses all delete and update thresholds and syncs unconditionally. +        Device names, dev/sda1, dev/sdb1, etc., may be reordered when a device goes "missing" Device name designations are dependent on BIOS and are subject to change after a reboot.
-Only use this when you are certain the changes are intentional (e.g. after a large +
-planned deletion or reorganization). You will be asked to confirm before the action runs.+
     </tr>     </tr>
   </table>   </table>
 </body> </body>
 </html> </html>
 +\\
 +\\
 +Add the **Mount Point** column:\\
 +Under **Storage**, **File Systems**, Select the **Column Icon**, {{:omv6-plugins-snapraid-05-05.jpg?25|}}, and select Mount Point.\\
 +\\
 +{{ ::omv6-plugins-snapraid-13.jpg?100 |}}
 +\\
 +----
 +\\
 +The result now shows mount points by **UUID** (**U**niversally **U**nique **ID**entifier).  Where device names may be reordered by BIOS or UEFI on bootup, UUID's do not change.\\
 +Note the "Copy and Paste" Icon{{:OMV6-Plugins-SnapRAID-05-06.jpg?25|}} at the end of each drive UUID.  This tool copies exact drive paths and UUID's to the clipboard.\\
  
-===== Troubleshooting =====+{{ ::omv6-plugins-snapraid-15.jpg?nolink&1000 |}} 
 +\\ 
 +<html><center>In this case, the failed drive UUID is:</center></html> 
 +<html><center>/srv/dev-disk-by-uuid-dfa2df17-9764-4a47-8e9d-9a36ff74ca37</center></html> 
 +\\ 
 +<html><center>The replacement drive, now fully populated with data, is:</center></html> 
 +<html><center>/srv/dev-disk-by-uuid-2a0846e5-9e1d-4624-85ac-fd781dd33748</center></html> 
 +\\ 
 +**Note:**  It may be helpful to paste the above information into Notepad or other text editor.\\ 
 +---- 
 +Under **Storage**, **mergerfs**, Highlight the MergerFS array click the **Edit** icon {{:OMV6-Plugins-SnapRAID-05-07.jpg?25|}}. 
  
-^ Symptom ^ Likely cause ^ Resolution ^ +{{ ::omv6-plugins-snapraid-27.jpg?nolink&800 |}}
-| No arrays appear in the selector | SnapRAID plugin not installed or no arrays configured | Install openmediavault-snapraid and create at least one array | +
-| Last Run shows WARNING | Threshold exceeded, or SnapRAID reported an error | Check the run log via Tools → Last Log | +
-| Apprise test fails | Apprise not yet installed, or URL incorrect | Verify the URL format against the Apprise documentation; check that pipx is available | +
-| Schedule shows "not scheduled" after saving | Schedule was not yet created | Click Schedule on the row and configure a time | +
-| Docker containers not being managed | Wrong mode, or containers not running when config was saved | Refresh the container list by editing the config |+
  
 +<html><center>Click on the right side of the failed drive entry, ending in ca37, and backspace the entry out to remove it.</center></html>
 +\\
 +----
 +\\
 +<html><center>Then, using copy and paste, paste in the replacement drive's path and UUID, then <b>Save</b> and <b>Apply</b> the change.</center></html>  
 +
 +{{ ::omv6-plugins-snapraid-28.jpg?nolink&600 |}}
 +
 +----
 +
 +Under **Storage**, **File Systems**, the **missing** drive should no longer be "**Referenced**" Highlight the **missing** drive, **unmount** it and **Apply** the change.\\
 +Finally, re-enable all automated tasks and enable network shares (if previously disabled.)\\
 +\\
 +This concludes adding a SnapRAID restored drive to a MergerFS array.\\
 +\\
 +\\
 ===== Source Code ===== ===== Source Code =====
  
-  * [[https://github.com/auanasgheps/openmediavault-snapraid-aio|openmediavault-snapraid-aio on GitHub]] +-> [[https://github.com/OpenMediaVault-Plugin-Developers/openmediavault-snapraid|Source Code]] 
-  [[https://github.com/auanasgheps/snapraid-aio-script|snapraid-aio-script on GitHub]]+ 
 +===== A Closing Note ===== 
 + 
 +We, who support the openmediavault project, hope you’ve found this guide to be useful and that you’ll find your openmediavault server to be efficient, easy to use, and enjoyable.\\ 
 +\\ 
 +If you found this plugin guide to be helpful, please consider a modest donation to support the hosting costs of this server.\\ 
 +\\ 
 +**OMV-Extras.org** 
 +\\ 
 +<html> 
 +<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top"> 
 +<input type="hidden" name="cmd" value="_s-xclick"> 
 +<input type="hidden" name="hosted_button_id" value="2BQNGSC8HQJME"> 
 +<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" name="submit" title="PayPal The safer, easier way to pay online!" alt="Donate with PayPal button" border="0"> 
 +<img alt="" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" border="0"> 
 +</form> 
 +</html> 
 +\\ 
 +\\ 
 +**Venmo: ryecoaaron** \\ 
 + 
  
  • omv7/omv7_plugins/snapraid.txt
  • Last modified: 2026/08/18 13:42
  • by auanasgheps