Afin de soulager le serveur mutualisé mutual1 un espace de stockage secondaire est configuré sur un second serveur, cet espace est exporté en nfs et remplacera le dossier /data/petra
dans le point de montage /home/petra
sur lequel sont répliqués les sauvegardes des serveurs txxa.
Afin de mettre en oeuvre la déduplication sur le serveur mutual2, on va créer un pool zfs avec un fs dédupliqué.
pool1
:zpool create -f pool1 /dev/sdb1 zpool status pool: pool1 state: ONLINE config: NAME STATE READ WRITE CKSUM pool1 ONLINE 0 0 0 sdb1 ONLINE 0 0 0
pool1/petra
:zfs create pool1/petra
zfs set mountpoint=/data pool1
pool1/petra
:zfs set dedup=on pool1/petra zfs get dedup pool1/petra NAME PROPERTY VALUE SOURCE pool1/petra dedup on local
Avant d'arrêter le service il faut démonter les exports montés sur les systèmes distants.
service nfs stop
/etc/exports
:Seul le file système zfs peut être utilisé en tant qu'export et monté par un client nfs.
vi /etc/exports /data/petra 192.168.1.14(rw,sync,no_root_squash,no_all_squash)
service nfs start
Pour la migration des données vers le fs zfs pool1/petra
on va procéder en deux étapes sur mutual1:
/nfsshare
) et réplication des données vers celui-cihome/petra
)Avant d'arrêter le service il faut démonter les exports montés sur les systèmes distants.
service nfs stop
/etc/fstab
192.168.1.15:/data/petra /nfsshare nfs defaults 0 0
* Démarrage su service nfs:
service nfs start
rsync -av /data/petra/ /nfsshare/ .... sent 961243920020 bytes received 17029996 bytes 41482833.10 bytes/sec total size is 961067897037 speedup is 1.00 rsync warning: some files vanished before they could be transferred (code 24) at main.c(1039) [sender=3.0.6]
zpool list NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT pool1 1.36T 790G 602G - - 8% 56% 1.15x ONLINE -
Le taux de déduplication est de 1.15.
rsync -av /data/petra/ /nfsshare/ .... sent 17955753577 bytes received 1578114 bytes 3471692.93 bytes/sec total size is 974978671319 speedup is 54.29
zpool list NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT pool1 1.36T 794G 598G - - 9% 57% 1.16x ONLINE -
Automatisation de la synchronisation:
- transfert de la cle publique de mutual1 vers mutual2: scp ~/.ssh/id_rsa_SNS.pub root@10.103.212.15:
- création de authorized_keys sur le root de mutual2: touch ~/.ssh/authorized_keys
- intégration de la clé publique de mutual1 dans le fichier authorized_keys du root de mutual2: cat ~/id_rsa_SNS.pub >> ~/.ssh/authorized_keys
- crééation du script de synchronisation dans le root de mutual1:
cat > ~/syncro-nfsshare.sh << 'EOF'
#!/bin/bash
date > root/syncro-nfsshare.log
rsync -av -X --delete-after --stats /data/petra/ /nfsshare/ >> /root/syncro-nfsshare.log && \
ssh 10.103.212.15 "zpool list" >> ~/syncro-nfsshare.log
tail -n40 /root/synchro-nfsshare.log | mailx -s "synchro nfsshare $(date)" -S smtp=smtp://smtp.oc.dgfip:25 -S from="esi.marseille.snsreseau@dgfip.finances.gouv.fr" esi.marseille.snsreseau@dgfip.finances.gouv.fr
EOF
- Rendre exécutable le script: chmod +x /root/syncro-nfsshare.sh
- Programmation du contrôle dans cron de mutual1 avec crontab -e
:
00 09 * 6 * /root/syncro-nfsshare.sh
Number of files: 1102416 Number of files transferred: 2347 Total file size: 985831276480 bytes Total transferred file size: 17573300985 bytes Literal data: 17573300985 bytes Matched data: 0 bytes File list size: 24217234 File list generation time: 0.051 seconds File list transfer time: 0.000 seconds Total bytes sent: 17599905800 Total bytes received: 189736 sent 17599905800 bytes received 189736 bytes 4057658.91 bytes/sec total size is 985831276480 speedup is 56.01 Number of files: 1102416 Number of files transferred: 2401 Total file size: 985831276480 bytes Total transferred file size: 17573566801 bytes Literal data: 17573566801 bytes Matched data: 0 bytes File list size: 24217234 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 17600173895 Total bytes received: 190783 sent 17600173895 bytes received 190783 bytes 4057720.96 bytes/sec total size is 985831276480 speedup is 56.01 NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT pool1 1.36T 805G 587G - - 9% 57% 1.16x ONLINE -
umount nfsshare
/home/petra
:umount /home/petra
/etc/fstab
La ligne concernat leu point de montage précedent doit être invalidée.
#/data/petra /home/petra none bind 0 0 192.168.1.15:/data/petra /home/petra nfs defaults 0 0
/home/petra
:umount /home/petra