J’aimerais vous annoncer la publication d’un nouveau module puppet-lizardfs qui vous permettra de configurer le système de fichier distribué LizardFS sous Linux (Debian et CentOS/RedHat) avec le gestionnaire de configuration Puppet.
Fonctionnalités du module:
Voici un exemple simple (1 serveur avec LizardFS master + 1 chunkserver) de configuration Puppet, qui permet de déployer LizardFS master + chunkserver avec Puppet et le module puppet-lizardfs:
# l'adresse IP du serveur où le serveur master sera configuré host { 'mfsmaster': ip => 'x.x.x.x', } # déployer le LizardFS Master class {'lizardfs::master': ensure => 'present', first_personality => 'MASTER', exports => ['* / ro'], } # installe le client (qui permet de monter un point de montage LizardFS) class {'lizardfs::client': } # installer et configurer le chunkserver (il sera automatiquement connecté au Master) class {'lizardfs::chunkserver': ensure => present, }
Lancez ensuite Puppet pour que la configuration ci-dessus soit appliquée.
La configuration ci-dessus va installer, configurer LizardFS Master + LizardFS Chunkserver automatiquement. Vous pourrez ajouter cette ligne à /etc/fstab:
mfsmount /mnt/lizardfs fuse mfsmaster=mfsmaster,mfsport=9421,mfssubfolder=/,_netdev,noauto 0 0
Cela vous permettra de monter dans /mnt/lizardfs LizardFS votre premier LizardFS déployé avec Puppet.
Le module Puppet-LizardFS permet des réaliser des scénarios beaucoup plus compliqués que l’exemple ci-dessus, avec un déploiement hautement disponible sur plusieurs serveurs, plusieurs chunkservers, plusieurs masters (et shadows) qui peuvent faire un failover automatique dans le cas d’un incident.
Je vous recommande de lire la documentation de LizardFS, ainsi que le header des codes sources comme master.pp (pour LizardFS master) ou chunkserver.pp du module Puppet pour comprendre comment configurer LizardFS avec différents paramètres.
Liens externes relatifs à Puppet-LizardFS: