CentOS 7 : réplication de donnée
Mise en place de GlusterFS sur CentOS 7
GlusterFS est un système de fichiers réseau évolutif et open-source adapté aux charges de travail intensive en données. Permettant aussi et surtout l’accès concurrent aux ressources de stockage.
Environnement
IP | Nom de l’hôte | Rôle | OS |
---|---|---|---|
172.16.0.10/24 | gluster1.stan.local | Nœud | CentOS 7 |
172.16.0.11/24 | gluster2.stan.local | Nœud | CentOS 7 |
172.16.0.12/24 | client1.stan.local | Client | CentOS 7 |
172.16.0.13/24 | client2.stan.local | Client | CentOS 7 |
Serveur de stockage
Configuration DNS
: à faire sur l’ensemble des nœuds serveur.
À défaut de DNS, éditer le fichier /etc/hosts
[root@cent-os~]#: vim /etc/hosts
aperçu du contenu du fichier
172.16.10.10 gluster1.stan.local gluster1 172.16.10.11 gluster2.stan.local gluster2 172.16.10.12 client1.stan.local client1 172.16.10.13 client2.stan.local client2
Installation de GlusterFS
Installer le packet centos-release-gluster
.
[root@cent-os~]#: yum install -y centos-release-gluster
Installer le packet glusterfs-server
(côté serveur).
[root@cent-os~]#: yum install -y glusterfs-server
Démarrage du service glusterd
.
[root@cent-os~]#: systemctl start glusterd
Démarrage du service glusterd
au boot.
[root@cent-os~]#: systemctl enable glusterd
Vérifier le status de ce service.
[root@cent-os~]#: systemctl status glusterd
sortie
● glusterd.service - GlusterFS, a clustered file-system server Loaded: loaded (/usr/lib/systemd/system/glusterd.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2018-04-08 02:48:27 EDT; 8s ago Main PID: 1296 (glusterd) CGroup: /system.slice/glusterd.service └─1296 /usr/sbin/glusterd -p /var/run/glusterd.pid --log-level INFO Apr 08 02:48:27 gluster1.stan.local systemd[1]: Starting GlusterFS, a clustered file-syst..... Apr 08 02:48:27 gluster1.stan.local systemd[1]: Started GlusterFS, a clustered file-syste...r. Hint: Some lines were ellipsized, use -l to show in full.
Configuration du firewall
: pare défaut glusterd écoute sur le port 24007 mais il y a autant de port ouvert que de nœud, donc ces valeurs sont a ajuster au besoin.
[root@cent-os~]#: firewall-cmd --permanent --zone=public --add-source=172.16.0.0/24 [root@cent-os~]#: firewall-cmd --permanent --zone=public --add-port=24000-25000/tcp [root@cent-os~]#: firewall-cmd --permanent --zone=public --add-port=24000-25000/udp [root@cent-os~]#: firewall-cmd --permanent --zone=public --add-port=49152-65535/tcp [root@cent-os~]#: firewall-cmd --permanent --zone=public --add-port=49152-65535/udp [root@cent-os~]#: firewall-cmd --reload
Stockage
Localiser le disque dur, dans le cas présent sdb.
[root@cent-os~]#: lsblk
sortie
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 8G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 7G 0 part
├─centos-root 253:0 0 6.2G 0 lvm /
└─centos-swap 253:1 0 820M 0 lvm [SWAP]
sdb 8:16 0 12G 0 disk
sr0 11:0 1 1024M 0 rom
Créer la partition destiné à GlusterFS avec fdisk
/dev/sdb
[root@cent-os~]#: fdisk /dev/sdb
sortie
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0xc83fd611. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): Entrée First sector (2048-25165823, default 2048): Entrée Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-25165823, default 25165823): Entrée Using default value 25165823 Partition 1 of type Linux and of size 12 GiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Formater la partition.
[root@cent-os~]#: mkfs.ext4 /dev/sdb1
Créer le dossier de montage.
[root@cent-os~]#: mkdir -p /data/gluster
Monter la nouvelle partition dans ce dossier.
[root@cent-os~]#: mount /dev/sdb1 /data/gluster
Éditer le fichier /etc/fstab pour monter la partition au démarrage.
[root@cent-os~]#: vim /etc/fstab
aperçu du contenu du fichier
[…]
/dev/sdb1 /data/gluster ext4 defaults 0 0
Configuration de GlusterFS
: à faire sur un seul des nœud serveur.
Création du pool de stockage à partir du nœud 1.
[root@gluster1~]#: gluster peer probe gluster2.stan.local
sortie
peer probe: success.
Vérifier le status du pool de stockage.
[root@gluster1~]#: gluster peer status
sortie
Number of Peers: 1 Hostname: gluster2.stan.local Uuid: af98e122-83c6-42c1-bab8-33c584627a21 State: Peer in Cluster (Connected)
Lister le pool de stockage.
[root@gluster1~]#: gluster pool list
sortie
UUID Hostname State af98e122-83c6-42c1-bab8-33c584627a21 gluster2.stan.local Connected 032454eb-1683-45f4-a5c8-dbdbd9ac65b0 localhost Connected
Configuration du volume GlusterFS
Création du volume avec 2 duplications.
[root@gluster1~]#: gluster volume create gv0 replica 2 gluster1.stan.local:/data/gluster/gv0 gluster2.stan.local:/data/gluster/gv0 force
sortie
volume create: gv0: success: please start the volume to access data
Démarrage du volume.
[root@gluster1~]#: gluster volume start gv0
sortie
volume start: gv0: success
Vérifier le status du volume.
[root@gluster1~]#: gluster volume info gv0
sortie
Volume Name: gv0 Type: Replicate Volume ID: 1e743855-3935-4bda-abd9-383660f69e1e Status: Started Snapshot Count: 0 Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: gluster1.stan.local:/data/gluster/gv0 Brick2: gluster2.stan.local:/data/gluster/gv0 Options Reconfigured: transport.address-family: inet nfs.disable: on performance.client-io-threads: off
Installation et configuration côté client
: à faire sur l’ensemble des clients.
Tout comme les serveurs, à défaut de DNS, éditer le fichier /etc/hosts
[root@cent-os~]#: vim /etc/hosts
aperçu du contenu du fichier
172.16.10.10 gluster1.stan.local gluster1 172.16.10.11 gluster2.stan.local gluster2 172.16.10.12 client1.stan.local client1 172.16.10.13 client2.stan.local client2
Installer le packet glusterfs-client
(côté client).
[root@cent-os~]#: yum install -y glusterfs-client
Création du point de montage.
[root@cent-os~]#: mkdir -p /mnt/glusterfs
Montage du système de fichier distant dans ce dossier.
[root@cent-os~]#: mount -t glusterfs gluster1.stan.local:/gv0 /mnt/glusterfs
Vérifier le montage.
pare défaut glusterd écoute sur le port 24007 mais il y a autant de port ouvert que de nœud, donc ces valeurs sont a ajuster au besoin.
[root@cent-os~]#: df -hP /mnt/glusterfs
sortie
Filesystem Size Used Avail Use% Mounted on gluster1.stan.local:/gv0 6.2G 1.2G 5.1G 19% /mnt/glusterfs
Ajout du montage au démarrage.
[root@cent-os~]#: vim /etc/fstab
aperçu du contenu du fichier
[…] gluster1.stan.local:/gv0 /mnt/glusterfs glusterfs defaults,_netdev 0 0
Test de réplication
Mountage temporaire des volumes de stockage client sur les serveurs.
[root@gluster1~]#: mount -t gluster2.stan.local:/gv0 /mnt
[root@gluster2~]#: mount -t gluster1.stan.local:/gv0 /mnt
Sur les clients, génération de fichier.
[root@cent-os~]#: touch /mnt/glusterfs/file1 [root@cent-os~]#: touch /mnt/glusterfs/file2
Vérifier que les fichiers sont bien présent sur l’ensemble des nœuds.
[root@gluster1~]#:ls -l /mnt/
total 0 -rw-r--r--. 1 root root 0 Apr 8 03:48 file1 -rw-r--r--. 1 root root 0 Apr 8 03:48 file2
[root@gluster2~]#:ls -l /mnt/
total 0 -rw-r--r--. 1 root root 0 Apr 8 03:48 file1 -rw-r--r--. 1 root root 0 Apr 8 03:48 file2
by Nicolas SHINEY | April 8, 2018 | No Comments | Système | Tags : centos centos 7 glusterfs HA systeme de fichier