Menu="Main:5" Title="Array Operation" Tag="snowflake-o" --- Encryption status:$statuspermit reformat"; echo "Encryption input:"; echo ""; echo "Passphrase:show passphrase"; echo "Retype passphrase:"; echo "Keyfile:"; } function maintenance_mode() { echo ""; echo ""; echo "Maintenance mode"; echo "Maintenance mode - if checked, Start array but do not mount disks."; echo ""; } function status_indicator() { global $var; switch ($var['mdColor']) { case 'green-on': $orb = 'circle'; $color = 'green'; $help = 'Started, array protected'; break; case 'green-blink': $orb = 'circle'; $color = 'grey'; $help = 'Stopped'; break; case 'yellow-on': $orb = 'warning'; $color = 'yellow'; $help = 'Started, array unprotected'; break; case 'yellow-blink': $orb = 'warning'; $color = 'grey'; $help = 'Stopped'; break; } echo "$help"; } function missing_cache() { global $disks; $missing = false; foreach ($disks as $disk) if ($disk['type']=='Cache') $missing |= (strpos($disk['status'],'_MISSING')!==false); return $missing; } ?>
Disabled -- Parity operation is running' : ''; $mover = file_exists('/var/run/mover.pid') ? '
Disabled -- Mover is running' : ''; $btrfs = exec('pgrep -cf /sbin/btrfs') ? '
Disabled -- BTRFS operation is running' : ''; switch ($var['fsState']): case "Started":?> 0):?>
Started disabled> Stop will take the array off-line.
Unmountable disk present:
".my_disk($disk['name'])." • ".my_id($disk['id'])." (".$disk['device'].")
";?>
Format will create a file system in all Unmountable disks, discarding all data currently on those disks.
Yes I want to do this All data is permanently lost !!!
This is not used to recover data

Format is never part of a rebuild
Sync will start Parity-Sync and/or Data-Rebuild.
Clear will start Clearing new data disk(s).
Check will start Read-Check of all array disks.
Parity is valid.Check will start Parity-Check.   onclick="$.cookie('one','tab1',{path:'/'})">(Schedule)
Write corrections to parity
Last check incomplete on , finding error.
Error code:
Last checked on , finding error.
Duration:
Last check incomplete on , finding error.
Error code:
Last checked on , finding error.
Duration:
Last check incomplete on , finding error.
Error code:
Last check completed on , finding error.
Duration:
Read-Check in progress. value="Pause" onclick="pauseParity(this.form)" value="Resume" onclick="resumeParity(this.form)"> Cancel will stop the Read-Check.
Parity-Check in progress. value="Pause" onclick="pauseParity(this.form)" value="Resume" onclick="resumeParity(this.form)"> Cancel will stop the Parity-Check.
Parity-Sync/Data-Rebuild in progress. value="Pause" onclick="pauseParity(this.form)" value="Resume" onclick="resumeParity(this.form)"> Cancel will stop Parity-Sync/Data-Rebuild.
WARNING: canceling may leave the array unprotected!
Clearing in progress. value="Pause" onclick="pauseParity(this.form)" value="Resume" onclick="resumeParity(this.form)"> Cancel will stop Clearing.
Current operation started on
Total size:
Elapsed time:
Current position:
Estimated speed:
Estimated finish:
Sync errors detected:corrected:
Starting...
Started, formatting...
Copying, % complete...
Clearing, % complete...
Stopping...
Stopped. Invalid, missing or expired registration key.
Stopped. Too many attached devices. Please consider upgrading your registration key.
Stopped. Cannot contact key-server. Please check your network settings.
Stopped. This Unraid OS release has been withdrawn and may no longer be used. Please update your server.
Stopped. Configuration valid. Start will bring the array on-line and start Parity-Sync and/or Data-Rebuild.
Stopped. New data disk(s) detected. Start will bring the array on-line and start Clearing new data disk(s).
Stopped. Unclean shutdown detected. Start will bring the array on-line.
Stopped. Unclean shutdown detected. Start will bring the array on-line and start Parity-Check.
Write corrections to parity
Stopped. Missing Cache disk. Start will remove the missing cache disk and then bring the array on-line.
Yes I want to do this
Stopped. Configuration valid. Start will bring the array on-line.
Stopped. Configuration valid. Start will record all disk information and bring the array on-line.
The array will be immediately available, but unprotected since parity has not been assigned.
Stopped. Configuration valid. Start will record all disk information, bring the array on-line, and start Parity-Sync.
The array will be immediately available, but unprotected until Parity-Sync completes.
Parity is already valid.
Stopped. Missing disk. Start will disable the missing disk and then bring the array on-line. Install a replacement disk as soon as possible.
Yes I want to do this
Stopped. Replacement disk installed. Start will start Parity-Sync and/or Data-Rebuild.
Stopped. Upgrading disk/swapping parity. Start will expand the file system of the data disk (if possible); then bring the array on-line and start Data-Rebuild.
Stopped. Upgrading disk/swapping parity. Copy will copy the parity information to the new parity disk.
Once copy completes, the array may be Started, to initiate Data-Rebuild of the disabled disk.
Yes I want to do this
Stopped. Invalid expansion. You may not add new disk(s) and also remove existing disk(s).
Stopped. Replacement disk is too small. The replacement disk must be as big or bigger than the original.
Stopped. Disk in parity slot is not biggest. If this is a new array, move the largest disk into the parity slot.
If you are adding a new disk or replacing a disabled disk, try Parity-Swap.
Stopped. Invalid configuration. Too many wrong and/or missing disks!
Stopped. No data disks. No array data disks have been assigned!
>> Spin Down will immediately spin down all disks.
Spin Up will immediately spin up all disks.
Clear Statistics will immediately clear all disk statistics.
Disabled - Mover is running. Move now will immediately invoke the Mover.   onclick="$.cookie('one','tab2',{path:'/'})">(Schedule)
Reboot will activate a clean system reset.
Power down will activate a clean power down.
Delete will delete the encryption keyfile.
Yes I want to do this
> **Colored Status Indicator** the significance of the color indicator of the *Array* is as follows: > > Array is Started and Parity is valid. > > Array is Stopped, Parity is valid. > > Array is Started, but Parity is invalid. > > Array is Stopped, Parity is invalid. > > #### Assigning Devices > > An Unraid disk array consists of a single parity disk and a number of data disks. The data > disks are exclusively used to store user data, and the parity disk provides the redundancy necessary > to recover from any singe disk failure. > > Note that we are careful to use the term *disk* when referring to an array storage device. We > use the term *hard drive* (or sometimes just *drive*) when referring to an actual hard disk drive (HDD) > device. This is because in a RAID system it is possible to read/write an array disk whose corresponding > hard drive is disabled or even missing! In addition, it is useful to be able to ask, "which device is > assigned to be the parity disk?"; or, "which device corresponds to disk2?". > > We therefore need a way to assign hard drives to array disks. This is accomplished here on the > Main page when the array is stopped. There is a drop-down box for each array disk which lists all the > unassigned devices. To assign a device simply select it from the list. Each time a device > assignment is made, the system updates a configuration file to record the assignment. > > #### Requirements > > Unlike traditional RAID systems which stripe data across all the array devices, an Unraid server > stores files on individual hard drives. Consequently, all file write operations will involve both the > data disk the file is being written to, and the parity disk. For these reasons, > > * the parity disk size must be as large or larger than any of the data disks, > > and > > * given a choice, the parity disk should be the fastest disk in your collection. > > #### Guidelines > > Here are the steps you should follow when designing your Unraid disk array: > > 1. Decide which hard drive you will use for parity, and which hard drives you will use for > data disk1, disk2, etc., and label them in some fashion. Also, find the serial number of each hard > drive and jot it down somewhere; you will need this information later. > > 2. Install your hard drive devices, boot Unraid OS and bring up the webGui. If this is a fresh system > build, then the Main page will show no disks installed. This doesn't mean the system can't detect your > hard drives; it just means that none have been assigned yet. > > 3. Remember the serial numbers you recored back in step 1? For parity and each data disk, select the > proper hard drive based on its serial number from the drop down list. > > #### Hot Plug > > You may also *hot plug* hard drives into your server if your hardware supports it. For example, > if you are using hard drive cages, you may simply plug them into your server while powered on and > with array Stopped. Refresh the Main page to have new unassigned devices appear in the assignment > dropdown lists. > > #### Next Steps > > Once you have assigned all of your hard drives, refer to the Array Status section below > and Start the array.
> #### Encryption input > > Passphrase or file is stored in /root/keyfile.
> This keyfile is read during array Start and is used to encrypt/decrypt content of encrypted devices. > > With array Stopped, the user can specify a new encryption key. Note that once a device > is formatted with a particular key it may only be opened using that same key. Changing the encryption key requires > encrypted devices to be reformatted **resulting in permanent loss of all existing data on those devices.** > > With array Started, the keyfile may be deleted to ensure there is no encryption key present on the server when > the array is online. Note that plugins are installed and may execute before and during the array Start process. > > #### Passphrase > > Enter a passphrase of up to 512 characters. It is highly advisable to only use the 95 printable characters from the > first 128 characters of the [ASCII table](https://en.wikipedia.org/wiki/ASCII), as they will always have the same binary > representation. Other characters may have different encoding depending on system configuration and your passphrase will > not work with a different encoding. If you want a longer passphrase or to include binary data, upload a keyfile instead. > > Please refer to the [cryptsetup FAQ](https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#5-security-aspects) > for what constitutes a *secure* passphrase. > > **Memorize** this passphrase. **IF LOST, ENCRYPTED CONTENT CANNOT BE RECOVERED!** > > #### Keyfile > > Select a local keyfile with a stored encryption key or a binary file. The maximum size of the keyfile is 8M (8388608 byte). > > **Backup** your local keyfile. **IF LOST, ENCRYPTED CONTENT CANNOT BE RECOVERED!**