1°) Pool de Machine de l’infrastructure Backup
Serveur MGS : Management Server
- Machine node-mgs
- IP :172.16.186.10
- Disque Système : /dev/sda (Datastore2) de 8Go
- Disque mgt : /dev/sdb (Datastore2) de 10Go
- Disque mgt : /dev/sdc (Datastore3) de 10Go
- RAM 2Go
- vCPU : 2
Server MDS : MetaData Server
- Machine node-mds
- IP :172.16.186.12
- Disque Système : /dev/sda (Datastore2) de 8Go
- Disque mdt : /dev/sdb (Datastore2) de 10Go
- RAM 2Go
- vCPU : 2
Server OSS : Object storage Server
- Machine node-oss01
- IP :172.16.186.13
- Disque Système : /dev/sda (Datastore2) de 8Go
- Disque ost : /dev/sdb (Datastore2) de 10Go
- Disque ost : /dev/sdc (Datastore3) de 10Go
- RAM 2Go
- vCPU : 2
- Machine node-oss02
- IP :172.16.186.14
- Disque Système : /dev/sda (Datastore3) de 8Go
- Disque ost : /dev/sdb (Datastore2) de 10Go
- Disque ost : /dev/sdc (Datastore3) de 10Go
- RAM 2Go
- vCPU : 2
- Machine node-oss03
- IP :172.16.186.15
- Disque Système : /dev/sda (Datastore2) de 8Go
- Disque ost : /dev/sdb (Datastore2) de 10Go
- Disque ost : /dev/sdc (Datastore3) de 10Go
- RAM 2Go
- vCPU : 2
- Machine node-oss04
- IP :172.16.186.16
- Disque Système : /dev/sda (Datastore3) de 8Go
- Disque ost : /dev/sdb (Datastore2) de 10Go
- Disque ost : /dev/sdc (Datastore3) de 10Go
- RAM 2Go
- vCPU : 2
- Machine node-oss05
- IP :172.16.186.17
- Disque Système : /dev/sda (Datastore2) de 8Go
- Disque ost : /dev/sdb (Datastore2) de 10Go
- Disque ost : /dev/sdc (Datastore3) de 10Go
- RAM 2Go
- vCPU : 2
- Machine node-oss06
- IP :172.16.186.18
- Disque Système : /dev/sda (Datastore3) de 8Go
- Disque ost : /dev/sdb (Datastore2) de 10Go
- Disque ost : /dev/sdc (Datastore3) de 10Go
- RAM 2Go
- vCPU : 2
2°) Inscription des Machines au DNS
Editer votre zone de DNS et ajouter les machines du Cluster LustreFS
; Cluster LustreFR node-mgs IN A 172.16.186.10 node-mds IN A 172.16.186.12 node-oss01 IN A 172.16.186.13 node-oss02 IN A 172.16.186.14 node-oss03 IN A 172.16.186.15 node-oss04 IN A 172.16.186.16 node-oss05 IN A 172.16.186.17 node-oss06 IN A 172.16.186.18
Pour le reverse
; Cluster lustreFS 10 IN PTR node-mgs.house.cpb. 12 IN PTR node-mds.house.cpb. 13 IN PTR node-oss01.house.cpb. 14 IN PTR node-oss02.house.cpb. 15 IN PTR node-oss03.house.cpb. 16 IN PTR node-oss04.house.cpb. 17 IN PTR node-oss05.house.cpb. 18 IN PTR node-oss06.house.cpb.
Les deux machines seront installées en version minimal sous Centos7.9
3°) Installation Machine node-mgs
Mise à jour
[root@node-mgs ~]# yum -y update [root@node-mgs ~]# yum install epel-release
Installer NTP
[root@node-mgs ~]# yum -y install chrony [root@node-mgs ~]# systemctl start chronyd [root@node-mgs ~]# systemctl enable chronyd [root@node-mgs ~]# timedatectl set-timezone Europe/Paris
Désactiver SELinux
[root@node-mgs ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config [root@node-mgs ~]# cat /etc/selinux/config SELINUX=disabled [root@node-mgs ~]# setenforce 0
Ajout des Repository Lustre
[root@node-mgs ~]# vi /etc/yum.repos.d/lustre.repo [lustre-server] name=CentOS- - Lustre #baseurl=https://downloads.hpdd.intel.com/public/lustre/latest-feature-release/el7/server/ baseurl=https://downloads.whamcloud.com/public/lustre/latest-release/el7.9.2009/server gpgcheck=0 [e2fsprogs] name=CentOS- - Ldiskfs #baseurl=https://downloads.hpdd.intel.com/public/e2fsprogs/latest/el7/ baseurl=https://downloads.whamcloud.com/public/e2fsprogs/latest/el7/ gpgcheck=0 [lustre-client] name=CentOS- - Lustre #baseurl=https://downloads.hpdd.intel.com/public/lustre/latest-feature-release/el7/client/ baseurl=https://downloads.whamcloud.com/public/lustre/latest-release/el7.9.2009/client gpgcheck=0
Installation Lustre et Kernel
[root@node-mgs ~]# yum upgrade -y e2fsprogs [root@node-mgs ~]# yum install -y lustre-tests
Création d’un Network
[root@node-mgs ~]# ip a
[root@node-mgs ~]# echo "options lnet networks=tcp0(eth0)" > /etc/modprobe.d/lnet.conf
Chargement des Modules on Boot
[root@node-mgs]# echo "/sbin/modprobe lnet" >> /etc/rc.local [root@node-mgs]# echo "/sbin/modprobe lustre" >> /etc/rc.local [root@node-mgs]# chmod +x /etc/rc.d/rc.local [root@node-mgs]# reboot [root@node-mgs ~]# ls -al /dev/lnet
[root@node-mgs ~]# /sbin/lsmod | /bin/grep lustre
Installation Kernel-dev (Option)
[root@node-mgs ~]# yum install wget [root@node-mgs ~]# wget https://downloads.whamcloud.com/public/lustre/latest-release/el7.9.2009/server/RPMS/x86_64/kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm [root@node-mgs ~]# rpm -Uvh kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm [root@node-mgs ~]# rm -rf kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm
Création Disque management /mgt
[root@node-mgs ~]# fdisk -l /dev/sdb
[root@node-mgs01 ~]# mkfs.lustre --mgs /dev/sdb
[root@node-mgs ~]# mkdir /mgt [root@node-mgs ~]# mount.lustre /dev/sdb /mgt [root@node-mgs ~]# df -H
Mount au démarrage
[root@node-mgs01 ~]# echo "mount.lustre /dev/sdb /mgt" >> /etc/rc.local [root@node-mgs01 ~]# chmod +x /etc/rc.d/rc.local
Rules Firewall
[root@node-mgs01 ~]# firewall-cmd --add-port=988/tcp --permanent --zone=public [root@node-mgs01 ~]# firewall-cmd --add-port={123,323}/udp --permanent --zone=public [root@node-mgs01 ~]# firewall-cmd --reload
4°) Installation d’une machine node-mds
Mise à jour
[root@node-mds ~]# yum -y update [root@node-mds ~]# yum install -y epel-release
Installer NTP
[root@node-mds ~]# yum -y install chrony [root@node-mds ~]# systemctl start chronyd [root@node-mds ~]# systemctl enable chronyd [root@node-mds ~]# timedatectl set-timezone Europe/Paris
Désactiver SELinux
[root@node-mds ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config [root@node-mds ~]# reboot
Ajout repository Lustre
[root@node-mds ~]# scp root@node-mgs:/etc/yum.repos.d/lustre.repo /etc/yum.repos.d/lustre.repo
Installation Lustre et Kernel
[root@node-mds ~]# yum install -y e2fsprogs [root@node-mds ~]# yum install lustre-tests -y
Création d’un Network
[root@node-mds ~]# echo "options lnet networks=tcp0(eth0)" > /etc/modprobe.d/lnet.conf
Chargement des Modules on Boot
[root@node-mds]# echo "/sbin/modprobe lnet" >> /etc/rc.local [root@node-mds]# echo "/sbin/modprobe lustre" >> /etc/rc.local [root@node-mds]# chmod +x /etc/rc.d/rc.local [root@node-mds]# reboot
Installation Kernel-dev (Option)
[root@node-mds ~]# yum -y install wget [root@node-mds ~]# wget https://downloads.whamcloud.com/public/lustre/latest-release/el7.9.2009/server/RPMS/x86_64/kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm [root@node-mds ~]# rpm -Uvh kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm [root@node-mds ~]# rm -rf kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm
Création disque sur MDT (MDS)
[root@node-mds ~]# fdisk -l
[root@node-mds ~]# mkfs.lustre --fsname=lustrefs --mgsnode=node-mgs@tcp0 --mdt --index=0 /dev/sdb
[root@node-mds ~]# mkdir /mdt [root@node-mds ~]# mount.lustre /dev/sdb /mdt
Mount au démarrage
[root@node-mds ~]# echo "mount.lustre /dev/sdb /mdt" >> /etc/rc.local [root@node-mds ~]# chmod +x /etc/rc.d/rc.local
Rules Firewall
[root@node-mds ~]# firewall-cmd --add-port=988/tcp --permanent --zone=public [root@node-mds ~]# firewall-cmd --add-port={123,323}/udp --permanent --zone=public [root@node-mds ~]# firewall-cmd --reload
5°) Installation Commune pour les machines node-ossx
Mise à jour (6 nodes OSS)
[root@node-oss01 ~]# yum -y update [root@node-oss01 ~]# yum install epel-release
Installer NTP (6 nodes OSS)
[root@node-oss01 ~]# yum -y install chrony [root@node-oss01 ~]# systemctl start chronyd [root@node-oss01 ~]# systemctl enable chronyd [root@node-oss01 ~]# timedatectl set-timezone Europe/Paris
Désactiver SELinux (6 nodes OSS)
[root@node-oss01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config [root@node-oss01 ~]# reboot
Ajout repository Lustre (6 nodes OSS)
[root@node-oss01 ~]# scp root@node-mgs:/etc/yum.repos.d/lustre.repo /etc/yum.repos.d/lustre.repo
Installation Lustre et Kernel (6 nodes OSS)
[root@node-oss01 ~]# yum install -y e2fsprogs [root@node-oss01 ~]# yum install lustre-tests -y
Création d’un Network (6 nodes OSS)
[root@node-mds ~]# echo "options lnet networks=tcp0(eth0)" > /etc/modprobe.d/lnet.conf
Chargement des Modules on Boot (6 nodes OSS)
[root@node-mds]# echo "/sbin/modprobe lnet" >> /etc/rc.local [root@node-mds]# echo "/sbin/modprobe lustre" >> /etc/rc.local [root@node-mds]# chmod +x /etc/rc.d/rc.local [root@node-mds]# reboot
Installation Kernel-dev (Option) (6 nodes OSS)
[root@node-mds ~]# yum -y install wget [root@node-mds ~]# wget https://downloads.whamcloud.com/public/lustre/latest-release/el7.9.2009/server/RPMS/x86_64/kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm [root@node-mds ~]# rpm -Uvh kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm [root@node-mds ~]# rm -rf kernel-devel-3.10.0-1160.25.1.el7_lustre.x86_64.rpm
Rules Firewall
[root@node-mgs01 ~]# firewall-cmd --add-port=988/tcp --permanent --zone=public [root@node-mgs01 ~]# firewall-cmd --add-port={123,323}/udp --permanent --zone=public [root@node-mgs01 ~]# firewall-cmd --reload
5.1 °) Installation Disques node-oss01
[root@node-oss01 ~]# fdisk -l
[root@node-oss01 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=1 /dev/sdb
[root@node-oss01 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=2 /dev/sdc
[root@node-oss01 ~]# mkdir {/ost1,/ost2} [root@node-oss01 ~]# mount.lustre /dev/sdb /ost1 [root@node-oss01 ~]# mount.lustre /dev/sdc /ost2
Mount au démarrage
[root@node-oss01 ~]# echo "mount.lustre /dev/sdb /ost1" >> /etc/rc.local [root@node-oss01 ~]# echo "mount.lustre /dev/sdc /ost2" >> /etc/rc.local [root@node-oss01 ~]# chmod +x /etc/rc.d/rc.local
5.2°) Installation Disques node-oss02
[root@node-oss02 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=3 /dev/sdb
[root@node-oss02 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=4 /dev/sdc
[root@node-oss02 ~]# mkdir {/ost3,/ost4} [root@node-oss02 ~]# mount.lustre /dev/sdb /ost3 [root@node-oss02 ~]# mount.lustre /dev/sdc /ost4
Mount au démarrage
[root@node-oss02 ~]# echo "mount.lustre /dev/sdb /ost3" >> /etc/rc.local [root@node-oss02 ~]# echo "mount.lustre /dev/sdc /ost4" >> /etc/rc.local [root@node-oss02 ~]# chmod +x /etc/rc.d/rc.local
5.3°) Installation Disques node-oss03
[root@node-oss03 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=5 /dev/sdb [root@node-oss03 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=6 /dev/sdc [root@node-oss03 ~]# mkdir {/ost5,/ost6} [root@node-oss03 ~]# mount.lustre /dev/sdb /ost5 [root@node-oss03 ~]# mount.lustre /dev/sdc /ost6
Mount au démarrage
[root@node-oss03 ~]# echo "mount.lustre /dev/sdb /ost5" >> /etc/rc.local [root@node-oss03 ~]# echo "mount.lustre /dev/sdc /ost6" >> /etc/rc.local [root@node-oss03 ~]# chmod +x /etc/rc.d/rc.local
5.4°) Installation Disques node-oss04
[root@node-oss04 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=7 /dev/sdb [root@node-oss04 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=8 /dev/sdc [root@node-oss04 ~]# mkdir {/ost7,/ost8} [root@node-oss04 ~]# mount.lustre /dev/sdb /ost7 [root@node-oss04 ~]# mount.lustre /dev/sdc /ost8
Mount au démarrage
[root@node-oss04 ~]# echo "mount.lustre /dev/sdb /ost7" >> /etc/rc.local [root@node-oss04 ~]# echo "mount.lustre /dev/sdc /ost8" >> /etc/rc.local [root@node-oss04 ~]# chmod +x /etc/rc.d/rc.local
5.5°) Installation Disques node-oss05
[root@node-oss05 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=9 /dev/sdb [root@node-oss05 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=10 /dev/sdc [root@node-oss05 ~]# mkdir {/ost9,/ost10} [root@node-oss05 ~]# mount.lustre /dev/sdb /ost9 [root@node-oss05 ~]# mount.lustre /dev/sdc /ost10
Mount au démarrage
[root@node-oss05 ~]# echo "mount.lustre /dev/sdb /ost9" >> /etc/rc.local [root@node-oss05 ~]# echo "mount.lustre /dev/sdc /ost10" >> /etc/rc.local [root@node-oss05 ~]# chmod +x /etc/rc.d/rc.local
5.6°) Installation Disques node-oss06
[root@node-oss06 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=11 /dev/sdb [root@node-oss06 ~]# mkfs.lustre --ost --fsname=lustrefs --mgsnode=node-mgs@tcp0 --index=12 /dev/sdc [root@node-oss06 ~]# mkdir {/ost11,/ost12} [root@node-oss06 ~]# mount.lustre /dev/sdb /ost11 [root@node-oss06 ~]# mount.lustre /dev/sdc /ost12
Mount au démarrage
[root@node-oss06 ~]# echo "mount.lustre /dev/sdb /ost11" >> /etc/rc.local [root@node-oss06 ~]# echo "mount.lustre /dev/sdc /ost12" >> /etc/rc.local [root@node-oss06 ~]# chmod +x /etc/rc.d/rc.local
6°) Installation Serveur rsnapshot
- Machine server-rsnapshot
- IP :172.16.186.19
- Disque Système : /dev/sda (Datastore3) de 8Go
- Disque Backup : /backup (node-mgs@tcp0:/lustrefs)
- RAM 2Go
- vCPU : 2
Mise à jour DNS
Editer votre zone de DNS et ajouter les machines du Cluster LustreFS
; Cluster LustreFR server-rsnapshot IN A 172.16.186.19 clienr-rsnapshot IN A 172.16.186.20
Pour le reverse
; Cluster lustreFS 19 IN PTR server-rsnapshot.house.cpb. 20 IN PTR client-rsnapshot.house.cpb.
Mise à jour
[root@server-rsnapshot ~]# yum -y update [root@server-rsnapshot ~]# yum -y install epel-release
Installer NTP
[root@server-rsnapshot ~]# yum -y install chrony [root@server-rsnapshot ~]# systemctl start chronyd [root@server-rsnapshot ~]# systemctl enable chronyd [root@server-rsnapshot ~]# timedatectl set-timezone Europe/Paris
Désactiver SELinux
[root@server-rsnapshot ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config [root@server-rsnapshot ~]# cat /etc/selinux/config SELINUX=disabled [root@server-rsnapshot ~]# reboot
Ajout repository Lustre
[root@server-rsnapshot ~]# scp root@node-mgs:/etc/yum.repos.d/lustre.repo /etc/yum.repos.d/lustre.repo
Installation Lustre client
[root@server-rsnapshot ~]# yum install -y e2fsprogs [root@server-rsnapshot ~]# yum install -y kmod-lustre-client lustre-client
Création d’un Network
[root@server-rsnapshot ~]# echo "options lnet networks=tcp0(eth0)" > /etc/modprobe.d/lnet.conf
Chargement des Modules on Boot
[root@server-rsnapshot ~]# echo "/sbin/modprobe lnet" >> /etc/rc.local [root@server-rsnapshot ~]# echo "/sbin/modprobe lustre" >> /etc/rc.local [root@server-rsnapshot ~]# chmod +x /etc/rc.d/rc.local [root@server-rsnapshot ~]# reboot
Mount le Disque Backup
[root@server-rsnapshot ~]# mkdir /backup [root@server-rsnapshot ~]# mount -t lustre node-mgs@tcp0:/lustrefs /backup
Check Disque sur le server rsnapshot
[root@server-rsnapshot ~]# df -H
On se retrouve bien avec 6x20Go de dique OST
- 6x10Go de disque OST /dev/sdb
- 6x10Go de disque OST /dev/sdc
Check File Système
[root@server-rsnapshot ~]# lfs df -h
Check servers
[root@server-rsnapshot ~]# lfs check servers
Installation service rsnaphot
[root@server-rsnapshot ~]# yum install -y rsnapshot
Ajout clef SSH sur le client à backup (client-rsnapshot)
[root@server-rsnapshot ~]# ssh-keygen
[root@server-rsnapshot ~]# ssh-copy-id root@client-rsnapshot
Configurer rsnapshot
[root@server-rsnapshot ~]# cp /etc/rsnapshot.conf{,-old} [root@server-rsnapshot ~]# vi /etc/rsnapshot.conf ########################### # SNAPSHOT ROOT DIRECTORY # ########################### snapshot_root /backup/.snapshots/ ################################# # EXTERNAL PROGRAM DEPENDENCIES # ################################# cmd_cp /usr/bin/cp cmd_rm /usr/bin/rm cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh cmd_logger /usr/bin/logger cmd_du /usr/bin/du cmd_rsnapshot_diff /usr/bin/rsnapshot-diff ######################################### # BACKUP LEVELS / INTERVALS # # Must be unique and in ascending order # # e.g. alpha, beta, gamma, etc. # ######################################### #retain alpha 6 #retain beta 7 #retain gamma 4 #retain delta 3 interval hourly 6 interval daily 7 interval weekly 4 interval monthly 3 ############################################ # GLOBAL OPTIONS # # All are optional, with sensible defaults # ############################################ verbose 2 loglevel 3 logfile /var/log/rsnapshot ############################### ### BACKUP POINTS / SCRIPTS ### ############################### #### client-rsnapshot backup root@client-rsnapshot:/etc client-rsnapshot backup root@client-rsnapshot:/home client-rsnapshot
[root@server-rsnapshot ~]# rsnapshot configtest
Installer rsync sur le client
[root@client-rsnapshot ~]# yum install rsync
Lancement Backup du client (Serveur Rsnapshot)
[root@server-rsnapshot ~]# /usr/bin/rsnapshot hourly
Check du backup (Serveur Rsnapshot)
[root@server-rsnapshot ~]# cat /var/log/rsnapshot
Le backup se réalise bien sur le Cluster Lustre et sur l’agrégat de disque 120Go.
Ajouter les jobs pour déclencher le service de sauvegarde (Serveur Rsnapshot)
[root@server-rsnapshot ~]# crontab -e # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user command to be executed # # Lancement d'un snapshot horaire tous les 4H 0 */4 * * * /usr/bin/rsnapshot hourly # Lancement d'un snapshot journalier à 23h50 50 23 * * * /usr/bin/rsnapshot daily # Lancement d'un snapshot hebdomadaire à 23h00 00 23 * * 6 /usr/bin/rsnapshot weekly # Lancement d'un snapshot mensuel à 23H10 10 23 1 * * /usr/bin/rsnapshot monthly
Test de sauvegarde d’un fichier ISO sur le client
Sur le Client
[root@client-rsnapshot home]# cd /home [root@client-rsnapshot home]# yum install wget -y [root@ home]# wget https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-minimal.iso
Sur le serveur
[root@server-rsnapshot home]# /usr/bin/rsnapshot hourly [root@server-rsnapshot home]# tail -f /var/log/rsnapshot
[root@server-rsnapshot ~]# df -H
[root@server-rsnapshot ~]# ls -al /backup/.snapshots/hourly.0/client-rsnapshot/home/
[root@server-rsnapshot ~]# ls -al /backup/.snapshots/
Views: 11