====== Introduction ====== Me voilà l'heureux (?) locataire d'une [[http://dedibox.fr|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 * recréer les partitions avec un fdisk * ajouter la partition au tableau RAID1 correspondant 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: * /var est le dossier où les applications comme MySQL ou apache2 stockent leurs fichiers: /var/lib/mysql et /var/www * /var/log contient presque tous les logs des applications système 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: * 100 Mo pour /boot * 512 Mo pour /swap * 20% Go restants pour / * 80% Go restants pour /home 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 * 100 Mo pour /boot * 512 Mo pour /swap * 100% Go restants pour / 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 ?) ???