NotesNotesIt is not trivial to resize this configuration, it is recommended to use Il n'est pas banal de redimensionner cette configuration, il est recommandé d'utiliser Role STORE - DRBD File System (Redundant with LVM). Create DRBD Partitions on disk (Both Nodes)The commands below assume that /dev/sdb will be used for the DRBD partition.Créer des partitions DRBD sur disque (les deux nœuds)Les commandes ci-dessous supposent que /dev/sdb sera utilisé pour la partition DRBD. Translations Ignore |
---|
Code Block |
---|
device=/dev/sdb |
dd if=/dev/zero of=${device} obs=512 count=100 |
dd if=/dev/zero of=${device} obs=512 count=100 seek=$(( $(blockdev --getsz ${device}) -100 )) |
parted ${device} "mklabel gpt" |
parted ${device} "mkpart primary 0% 100%" |
| Verify that the partition is created:
Vérifiez que la partition est bien créée : Translations Ignore |
---|
Code Block |
---|
fdisk -l /dev/sdb |
WARNING ATTENTION : le support de fdisk GPT | supportiscurrently newandthereforeinanexperimentalphaseUseatyourowndiscretion.
Diskdiscrétion. Disque /dev/sdb : 274.9 GB, 274877906944 bytes, 536870912 sectors |
Units = sectors of 1 * 512 = 512 bytes |
Sector size (logical/physical): 512 bytes / 512 bytes |
I/O size (minimum/optimal): | 512bytes / 512 bytes
Disk label type: gpt
Disk identifier: /dev/sdb : E7FF3D92-84BB-44E1-B0B0-26150DB80639 |
# # Start End Size Type Name 1 2048 536868863 256G Microsoft | End Size Type Name
1 2048 536868863 256G Microsoft basic primary | Install DRBD Repos (Both Nodes)
Installer DRBD Repos (les deux nœuds) Translations Ignore |
---|
Code Block |
---|
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org |
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm |
| Install
Installer les modules DRBD Modules (Both Nodesles deux nœuds) Translations Ignore |
---|
Code Block |
---|
yum -y install drbd84-utils kmod-drbd84 |
| Configure Firewall (Both Nodes
Translations Ignore |
---|
Code Block |
---|
firewall-cmd --zone=public --add-port=7788-7799/tcp --permanent |
| Configure
Configurer DRBD ( Both Nodesles deux nœuds) NOTE: The following commands requires the hostname of both machines and the IP Address. These are obtained as follows:Les commandes suivantes nécessitent le nom d'hôte des deux machines et l'adresse IP. Ceux-ci sont obtenus comme suit : Create a DRBD config file for jtelshared on
Créer un fichier de configuration DRBD pour jtelshared sur /dev/sdb Translations Ignore |
---|
Code Block |
---|
title | /etc/drbd.d/jtelshared.res |
---|
| cat <<EOFF > /etc/drbd.d/jtelshared.res |
address 10
}
}
|
Note : it has been observed, that the fully qualified host name is required in the configuration file. If the first step below fails, then try with the fully qualified host name.il a été observé que le nom d'hôte entièrement qualifié est requis dans le fichier de configuration. Si la première étape ci-dessous échoue, essayez alors avec le nom d'hôte pleinement qualifié. Créer des métadonnées et démarrer (les deux nœuds) Code Block |
---|
drbdadm create-md jtelshared |
|
Make one node primary (First Node)
Faire un nœud primaire (premier nœud) Translations Ignore |
---|
Code Block |
---|
drbdadm primary jtelshared --force |
| Tune the transfer (Second Node)
Régler le transfert (deuxième nœud) Translations Ignore |
---|
Code Block |
---|
drbdadm disk-options --c-plan-ahead=0 --resync-rate=110M jtelshared |
|
Create filesystem (First Node)
Créer un système de fichiers (premier nœud) Translations Ignore |
---|
Code Block |
---|
mkfs.xfs -L data /dev/drbd1 |
|
Create fstab entry for file system (Both Nodes)Add the following line to
Créer une entrée fstab pour le système de fichiers (les deux nœuds)Ajouter la ligne suivante à /etc/fstab Translations Ignore |
---|
Code Block |
---|
/dev/drbd/by-res/jtelshared/0 | xfs noauto,noatime,nodiratime | | Mount the file system (First Node)
Monter le système de fichiers (premier nœud) Translations Ignore |
---|
Code Block |
---|
mkdir /srv/jtel |
chown -R jtel:jtel /srv/jtel |
|
Wait for initial sync to complete (Any Node)
Attendre la fin de la synchronisation initiale (N'importe quel nœud) Translations Ignore |
---|
When not yet done:
Quand ce n'est pas encore fait: version: 8.4.10-1 (api:1/proto:86-101) |
GIT-hash: a4d5de01fffd7e4cde48a080e2c686f9e8cebf4c build by mockbuild@, 2017-09-15 14:23:22 |
1: cs:SyncTarget ro:Secondary/Primary ds:Inconsistent/UpToDate C r----- |
ns:0 nr:3955712 dw:3950592 dr:0 al:8 bm:0 lo:5 pe:0 ua:5 ap:0 ep:1 wo:f oos:264474588 |
[>....................] sync'ed: | (258272/262132)M
(258272/262132)M finish: 2:08:08 speed: 34,388 (25,652) want: 112 | ,
# When done:
version # Quand c'est fait : version : 8.4.10-1 (api:1/proto:86-101) |
GIT-hash: a4d5de01fffd7e4cde48a080e2c686f9e8cebf4c build by mockbuild@, 2017-09-15 14:23:22 |
1: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----- |
ns:0 nr:15626582 dw:284051762 dr:0 al:8 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 |
|
Untune the transfer (Second Node)
Désaccorder le transfert (deuxième nœud) Translations Ignore |
---|
Code Block |
---|
drbdadm adjust jtelshared |
| Make second node primary and mount the file system
Faire du deuxième nœud un nœud primaire et monter le système de fichiers (Second node) Translations Ignore |
---|
Code Block |
---|
mkdir /srv/jtel |
chown -R jtel:jtel /srv/jtel |
drbdadm primary jtelshared |
| Install
Installer Samba and et lsof (Both Nodesles deux nœuds) Translations Ignore |
---|
| Install | yum -y install samba samba-client lsof |
| Configure
Both Nodes Translations Ignore |
---|
| Configure | cat <<EOFF > /etc/samba/smb.conf |
printcap name = cups
printcap name = cups load printers = yes |
comment = Home Directories |
Yes
[printers]
Yes [printers] comment = All Printers |
comment = Printer Drivers |
path = /var/lib/samba/drivers |
root
create mask = 0664
root create mask = 0664 directory mask = 0775 |
comment = jtel ACD Shared Directory |
acl allow execute always = True |
| Setup
Configuration de SeLinux, jtel User access and Firewall for Samba (Both Nodes)Accès utilisateur et pare-feu pour Samba (les deux nœuds)Remplacez <mot de passe> par le mot de passe réel de l'utilisateur de jtel : Replace <password> with the actual password for the jtel user: |
---|
Code Block |
---|
title | SeLinux, utilisateur jtel |
---|
|
| User | Firewall | setsebool -P samba_enable_home_dirs=on samba_export_all_rw=on use_samba_home_dirs=on use_nfs_home_dirs=on |
printf '<password>\n<password>\n' | smbpasswd -a -s jtel |
firewall-cmd --zone=public --add-port=445/tcp --add-port=139/tcp --add-port=138/udp --add-port=137/udp --permanent |
| If necessary, add further users to
Si nécessaire, ajoutez d'autres utilisateurs à samba : Translations Ignore |
---|
| More Plus d'utilisateurs de SAMBA |
|
| users
printf 'F1r3B²11\nF1r3B²11\n' | smbpasswd -a -s Administrator |
| Test
Tester SAMBA (Both Nodesles deux nœuds)This test should be performed on the node which currently has Ce test doit être effectué sur le nœud qui a actuellement /srv/jtel/shared mountedmonté : Translations Ignore |
---|
| Test
# Now check access to the SMB share via (for example) one of the windows machines. |
# do same again on other node |
| Unmount and disable
Démonter et désactiver SAMBA (Both Nodesles deux nœuds) Translations Ignore |
---|
| Unmount
| Install
Installer les services PCS Services (Both Nodesles deux nœuds)See Voir Redundancy - Installing PCS Cluster. Setup virtual (One Node OnlyChange the following to set the virtual IP which should be shared between the nodes. Modifiez les éléments suivants pour définir l'IP virtuel qui doit être partagé entre les nœuds. Translations Ignore |
---|
| Set virtual | Configure
Resources (One Node OnlyConfigure the PCS resources with the following commands: Configurez les ressources PCS à l'aide des commandes suivantes : Translations Ignore |
---|
| Configure Configurer les ressources PCS |
|
| Resources | pcs resource create ClusterDataJTELSharedMount ocf:heartbeat:Filesystem device="/dev/drbd/by-res/jtelshared/0" directory="/srv/jtel/shared" fstype="xfs" --group=jtel_portal_group |
pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=${KE_VIP} cidr_netmask=32 op monitor interval=30s --group=jtel_portal_group |
pcs resource create samba systemd:smb op monitor interval=30s --group=jtel_portal_group |
pcs constraint order start ClusterDataJTELSharedMount then ClusterIP |
pcs constraint order start ClusterIP then samba |
|
TestTest as followsTester comme suit : Translations Ignore |
---|
| Test pcs status
showsthestatusofthenewlycreatedresourcesonboth nodesonenodeshouldbeactive
Cluster name
Current DC : uk-acd-store2 (version 1.1.16-12.el7_4.8-94ff4df) - partition | with quorum
Last updated: Monavec quorum Dernière mise à jour : Lun 19 Mar | 19
LastchangeMon 19byon
nodesconfigured
3 resources configured
Online3 ressources configurées en ligne : [ uk-acd-store1 uk-acd-store2 ] |
Full list of resources:
Resource Group Liste complète des ressources : Groupe de ressources: jtel_portal_group |
ClusterDataJTELSharedMount (ocf::heartbeat:Filesystem): | store1
ClusterIP ocf::heartbeat:IPaddr2
Started
Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled |
Test the file mount: Statut du démon : corosync : actif/activé pacemaker : actif/activé pcsd : actif/activé |
|
Tester le montage du fichier : Translations Ignore |
---|
Code Block |
---|
title | Tester la monture du fichier |
---|
| # Depuis les machines Windows: dir |
| Code Block |
---|
| # From the windows machines:
dir | Test manual failover
Tester le basculement manuel : Translations Ignore |
---|
| Test file mountTester la monture du fichier |
| # Failover to node 2 |
pcs cluster standby uk-acd-store1 |
# Then test the availability of the files from the windows machines. |
# Create a new file before failing back (to make sure DRBD working ok). |
pcs cluster unstandby uk-acd-store1 |
pcs cluster standby uk-acd-store2 |
# Then test the availability of the files from the windows machines. |
# Check that the new file created above is available. |
pcs cluster unstandby uk-acd-store2 |
| Manually link
Lien manuel /home/jtel/shared (Both Nodes)les deux nœuds) Translations Ignore |
---|
Code Block |
---|
title | link /home/jtel/shared |
---|
| ln -s /srv/jtel/shared /home/jtel/shared |
|
|