<!-- title: Ma vie de sysadmin en semi-pro (2) -->
<!-- category: GNU/Linux BSD -->
<!-- tag: planet -->

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

*   [Nas4Free](http://www.nas4free.org)
*   [Proxmox](http://www.proxmox.com)

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](https://www.itefix.no/i2/content/cwrsync-free-edition). 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](http://www.blat.net)
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 :

``` bat
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.
