Accueil

Ma vie de sysadmin en semi-pro (2)

GNU/LinuxBSD02 Dec 2013

Il y a deux logiciels que j'utilise quotidiennent dans mon activité de sysadmin à temps partiel :

Le premier est une distribution NAS sous FreeBSD qui permet de mettre en place facilement un serveur de stockage. Si on l'installe sur un vrai serveur avec plusieurs disques dur, il pourra gérer du Raid 0 (agrégation des disques), du Raid 1 (miroir d'un disque sur l'autre) voire du Raid 5 avec au moins 4 disques pour améliorer la tolérance aux pannes. Ce qu'il apporte ensuite, c'est une facilité de configuration par une interface Web et le support d'un large nombre de protocoles : Samba, NFS, FTP, Rsync et d'autres plus rares. Comme tout bon logiciel, on l'installe, on prend le temps de le configurer puis on l'oublie car ça fait le job !

Je l'ai mis en place pour sauvegarder quelques machines en nocturne par Rsync. C'est de la sauvegarde miroir (pas assez de capacité disque pour faire des sauvegardes tournantes) avec une copie différentielle de ce qui a changé depuis la veille. Pour GNU/Linux, le programme rsync de toute distribution qui se respecte combiné avec un CRON fait l'affaire.

Pour Ms Windows, il a fallu tester quelques clients rsync avant de trouver celui qui n'est pas bogué et qui supporte les noms de fichiers avec accents : c'est cwRsync. Une tâche programmée avec Ms Windows permet de lancer la sauvegarde en nocturne. Il est de bon ton de prévoir l'envoi d'un email avec un compte-rendu de la sauvegarde, pour se rassurer sur le bon fonctionnement et avoir une trace des fichiers synchronisés. J'ai dégoté le programme blat pour l'envoi d'email facile depuis un batch, il y en a sûrement plein d'autres. Voici un script batch assez proche de celui que j'utilise :

REM ================================================================
REM Synchroniser les changements
REM ================================================================
SET SOURCE=(REPERTOIRE SOURCE)
SET IPNAS=(IP DU NAS4FREE)
SET NOMRSYNC=(NOM DU PARTAGE RSYNC)
rsync --recursive --stats --verbose --size-only --chmod=ugo=rwX --compress --delete
        --delete-excluded --force --links --backup --backup-dir=backup
        --exclude-from=exclude.txt "%SOURCE%" %IPNAS%::%NOMRSYNC% >rsync.log 2>rsync.err
copy rsync.err+mail.txt+rsync.log rsync.mail

REM ================================================================
REM Envoi de l'email
REM ================================================================
SET FROM=(EXPEDITEUR DE L'EMAIL)
SET TO=(DESTINATAIRE DE L'EMAIL)
SET SMTP=(SERVEUR SMTP)
SET USER=(COMPTE UTILISATEUR)
SET PWD=(MOT DE PASSE)
blat rsync.mail -f %FROM% -to %TO% -server %SMTP% -u %USER% -pw %PWD% -subject "Nightly backup"

Une autre utilisation de mon instance Nas4Free est de servir un volume réseau iScsi qui sert de stockage partagé à un cluster Ms Windows virtualisé qui sert à des tests. Ce qui m'amène au second logiciel : Proxmox. Il s'agit d'une solution de virtualisation du style de VMware ESX qui tourne sur un serveur dédié, s'administre par une interface Web. En fonction des besoins, on peut créer des machines virtuelles car Proxmox est un hyperviseur KVM ou bien créer des containers openvz.

  • Les containers sont indépendants comme une machine virtuelle mais c'est réalisé par isolation des processus et isolation de la mémoire, une sorte de super Chroot. Ca ne s'applique donc qu'aux système GNU/Linux avec la contrainte de ne pas pouvoir choisir le kernel ni le modifier en rajoutant des modules. Si on n'a pas ces contraintes, les containers sont la solution privilégiée car ils sont très légers.
  • La création de machines virtuelles GNU/Linux ou Ms Windows est la solution pour tous les autres cas.

Grâce à cette gestion mixte Containers / KVM, un hyperviseur Proxmox qui tourne sur un serveur récent peut réellement monter en charge. Les formats de VM sont ceux de KVM, il est aisé de convertir une machine virtuelle VMware ou VirtualBox vers Proxmox. L'interface d'administration est sobre et fonctionnelle. Elle permet la gestion des machines, leur configuration, la visualisation de la charge (processeur, mémoire, réseau) par machine ou globale. Une console (qui nécessite le support de JAVA dans le navigateur Web) peut être démarrée pour prendre le contrôle d'une machine. Proxmox est sous licence AGPL et une société propose un support pour une souscription annuelle raisonnable. Je ne l'ai pas expérimenté mais il est possible de mettre en cluster plusieurs instances de Proxmox ce qui apporte la possibilité de migrer facilement des machines virtuelle ou des containers d'une instance Proxmox vers une autre.

Votre commentaire