Nouvelle architecture de stockage
Par man le mardi 14 décembre 2010, 17:56 - Hébergement - Lien permanent
Notre infrastructure de stockage nouvelle génération est en cours de déploiement.
La gestion des disques, elle aussi, passe à la moulinette de la virtualisation... et nous sommes impatients de vous en faire profiter !
Comme vous allez le voir, les fonctionnalités sont très intéressantes et nous allons les intégrer, au fur et à mesure, sur votre interface de gestion ainsi que sur la nouvelle API.
Améliorations
Outre les disques, bien sûr toujours en RAID pour la redondance, et le cache en écriture résistant à une coupure de courant, les serveurs de stockage sont maintenant en cluster : en cas de panne d'un contrôleur, un contrôleur de secours est prêt à reprendre la gestion des disques.
La capacité de stockage a été améliorée ainsi que les I/Os. Vous pourrez créer ainsi, très prochainement, des disques plus gros.
La création, la copie et l'agrandissement de disques seront plus rapide et plus automatisés.
Snapshot
Ce mécanisme permet de réaliser un cliché instantané de votre disque qu'il soit utilisé ou détaché. Le Snapshot peut être utilisé pour réaliser une sauvegarde cohérente de votre disque. D'ici quelques semaines, une gestion des Snapshots à la demande sera mise à votre disposition. Nous travaillons également sur une gestion périodique des Snapshots. Par exemple, la possibilité de créer un Snapshot tous les jours et de ne garder que les 7 derniers.
Copie de disque
Grâce aux Snapshots, il sera possible, dès la sortie, d'effectuer une copie rapide de votre disque à chaud, même en ayant de l'activité sur celui-ci. Cette fonctionnalité facilitera le déploiement rapide (clone) de serveurs.
Restauration
Vous pourrez, à partir d'un Snapshot, créer un disque, récupérer vos fichiers effacés ou encore effectuer un retour arrière (rollback).
Sauvegarde automatique de disque
Pour les plus exigeants, un système de sauvegarde disque à disque, vers un système de stockage indépendant, est à l'étude. Pour la majorité des usages, le mécanisme des snapshots devrait largement répondre à vos besoins.
Disques et partitionnement
Les disques Gandi sont des disques logiques, c'est à dire que nous fournissons accès à des disques déjà optimisés, sécurisés, et qu'il est facile d'en créer, de les agrandir, ou de les détruire à la volée.
Les partitions, LVM, ou des algorithmes RAID représentent pour votre machine virtuelle au mieux une surcharge inutile, au pire une réorganisation des accès disques pouvant résulter en une dégradation des performances (voir ci-dessous). De plus, vous pouvez vous priver de fonctionnalités très pratiques : un snapshot effectué sur un disque faisant partie d'un RAID n'aurait aucun intérêt, le redimensionnement d'un disque partitionné (notre ancien système pour ceux qui ont pratiqué) est complexe voire dangereux si on ne fait pas attention.
Comme pour les SSD et les nouveaux disques dur, les blocs en interne ne sont plus de 512 octets mais de 4k. Si vous utilisez des partitions, ou LVM, les accès à vos données risquent de ne pas être alignés, et les performances divisées par trois.
Les partitions n'ont de réelle utilité que pour les disques physiques. Cela complique la gestion de vos disques pour rien : regrouper vos données sur un seul disque de data ou créer plusieurs disques est la bonne solution.
Les disques créés par Gandi n'utiliseront plus de partitions. Actuellement seuls les disques système possèdent une partition par défaut (système et swap) : elle va disparaitre. Le disque système sera alors géré comme n'importe quel autre disque, ce qui facilitera la gestion. Pour garder le même niveau de service, nous vous fournirons un disque temporaire pour le swap. Pour rester cohérents avec les configurations actuelles, nous émulerons des partitions virtuelles pour vous présenter le disque système et le swap : le système sera vu comme xvda1, le swap comme xvda2.













Commentaires
wahou!!!
Que du bon. Une roadmap à la louche de ces différentes fonctionnalités? Le snapshoting ça déménage!
> Les disques créés par Gandi n'utiliseront plus de partitions.
La migration des serveurs existants vers cette architecture se fera quand ? Cela nécessitera il des redémarrages ou autre ?
@spirit: les différentes fonctionnalités seront disponibles au fur et à mesure.
Côté migration, un arrêt du serveur sera effectivement nécessaire.
Erf :( Et bien moi ça ne me plait guère.
Les partitions, c'est aussi un bon moyen d'analyser les sources de problème (via iostat par exemple), ainsi qu'une sécurité supplémentaire (voir la dernière faille Exim, donnant l'accès root distant, qui est bloquée par un simple mount "nosuid" sur la partition exim...).
Pour le coup je trouve que c'est une régression :(
@Olivier B: Comme précisé dans l'article, rien ne vous empêche de créer plusieurs disques selon vos besoins; cela remplacera votre ancien mécanisme de partitions et ne changera rien à vos autres habitudes.
@Olivier B: il n'est pas interdit de créer des partitions sur votre disque de données. Par contre il est important d'aligner les partitions sur 4k au moins, ce qui n'est pas le cas par défaut.
Dans ce cas c'est tout bon, merci :)
Quel est le fournisseur de vos baies de disques ?
@dédé: pour la partie hardware nous travaillons avec notre fournisseur Dell.
La modification des disques sera simplifié alors ? Genre on pourra modifier la taille des disques depuis l'interface Gandi ? Ou il faudra toujours faire une manip soit même directement sur le disque ?
@seb24: le redimensionnement des disques ne changera pas. La manipulation via l'interface ou l'API permet de redimensionner votre volume; puis il faut que votre système de fichiers le prenne en compte; cela restera une opération de votre côté (chacun peut avoir un système de fichiers différent par exemple).
Par ailleurs, une amélioration à venir sera le redimensionnement sans arrêter la machine virtuelle.
"Côté migration, un arrêt du serveur sera effectivement nécessaire."
Vous avez prévu le cas "lundi noir" ou tous les serveurs tombent et remontent en même temps et du coup font des migrations de disques en masse qui doublent le temps de remontée des serveurs ? ;)
Plus sérieusement, est-ce que lors d'une modification de disque (taille ou nom), ou son détachement/attachement, sa migration vers la nouvelle plateforme est effectuée ?
Pour les disques système, il faut un arret complet ou un redémarrage suffit ?
comment savoir quels disques sont déjà migrés ? ça serait pratique pour planifier des halt/reboot sur les serveurs qui sont encore sur l'ancien système.
@vixns: pour le moment la nouvelle architecture de stockage n'est disponible que sur le datacenter US. Lorsque celle-ci sera disponible en France, toutes les nouvelles créations se feront sur cette nouvelle architecture; une modification classique (redimensionnement par exemple) ne changera pas le disque de plateforme. Nous prévoirons une migration pour les anciens disques.
La migration entraînera un arrêt complet du serveur.
À l'avenir les nouvelles fonctionnalités n'apparaitront que sur les disques présents sur la nouvelle architecture; ce sera un bon indicateur pour savoir si un disque a été effectivement migré.
Et donc, où en est-on de ces supers améliorations que tous avec impatience nous attendons ?
:p
@aGrizeli31: nous allons d'abord mettre en place cette nouvelle architecture en France. Le reste viendra après.
Petit problème d'utilisation :
J'ai mon serveur qui se trouve en Debian 6 sans disque attaché.
J'attache un disque au serveur : il est bien présent en ext4 et correctement monté :
/dev/xvda1 ext4 3.0G 789M 2.1G 28% /
/dev/xvdb ext4 15G 166M 14G 2% /srv/data-prod1
Je reboot, Le disque a disparu : (df -Th )
/dev/xvda1 ext4 3.0G 789M 2.1G 28% /
dans l'interface, il apparait bien comme attaché.
Je lance un fsck :
[/sbin/fsck.ext4 (1) -- /dev/xvdb] fsck.ext4 /dev/xvdb
e2fsck 1.41.12 (17-May-2010)
data-prod1: clean, 11/983040 files, 104064/3932160 blocks
et le disque apparait : (df -Th )
/dev/xvda1 3.0G 789M 2.1G 28% /
/dev/xvdb 15G 166M 14G 2% /srv/data-prod1
Et la, je suis bloqué car le disque externe contient mon repository MySql + des services Apache (ticket ouvert chez le support).
J'ai cru comprendre que la découverte des disques externes se faisait a coup de udev, ptet un problème de synchro non ?
@gilbert: un fixe est en phase de test/validation. Une nouvelle version du package gandi-hosting-vm va être disponible dans le repository dans les prochains jours (même réponse que dans les groups ^_^)
@gilbert: le fixe est maintenant disponible. La version du package est 1.0.0-r4727.