work in progress.
A fast and reliable storage controller is one of the most important parts of a Proxmox VE server. This article lists some good working hardware raid controllers and some information about the used configurations. If you wonder how to figure out which Controller you have, log into your Proxmox server and type 'lspci' on the commandline. Then look for a line with RAID Controller or similar.
We are talking about "real" hardware controller, not the so called "fake" ones, the ones that usually are "embedded" in the motherboard or are a cheap addon card. Such controller in fact don't have dedicated hardware but are software - bios/firmware based, so not reliable and not good performer (and are NOT supported by Proxmox, if they work is only on your own risk). Paramount feature for real raid controller if you want high performance is a on board cache and "write back" mode enabled. This way the OS doesn't has to wait until writes are physically completed on hard disk, since they are immediately wrote on the cache and the controller will take care of subsequent write to the disk(s). If you don't want to loose your data in case of black-out, you need the so called "BBU", a battery backup on the controller that keeps data that are not yet saved on disk available until power comes back. In short, you need a RAID controller with cache and write-back, and you can safely enable write-back only if you have BBU (or similar solution, like a SSD cache instead of RAM one). Remember that a RAID controller with write-trough instead of write-back behaves really really badly With the command pveperf you can have a rough idea of the performance. Here some values just to have an idea (the FSYNCS/SECOND value of pveperf)
- Single SATA WD 400GB: 1360.17
- 3 x 15K rpm sas RAID5 with write-through: 159.03 (YES, only 159!)
- same as above but with write-back enabled: 3133.45
http://hwraid.le-vert.net/ has info about some vendors raid controllers
- 3Ware cards
- LSI cards
- Adaptec cards
- HP/Compaq SmartArray
the site also has repositores for debian/ubuntu based systems (http://hwraid.le-vert.net/wiki/DebianPackages) where one can find tools and packages not available directly from vendors, id needed.
9690SA SAS/SATA-II RAID PCIe (rev 01)
This Adapter is working well under Proxmox. Attention: make sure you have write cache enabled and use a BBU! Without write cache the vms seem to 'hang' or 'freeze' sometimes. Performance give about 50MB/s on a Raid 5 with 3 HDD's a 1TB
3dm2 Management tool
- debs available from http://jonas.genannt.name
- install key
wget -O - http://jonas.genannt.name/debian/jonas_genannt.pub | apt-key add -
- add to /etc/apt/sources.list :
deb http://jonas.genannt.name/debian lenny restricted
aptitude update aptitude install 3ware-3dm2-binary 3ware-cli-binary
- start service
- note firefox does not display all of the screen correctly [for anyways for last 3-4 years ]. so i usually use konqueror
- connect - login as admin , default password is 3ware
- Change password , allow remote access, change default port . add NAT access thru firewall. ...
All Adaptec controllers with BBU unit are known to perform well. If possible, take one with "Zero-Maintenance Cache Protection", e.g. Adaptec 5805Z or 6405/6805 with Adaptec Flash Module 600 (AFM-600)
IMPORTANT NOTE: Adaptec 5405/5805 does NOT work with newer UEFI-BIOS Boards!! (This is true for almost all P67,H67,Z68 Boards) (Official Adaptec Statement: http://ask.adaptec.com/scripts/adaptec_tic.cfg/php.exe/enduser/std_adp.php?p_faqid=17087&p_created=1305289854&p_topview=1)
Adaptec 2405 Controller completely working (RAID10), out of the box. But be aware, it has no possibility to extend it with an BBU (Battery Backup Unit).
ARC-1210, ARC-1212 and ARC-1222 works very well with good speed
HighPoint 3510 - RAID 10. Works very well.
Compaq / HP
Smart Array (using in-kernel cciss driver)
- P400 PCI-E
- P600 PCI-X
- P800 PCI-E
The P600 and P800 RAID controllers work well with ProxMox 3.0 and 3.1. Both controllers are capable of accessing external SAS storage using, for example, HP MSA50 enclosures.
PERC/LSI (native in-kernel driver)
- PERC 5/i
- PERC 5/E
- PERC 6/i
- PERC 6/E
Above cards work well in PROXMOX 2.3, 3.0 and 3.1.
Monitoring SMART status of disks in array
Monitoring your disks is important so that you can know to replace any disks that may be failing. The following is how you can manually fetch the status of a disk in array. The first time you want to monitor the smart status of your disks, you must install the smartmontools package.
- install the smartmon tools :
apt-get install smartmontools
After that, you can use smartctl to fetch the status of any particular disk in the array. Just change the number after the comma (,) to indicate which drive in the array you care about. The following example checks the second disk. Changing the 1 to a 0 would check the first disk.
- fetch the status of a disk :
smartctl -a -d megaraid,1 /dev/sda
Some server vendor can use LSI (and other vendors) RAID controllers in their servers, renamed, examples:
- IBM ServeRAID M5015 SAS/SATA Controller (should be some kind of MegaRAID SAS 2108, ie: MegaRAID SAS 9260-8i)
In those cases, LSI tools should work anyway.
- 3041E SAS/SATA 3GB 4-port RAID Card (EH417AA) works. Note: This controller's feature set does not include cache and write-back or battery/flash back up. Therefore performance is not improved.
Cards listed below are supported with native kernel drivers.
- SAS2208 SAS/SATA 6GB - PERC H710, H710P and H810
- SAS2008 SAS/SATA 6GB - PERC H310
- SAS/SATA controllers
- Working tools from http://hwraid.le-vert.net repositories (see at the General info section):
- Tool to read and setup LSI Logic MegaRAID SAS HW RAID HBAs.
- Homepage: http://www.lsi.com/channel/support/products/Pages/MegaRAIDSAS9285-8e.aspx
- This package contains both megactl and megasasctl tools that can be used to query LSI's MegaRAID adapters status.
- Get RAID status out of LSI MegaRAID SAS HW RAID controllers
- The megacli-status software is a query tool to access the running configuration and status of LSI MegaRAID SAS HBAs.
- It uses LSI MegaCli proprietary command line tool.