Raid 5 file server stripe size
What are the default settings for both raid stripe size and filesystem readahead? Are those defaults acceptable? How do these settings impact the performance of my server? In modern operating systems, the default raid stripe size is somewhere between KB and KB by default. This is also the case for hardware raid cards default stripe size. As well, the file system readahead value defaults to somewhere between KB and KB in many modern operating systems.
For servers that primarily host a lot of small files, or host their data using SSDs, these default settings are probably fine for both readahead and raid stripe size. In the case of SSDs, these defaults are ok because SSDs are very good at reading small bits of data located anywhere on the drive, and so, the stripe size and readahead has little or no effect on performance for modern SSDs as well. For hard drives, for typical use cases, these defaults are also ok because many files are smaller than these default settings.
This means that most single files you read are stored on a single drive, and therefore, reading the file only accesses a single drive. However, in one use case, where many users are simultaneously accessing files larger than KB, and those files are stored on regular hard drives, the raid stripe and filesystem readahead settings are critically important to improve drive performance. This is because the massive file sizes lend themselves well to less expensive hard drive storage, and large file accesses when using hard drives, is exactly where you can gain a benefit from changing the default settings.
In this use case, the default settings massively under-perform compared to an optimized configuration. For file hosting sites or other use cases where there are large numbers of users simultaneously accessing large files, and these files are stored on hard drives, a large stripe size will give you a huge performance increase compared to a small stripe size.
For hardware raid cards, the maximum stripe size is often 1MB, so this would be the best option in those situations. The default of k is not efficient for reading large files from regular hard drives. For file system readahead settings, the optimal value is typically KB so long as your raid stripe is at least 1MB.
This will provide the maximum performance for a server that primarily reads large files from hard drives. A hard drive has a read-write head attached to an arm, and a spinning disk that contains the actual data. To read a file, the arm has to move to the spot on the disk where the data is located, and the data is read from the disk as it spins past the read-write head. The main limitation on speed of these hard drives, is how quickly the read-write head can move from one spot on the hard drive to another.
Generally, this can occur about times per second — allowing you to read files that are located on different drive locations per second as a maximum. Therefore, to maximize performance, you want to read as much data as possible each time the read-write head moves to a different part of the disk. Operating systems know this, so, whenever data is requested to be read from disk, the OS goes ahead and reads more data than it was asked to, on the assumption the data might be needed eventually.
In many operating systems, this readahead value defaults to KB. Below is a diagram of the read pattern of an 8-drive raid 10 array, with different stripe sizes, and different amounts of data being read. Note that we show only the first 4 drives — in a raid 10 array, the other 4 drives are a copy of the first 4. Above you can see which parts of which drives are accessed when performing a read operation of different sizes. Because the start of a file can be anywhere, we indicate the most typical access pattern by assuming the read request begins somewhere in the middle of a stripe.
In the first example, a KB read, is very typical because in many operating systems, the default readahead value is KB. This means that, even if your application only asks to read 1KB of data from a file, the following KB of data from the same file will also be read from disk.
If the file is smaller than the KB readahead, then the entire file will be read at once. This is why the readahead and stripe values are only important when your typical file size is bigger than the default readahead of KB. Unfortunately, a KB stripe is also a common default for raid arrays. Fortunately it's a mirror and I have backups.
I just noticed that SSD for the OS is plugged in the Adaptec controller being a "simple volume" and not passthrough - does anyone know if I can just plug that SSD to the mainboard and boot it up? I need that 8th port for the RAID 10 :- - otherwise I might have to try clonezilla, but if that fails I am in for a lot of fun It has been a long time since I worked with an Adaptec controller, but I know that on LSI controllers a single drive is usually treated as a single drive RAID 0 and presented to the OS as a virtual drive and thus will not boot as a standalone drive if connected to a SATA port on a motherboard.
I'm guessing that the "simple volume" vs. If you clone it with clonezilla it will just make an identical bit for bit copy of it and you will have the same issue. In your case, going from a virtual disk presented from a RAID controller to a SATA motherboard controller, you will want to make sure that the proper driver more info here for your motherboard is present and enabled in Windows before you run the backup. Depending on how the Adaptec controller has configured your drive, you may just get by with changing this setting s and then moving the drive.
To continue this discussion, please ask a new question. Get answers from your peers along with millions of IT pros who visit Spiceworks. Best Answer. Northlandeng This person is a verified professional.
Verify your account to enable IT peers to see that you are a professional. View this "Best Answer" in the replies below ». Popular Topics in Data Storage. Spiceworks Help Desk. The help desk software for IT. Track users' IT needs, easily, and with only the features you need. Learn More ». PatrickFarrell This person is a verified professional. Stick with NTFS. Hi Northlandeng thx for the extensive answer. Improve this answer. TomTom TomTom How you plan handling backups?
Note that backups are also for - user errors. That was a TON of money lost in reconstructing data still going on. Data are not that important, so I do not plan to create backups. I will go happily with RAID 6. Anyway just a curious question, if one disk totally fails, how does RAID 6 stand to restore that disk? How much time is it needed to restore 2TB disk? Why is better to have 2 parity disks instead of just one as RAID5? Are those 2 parity disks in RAID 6 totally the same?
Just to have a copy if one of them fails? Or do they hold different informations? They are not the same - but basically Raid 6 can rebuild the data from the rest. How long it takes depends on the disc, the raid busystem and configuration and load if there is a lot of io, the rebuild may take longer. Not sure whether the parity discs are absolutely identical - I do not think. After all, the 2 failing discs may be non-parity, so I think it is just other maths.
For an admin that is an implementation detail, though - I never programmed raid so Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password. Post as a guest Name. Email Required, but never shown.
0コメント