Table des matières

Introduction

Me voilà l'heureux (?) locataire d'une Dedibox Pro.

Commande

Il aura fallu attendre les 20 jours de délais maximum avant de recevoir la livraison.

Et le serveur aura été disponible un vendredi soir, après 18H… Ca craint pour la qualité de la prestation. J'ai vraiment l'impression d'une livraison à l'arrache :-(

Prise en Main

La console de Dedibox permet d'installer le système rapidement (en moins de 15 minutes).

Pour mes besoins, je choisis une installation “classique” Ubuntu Server LTS 8.04

Dans la console, il est possible de lancer une série de tests matériels, autant le faire maintenant tant que la machine est vide… Le test annonce un temps moyen de 76 minutes… Mais c'est sans compter la taille du disque dur! En effet, dans les tests, il y a un test SMART sur le disque dur, le temps varie donc en fonction de la taille de l'espace de stockage… Pour le 2x1To du Dedibox Pro, ça prend un peu moins de 3H30 !!! Les tests se passent avec succès. Ok.

Monitoring

J'essaie d'installer le monitoring avancé DMA… Mais ça ne marche pas ?

Il faut rajouter du code pour initialiser les drivers des senseurs.

sensors-detect

Et puis re-démarrer le serveur… Surprise: il n'y a pas de reboot logiciel ? Seulement un reboot matériel… Bon ça marche aussi, mais c'est plus violent…

Ce qui est bizarre, c'est qu'avec le menu IPMI, on a accès aux données de température. Donc tout a l'air d'être prêt, mais le module DMA dit qu'il ne trouve rien… Et pourtant le démon snmpd est bien lancé… :-(

less /etc/modules
modinfo

Essai du shutdon -r 1 NOW

shutdon -r 1 NOW

Il vaut mieux utiliser le reboot

reboot -f

SMARTMONTOOLS

http://smartmontools.sourceforge.net/badblockhowto.html

RAID1

Par défaut, le RAID1 est activé. Le 2è disque de 1To est donc mis en mode “mirror” du premier disque: tout ce qui écrit sur un disque est écrit sur l'autre de manière identique.

Cette commande vous donne les détails sur l'état actuel du RAID1

mdadm --query --detail /dev/md*

Le RAID1 protège seulement contre une défaillance matérielle du disque dur. C'est assez rare et dans la logique de changer de serveur tous les 2 ans, ca me semble peu utile de mettre du RAID1 contre ce problème potentiel.

Un avantage du RAID1 est qu'il permet la lecture répartie sur les 2 disques. Le temps d'accès aux données doit donc être plus rapide.

Vu que l'espace de stockage est de 1To, sur les 2 prochaines années, je n'aurai pas besoin de tellement plus. Alors, je garde le RAID1!

Problèmes

WARNING: Alors que je n'avais pas eu de problème disque en 2 ans avec les dedibox v1, en quelques mois sur Dedibox Pro, j'ai déjà du demander un remplacement de disque :-( Il semble que le matériel Pro 2008 soit moins fiable… qu'un matériel v1 2007 ?

En cas de problème, vous devriez recevoir un mail vous prévenant qu'une partition a été placée en mode “faulty”. Pour enlever et puis ajouter une partition (par ex /dev/sdb1) pour re-synchroniser les disques en RAID1:

cat /proc/mdstat
mdadm /dev/md0 --fail /dev/sdb1
cat /proc/mdstat
mdadm /dev/md0 --remove /dev/sdb1
cat /proc/mdstat
mdadm /dev/md0 --add /dev/sdb1
cat /proc/mdstat

WARNING: Avec la parition initiale du disque en 1To, la synchronisation peut durer plus de 12H!!!

Quand l'erreur se produit dans les 99.9%, cela fait perdre beaucoup de temps… :-(

grep -Hn mdadm /var/log/syslog

Heureusement, on peut augmenter la vitesse d'écriture…

 cat /proc/sys/dev/raid/speed_limit_min
 cat /proc/sys/dev/raid/speed_limit_max
 cat /proc/mdstat
 echo 100000 >  /proc/sys/dev/raid/speed_limit_min
 cat /proc/sys/dev/raid/speed_limit_min
 cat /proc/mdstat

Installer un nouveau disque à un RAID existant

Quelques commandes: http://ptaff.ca/ptaffgnu/2006-06/1149215339-pour_ceux_qui_utilise_software_raid/

La manip est en cours, alors le contenu suivant sera vérifié dans les prochaines semaines…

Une fois que le disque est enlevé du tableau RAID1, le support Dedibox peut remplacer le disque sans rebooter la machine.

Malheureusement, si votre disque vous a laissé tomber, alors, le kernel aussi aura retiré le disque de ses périphériques actif. Dans l'état actuel de mes connaissances, il faut redémarrer le serveur pour que le matériel soit de nouveau détecté et activé. La question était: est-ce possible avec un RAID1 auquel il manque un disque ? La bonne surprise est que OUI, ça ne pose pas de problème :-P ouf…

Une fois le disque accessible, il faut alors

fdisk -l
fdisk /dev/sdX
===
m
p
n
1
p
[]
+100M
t
fd
...
w
===
fdisk -ul
fdisk -l

La mauvaise surprise est que le partitionnement réalisé par Dedibox n'est pas accessible avec fdisk. (début en secteur 1 pour Dedibox alors que fdisk commence en secteur 63 ?) Heureusement, j'avais laissé de l'espace libre non partitionné… mdadm est assez souple pour simplement vérifier que les partitions à ajouter sont assez larges par rapport aux existants. Un décalage dans les secteurs ne le gêne pas :-P

Désinstaller un RAID ?

D'abord arrêter le “tableau” et puis ensuite le recréer avec de nouvelles partitions

mdadm --manage /dev/md0 --stop
mdadm --create /dev/md0 --level=1 --raid-devices=3 --force /dev/sda2 missing missing

Pas grand chose sur comment enlever un disque RAID:

TO CHECK: http://forums.ovh.net/showthread.php?p=228622 par Superkikim

Merci pour vos réponses :-)

Code:
umount /dev/md2
mdadm --manage /dev/md2 --stop
fdisk /dev/sda
delete /dev/sda2
w
fdisk /dev/sdb
delete /dev/sdb2
w
nano /etc/mdadm/mdadm.conf
Mettre la ligne ARRAY /dev/md2 level=raid1 num-devices=2 UUID=xxxxxxxxxxxxx en remarque
Code:
[...]
# definitions of existing MD arrays
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=xxxxxxxxxxxxxxxxxxxxxxxx
#ARRAY /dev/md2 level=raid1 num-devices=2 UUID=xxxxxxxxxxxxxxxxxxxxxxxxxxx
puis 
Code:
rm /dev/md2
Bien sûr, supprimer (ou mettre en remarque) les lignes concernant /dev/md2 dans le fstab, puis:
Code:
reboot
Le reboot est juste pour vérifier que rien ne remonte :-) 

Et elle est belle ! Plus de /dev/md2, plus de RAID, plus rien :-) Enfin, un article existera en français expliquant comment effacer un volume RAID soft.

32 bits ou 64 bits

Le serveur Dedibox Pro est propulsé par un quadri-processeur 64 bits. Pour le système d'exploitation, il y a donc le choix entre les versions 32 bits ou 64 bits. En regardant un peu les rares comparatifs, il semble que les versions logicielles 64 bits sont encore peu nombreuses. Les tests de performance ne donnent pas de différences flagrantes. J'ai lu que MySql serait 2x plus rapide ? Mais aucun chiffre ou test détaillé…

Etant donné que le serveur est destiné à une utilisation standard en tant que serveur web, je préfère rester en 32 bits. (A mon avis, dans 2 ans, je vais utiliser les 64 bits…)

Filesystem ext2 ou ext3

Autre surprise, il semble que le filesystem standard soit maintenant ext3. Il y a 2 ans, c'était ext2 qui était proposé par défaut.

La grande différence est la présence d'un fichier de log pour ext3. Côté performance, ext3 doit être moins rapide si il doit tenir à jour un fichier ? Là encore, on reste sur les sentiers battus… Je choisis de laisser le ext3 par défaut.

Pour le nombre de partitions, là aussi, ça a un peu changé… Par défaut, vous avez une seule grosse partition pour /

Je préfère créer 2 partitions, une pour / et une autre pour /home

NOTE:

Le seul vrai avantage de créer plusieurs partitions est de pouvoir limiter les écritures sur le serveur en cas de malware ou d'attaque extérieure… qui serait journalisée! Le ou les fichiers seront alors limitées à la partition.

Il y a des avantages plus subtils comme de pouvoir monter des partitions différentes sur un dossier pour gérer plusieurs versions, mais en 2 ans, je n'ai jamais eu besoin de ce genre de subtilité :P

Premier essai avant plantage

Le découpage choisi se fait en proportions suivantes:

Ensuite en configurant apache, les fichiers utilisateurs des sites web seront répartis sous /home

Les fichiers applicatifs, comme les bases de données seront séparées des données utilisateurs.

En ajoutant le flag RAID1, l'installation fait le même découpage pour le 2è disque et activera tout seul le 2ème disque en RAID1.

Les conseils donnés pour le swap est de mettre la même quantité que la RAM, sot ici 8Go ?! Mais sur les Dedibox V1, avec 1Go de RAM, le swap est rarement utilisé à plus de 10%. Au delà, c'est le processeur et les lectures/écritures qui rament. C'est pourquoi je laisse 512Mo… par disque (et qui n'est pas en RAID1). Au final cela fait 1go de swap.

Partition par défaut

Suite à un plantage du serveur qui l'a laissé sans reboot normal… :-( Je reviens sur la partition par défaut… Le tout en RAID1

Un autre argument pour la partition par défaut a été un essai de partition non RAID et avec une partition étendue sur le 2è disque… Pas de reboot… L'outil de partition proposée par la console semble un peu faible ?!

Débits Réseaux et Ecriture de Fichiers

Un petit script montre que le nombre de sous-dossiers est toujours limité à 31.999 (ou 32.000 si on veut parler rond).

Dommage, ce serait bien que cette limite soit levée…

Pour le nombre de fichiers possibles dans un dossier, il est gigantesque… bien au delà des To… Le problème est le temps d'accès aux fichiers dès que l'on dépasse les ??? (à re-valider…)

Pour dupliquer une arborescence, la commande rsync permet de facilement tout copier.

rsync -e ssh -avz user@server:/path/to/source local/target

WARNING: si le nombre de fichiers est énorme (plusieurs centaines de milliers…) le temps de calcul initial peut être très long (plusieurs heures ?) et la mémoire utilisée par rsync sur les serveurs monte à plusieurs centaines de Mo…

Mais j'ai dupliqué le contenu de 3 serveurs en même temps sur la Dedibox Pro et le débit entrant ne dépasse pas les 30 mbit/s ? La charge serveur est minuscule pour la Dedibox Pro. En comparaison, la Dedibox V1, en source, sent passer la charge.

RAID1

D'après les tests trouvés sur ce site:

http://dev.osso.nl/herman/blog/2007/05/14/ubuntu-software-raid-performance-problems/

Test en écriture

dd if=/dev/zero of=toto count=300 bs=10M

300+0 enregistrements lus
300+0 enregistrements écrits
3145728000 octets (3,1 GB) copiés, 93,6644 s, 33,6 MB/s

Test en lecture

dd if=toto of=/dev/null count=300 bs=10M

300+0 enregistrements lus
300+0 enregistrements écrits
3145728000 octets (3,1 GB) copiés, 1,78259 s, 1,8 GB/s

Par rapport à une dédibox V1 sans RAID, la vitesse en écriture de la Dedibox Pro est plus lente! :-(

Mais sans RAID1, la Dedibox Pro écrit à peu près à la même vitesse que sur une partition avec RAID1!

Par contre, en lecture, la différence de vitesse est énorme :-)

# Pour une Dedibox V1
dd if=/dev/zero of=toto count=300 bs=10M
300+0 records in
300+0 records out
3145728000 bytes (3,1 GB) copied, 67,3376 seconds, 46,7 MB/s

dd if=toto of=/dev/null count=300 bs=10M
300+0 records in
300+0 records out
3145728000 bytes (3,1 GB) copied, 65,9412 seconds, 47,7 MB/s

Note: GB ⇒ Go (Giga octets) et MB ⇒ Mo (Mega octets)

NOTE:

En testant avec une installation sans RAID1 sur partition primaire ou étendue… Les résultats sont à peu près les mêmes!

Donc pas vraiment de perte ou gain en lecture/écriture avec le RAID1 ?!

Problèmes avec Dedibox Pro

RAID1

Le RAID1 a envoyé un mail signalant qu'un disque était en erreur.

Puis un disque a été déconnecté du système.

Le support a remplacé le disque déconnecté, mais il n'est pas détecté par le système.

Il a fallu rebooter le serveur pour prendre en compte le disque remplacé.

Partitionnement du disque et ajout des partitions au partitions RAID1.

La resync s'effectue mais plante à la fin et provoque une nouvelle resync… CA BOUCLE!

Le disque en erreur est le seul RAID1 actif!

Un smartctl permet de détecter si le disque a des problèmes… Faire le test sur les 2 disques!

smartctl -t long /dev/sdN
... quelques heures plus tard...
smartctl -d ata -a /dev/sdN

Faire un dd conv=noerror,sync entre le disque défectueux et le disque correct et tester si le reboot marche ?

PARTED

Il existe un logiciel pour gérer les partitions pour Linux: parted (ou gparted)

La documentation indique que parted peut gérer les partitions RAID1 ?

http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html

A tester… Et c'est NON :-(

Parted gère une partition ext3 non RAID mais affiche une erreur pour les partitions RAID

Error: File system has an incompatible feature enabled.

Mixer RAID1 et non RAID1 ?

On peut imaginer

/data en RAID1 /data2 en non RAID1

A ajouter dans etc/fstab: montage de partition sur /data2

Il faut tester la différence en temps de lecture RAID1 et non RAID1. Si la différence n'est pas déterminante, il semble plus judicieux de monter le filesystem noyau Linux / (pour /var, /proc) sur du non RAID ? (moins de double écriture ?)

???