con - PROXMOX + CENTOS 7 + DRBD + ISCSI + PACEMAKER
dispositivo a blocchi esportato in cluster ha.
Requisisti:
2 nodi Proxmox
su ciascuno Centos 7 minimale
struttura rete:
Preparazione:
Centos:
Assegnare ip prima scheda in fase di installazione in modo tale da poter essere collegati ad una rete con internet a disposizione per l'installazione dei pacchetti.
Valutare se fare un bridge, un nat o altro. L'importante è poter installare i pacchetti che di seguito verranno indicati.
disablilitare repo updates e extra
poi
yum install net-tools
disabilitare selinux
scaricare i seguenti pacchetti :
yum install kmod-drbd84-8.4.8-1_1.el7.elrepo.x86_64.rpm
altro modo:
rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
yum install drbd84-utils kmod-drbd84
recuperare i modelli dal mirror per drbd (global_common.conf e basi .res) e posizionarli nell'apposita directory
partizionamento di test:
l'installazione di centos ha automaticamente ricreato nel disco una partition table di tipo DOS
sda3 20G per vm su lvme gfs2
sda5 10G per dati esportati con iscsi
Verificare il funzionamento di drbd e delle varie configurazioni.
Installare i pacchetti per il cluster:
yum install pcs targetcli
poi
systemctl enable target.service
Creazione del cluster:
su entrambi i nodi
passwd hacluster
su entrambi i nodi
systemctl enable pcsd.service systemctl start pcsd.service
il file hosts deve contenere l'associazione nome ip:
192.168.1.xxx nodo1 192.168.1.xxy nodo2
solo su un nodo
pcs cluster auth nomenodo1 nomenodo2
solo su un nodo
pcs cluster setup --name nomecluster nomenodo1 nomenodo2
su entrambi i nodi
service pacemaker start
Creare la risorsa iscsi solo su un nodo dopoe ssersi accertato di avere entrambi primary
pcs resource create r_tgt iSCSITarget iqn=iqn.2017-03.lnst.proto.target0 implementation=lio-t pcs resource create r_lun iSCSILogicalUnit target_iqn=iqn.2017-03.lnst.proto.target0 lun=1 path=/dev/drbd0 implementation=lio-t
pcs resource create clstIP IPaddr2 ip=192.168.1.2 cidr_netmask=24 pcs resource Group add g_clst r_tgt r_lun clstIP
e' anche necessario usare le seguenti opzioni altrimenti le risorse non vanno su:
usare la politica no quorum policy =ignore
e
disabilitare lo stonith=false
entrambe le opzioni le possiamo gestire tramite interfaccia web nella sezione cluster properties
prepariamo l'altra partizione per il gfs2
yum install lvm2-cluster gfs2-utils
abilitare dlm
systemctl enable dlm.service
creare la risorsa di tipo clone dlm
pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true
riguardo LVM
abilitare il tipo cluster
/sbin/lvmconf --enable-cluster
ricordarsi i filtri in lvm.conf modificando come di seguito adattando alle esigenze
filter = [ "a|/dev/cciss/c0d1p1|" ]
oppure nell'altro server:
filter = [ "a|/dev/sdb1|" ]
poi:
pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true
ordine di avvio:
pcs constraint order start dlm-clone then clvmd-clone
collocazione:
pcs constraint colocation add clvmd-clone with dlm-clone
seguire procedura per dlm e clvmd
seguire procedura per creare filesystem clusterizzato gfs2
Per ora sulla virtualizzazione installato solo dopo aver disabilitato elrepo
yum install qemu-kvm libvirt virt-manager
anche i seguenti per poter gestire con putty da winzoz
yum install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils
eseguire anche con:
virt-manager --no-fork
ip assegnati
172.16.196.12 server dns1
172.16.196.13 server dns2
172.16.196.14 server dns3
172.16.196.16 vecchio server1 2003
172.16.196.35 st1
172.16.196.36 st2
172.16.196.37 st3
172.16.196.38 st4
172.16.196.125 nodo1
172.16.196.126 nodo2
172.16.196.127 risorsa1 new - iqn.2017-06.lnst.proto.targeta
172.16.196.128 risorsa2 new - iqn.2017-06.lnst.proto.targetb
172.16.196.129 risorsa3 new - iqn.2017-06.lnst.proto.targetc
180 hdold
181 hdold
182 hdold
183 hdold
184 hdold
185 hdold
186 hdold
187 hdold
188 hdold
189 hdold
190 hdold
191 hdold
fileserver samba
Due nodi Centos in drbd + pacemaker per esportare condivisioni samba
installare il SO su hd da 10G
installare elrepo per drbd
samba
pacemaker
e ricordarsi di disabilitare selinux altrimenti fare le opportune modifiche per far accedere alle cartelle condivise
aggiungere su ciascun nodo hd da 500 poi da 400 ecc..
dopo aver aggiunto l'HD partizionare
fdisk /dev/sdb
controllare PT dos con
p
se tutto ok creare nuova partizione con
n invio invio invio
salvare con
w
Azzerare la partizione appena creata con il seguente comando
dd if=/dev/zero of=/dev/sdx1 bs=1M count=128
Normalemente non mi è mai capitato ma per questa particolare situazione di nodo centos 7 su VM vmware esx6 e 6.5 con disco vmdk è stato necessario altrimenti drbd restituisce errori nella fase di creazione dei metadati
preparare i file .res
e quindi creare il device con i metadati
drbdadm create-md rx...
Appena pronti lanciare la sincronizzazione e dal nodo da cui si è lanciata possiamo cominciare a usarlo
Quindi si formatta e poi si monta.
La partizione creata ha già di default un tipo di formattazione linux (ext)
Per sicurezza l'ho ulteriormente formattata in ext4
mkfs.ext4 /dev/drbdx:
creare le seguenti directory
mkdir /q-PUSRPC mkdir /q-GABIMM mkdir /q-ANTMOB mkdir /q-UPGDIG mkdir /q-SCIENT
e modificare il file /etc/samba/smb.conf aggiungendo
[PUSRPC]
comment = commento
path = /q-PUSRPC/
read only = No
browseable = Yes
[GABIMM]
comment = commento
path = /q-GABIMM/
read only = No
browseable = Yes
[ANTMOB]
comment = commento
path = /q-ANTMOB/
read only = No
browseable = Yes
[UPGDIG]
comment = commento
path = /q-UPGDIG/
read only = No
browseable = Yes
[SCIENT]
comment = commento
path = /q-SCIENT/
read only = No
browseable = Yes
creare una risorsa filesystem per ogni device da associare all'opportuna directory
pcs resource create fs_smb_pusrpc Filesystem device="/dev/drbd0" directory="/q-PUSRPC" fstype="ext4" options="rw,acl,user_xattr" pcs resource create fs_smb_gabimm Filesystem device="/dev/drbd1" directory="/q-GABIMM" fstype="ext4" options="rw,acl,user_xattr"
Indirizzo ip
pcs resource create r_ip_gpps IPaddr2 ip=10.57.46.133 cidr_netmask=26 nic=enoxxxxx
gruppo
pcs resource group add g_gruppoa fs_smb_gruppoa r_ip_gruppoa
una volta attiva la risorsa attivare l'accesso agli utenti desiderati del dominio, in particolare i “domain Admins”. Questa attivazione viene fatta attraverso il comando setfacl
setfacl -R -m group:"REGGIOEMILIA\Domain Admins":rwx /q-PUSRPC/
In sostanza il precedente setfacl è da lanciare per ogni directory che viene condivisa
oppure per quella precedente, l'importante è considerare anche il discorso dell'ereditarietà