Difference between revisions of "Talk:RAID"

From ArchWiki
Jump to: navigation, search
(Remove notice from Brucebertrand regarding the max number of drives in RAID level)
m (GPT partitions)
Line 88: Line 88:
: Is this a mis-paste? I can't quite see why it is here?
: Is this a mis-paste? I can't quite see why it is here?
: [[User:Jasonwryan|jasonwryan]] ([[User talk:Jasonwryan|talk]]) 00:36, 19 July 2013 (UTC)
: [[User:Jasonwryan|jasonwryan]] ([[User talk:Jasonwryan|talk]]) 00:36, 19 July 2013 (UTC)
:: This is here because it's how I prepare hard-drives before setting them up for RAID.  Not everyone uses GPT *yet* so didn't want to just stick it on the main page..  ~ [[User:AskApache|AskApache]] ([[User talk:AskApache|talk]]) 09:26, 3 October 2013 (UTC)

Revision as of 09:26, 3 October 2013


Well I'm noticing that the RAID#Installation steps described here are only specific to software RAID implemented with the additional level method using mdadm. RAID is a vast subject and can be implemented in a various other methods: software RAID, fakeRAID and dedicated hardware RAID. Even software RAID is implemented in different ways: I've already spoken about mdadm, but filesystems like ZFS and volume manager like LVM can do that too. I suggest that this article becomes a main article about RAID and that installation steps for this specific RAID should be removed as a dedicated article already exists Software RAID and LVM. Depending on the user's configuration, I'll add a dedicated point where he can choose between the implementations.

Alternate setups and filesystems

Just wanted to mention these directions worked great for me. It would be nice to have more examples for alternate setups and good ideas for filesystems, etc.. AskApache 15:07, 22 February 2012 (EST)

Hey AskApache, it's really rewarding to hear that this article was helpful. I spent a fair amount of time modifying and updating the old Installing with Software RAID or LVM article. Unfortunately, I was never able to spend enough time updating this article. Thankfully, 6arms1leg has made some excellent contributions, along with yourself.
Anyway, could you explain what alternate setups might apply? The filesystem question is an interesting one. I didn't realize there are alternatives to Linux raid auto. And that the Non-FS data allows you to format the array with any filesystem. After some quick searching, the Optimum RAID article on Linux Pro Magazine looks like a good place to start.
~ Filam 09:51, 23 February 2012 (EST)
Sure Filam, basically I would like more advanced and basic information about everthing! But specifically partioning and filesystems.
  • If you have 5 disks of different sizes, and the smallest disk is 500GB and the largest disk is 1.5TB, you can create a raid array on all 5 by creating a 500GB partition on each disk and use those partitions to create the array.
  • Some people using raid like to create a swap partition on each disk and then make a raid 0 array out of those for a fast swap (which is actually kind of redundant as swap already does raid 0 like striping when given multiple swaps with the same priority).
  • Back to the 5 disks, you could create a 100GB partition on each disk and create a raid 0 array out of that for a super fast /usr, /var, /lib directories which can be replaced in case of data loss. And then create 400GB partition on all 5 disks and create a raid 5 array on those partitions for a fast yet data-redundant /home/ directory.
  • You can create any filesystem on a raid array, but some are noticeably better than others. The same things apply here that are mentioned in the Maximizing Performance article.
  • Basically, XFS might be the best to use for a backup raid array containing large backup files, while reiserfs or ext4 might be the best for /home/.
  • When making an XFS filesystem on a raid array, XFS automagically recognizes it is a raid device and optimizes the XFS filesystem settings for you, however ext and reiserfs may need tweaked settings for optimization.
  • Filesystem settings correlate to the chuck-size and other mdadm options in the initial array creation as well, and should be factored in before creating the array.
  • More instructions on backing up partition tables and maybe even how to restore (good excercise to leave to reader)
  • Different ways to mount the devices in /etc/fstab
  • How to test speed
  • More instructions on customizing the mdadm.conf file
I'm working on this too but probably won't be editing anything again for awhile.. Thanks for this article!
--AskApache 13:00, 27 February 2012 (EST)
Thanks, but i don't really get your points.
What do you mean by filesystem?
A RAID array can be formatted with almost any filesystem that supports its size, while some of course are better suited than others. To the system the array is just a block device under /dev like any other.
If you just mean the fs-type tag in the partition table, the only suitable otions for RAID are "Non-FS data" and "Linux raid auto". But the fs-type tag you choose during partitioning is independant from the filesystem you format a disk/array with. The fs-tag only is important for system processes to recognize the correct filesystem (e.g. auto assembly of a RAID array during boot or using mount without the -t option). "Non-FS data" is the preferred method (see our RAID wiki page here, the paragraph after the note).
Sure, there is a lot to improve on that wiki page, but before someone makes the effort to write about the details, it would be nice to complete some of the basics. For example we have the most common RAID levels explained in the Introduction section but only one step-by-step guide for a level 5 array.
Also, I disagree with some of your edits in the following sections:
Regarding the combination of RAID and filesystem parameters, that fact is mentioned in this section. There also is a reminder to do the RAID-math, suitable at least for ext-filesystems.
Some things on your wishlist, I think belong in other wiki pages (esp. information about /etc/fstab and partitioning)
Don't take me wrong, I'm glad someone cares about this page.
6arms1leg 18:41, 5 March 2012 (EST)
It's great to hear from you, 6arms1leg, and thanks for the thorough explanation. If it wouldn't be much trouble would you mind moving each of your points about AskApache's edits into a separate section? Or, AskApache, if you come across this first and would like to respond, just copy the point you would like to respond to into another section. Thanks, ~ Filam 10:52, 4 March 2012 (EST)
Not too much trouble at all, but I'm not quite sure what you are picturing. As you can see, I edited my post and moved my points into different sections. To me, the way I rearranged it now, it doesn't improve readability nor provides it a better overview. Please feel free to re-edit my post the way you think it looks best. 6arms1leg 18:41, 5 March 2012 (EST)
Ah, it is probably more clear if I just edit it. The readability was fine, it was just difficult to respond to. ~ Filam 21:02, 5 March 2012 (EST)
Thanks for your effort. 6arms1leg 04:45, 6 March 2012 (EST)

Copy the partition table

Note: Moved from #Alternate setups and filesystems. ~ Filam 21:02, 5 March 2012 (EST)

I don't like or understand your edits on the Copy the partition table section (no offense). To me, your edits make the process more complicated. For example, why did you remove the command # sfdisk -d /dev/path_to_formatted_array_disk | sfdisk /dev/path_to_unformatted_array_disk and replaced it with one that first dumps a file which you then copy to the next disk? And why would you want to keep a backup of your partition table?

I also prefer the use of a pipe. ~ Filam 21:02, 5 March 2012 (EST)
Not sure why you don't like the edit, lol. The reason I replaced the sfdisk command using a pipe to one using a file is 2-fold:
  1. Depending on how your shell is setup or currently configured, using a pipe will not work correctly. This can be caused by a couple things such as the IFS variable and various shell options.
I can't think of any shell in which such a simple pipe wouldn't work. People who change their shell variables and other standard options probably know what they are doing and in that case they should also know the consequences (different shell behavior) and how to still execute a command with a pipe. As far as I know, all commands in this wiki assume a standard shell (with working pipes). 6arms1leg 05:08, 7 March 2012 (EST)
The cause is actually due to how sfdisk is written, not how the shell is written. IOW, this is specific to sfdisk, not pipes. ~ AskApache 10:22, 1 May 2012 (UTC)
  1. By sending the output to a file you can easily replicate it in the future if your original partition table is corrupted.
-AskApache 21:28, 6 March 2012 (EST)
I still don't get this backup thing. Each of your member disks in the array has that partition table. If one gets corrupted you still can replicate it from any of the other member disks. In the unlikely event that all disks fail, you don't need that partition table anyway since you have to create a new array. The only exception I can think of is some rare exotic RAID setup, which only uses some (identical) partitions of each member disk while other partitions on the disk differ and with it the partition table. For such a setup I would prefer a seperate section (or link to another page as it is not RAID specific), which explanes how to backup the partition table. 6arms1leg 05:08, 7 March 2012 (EST)
Backups are a way of life, but you make good points. It is very close to totally unneccessary but backups for me are a habit. Should be moved in separate section.. ~ AskApache 10:22, 1 May 2012 (UTC)

Preparing and Planning for RAID Recovery

I've run into several RAID issues (almost all fs related) and recovering from a bad/broken/damaged RAID can be quite difficult and way confusing. I wrote a shell script that should be run after creating and assembling the array, and optionally after creating the filesystem -- the purpose is to have backups and all the info needed for a recovery situation. Not sure where to put it so created a tmp user page User:AskApache/raid-backup-log. Please check it out and help put it/parts of it where they should go on the wiki. -- AskApache (talk) 05:35, 20 October 2012 (UTC)

GPT partitions

zap (destroy) GPT and MBR data structures

 sgdisk --zap-all /dev/sdb

create largest possible new partition

 sgdisk --largest-new=1 /dev/sdb

check partition table integrity

 sgdisk --verify /dev/sdb

print partition table

 sgdisk --print /dev/sdb
Is this a mis-paste? I can't quite see why it is here?
jasonwryan (talk) 00:36, 19 July 2013 (UTC)
This is here because it's how I prepare hard-drives before setting them up for RAID. Not everyone uses GPT *yet* so didn't want to just stick it on the main page.. ~ AskApache (talk) 09:26, 3 October 2013 (UTC)