Un mémo sur comment ajouter un stockage ZFS à partir d’une baie ISCSI sur un clusters Proxmox afin de faire de la réplication.
Ma configuration actuelle est basée sur un cluster HA de 3 noeuds Proxmox, cependant je souhaite activer la fonction shadows copy sur mes serveurs de fichiers sous Samba et pour ce faire il me faut obligatoirement un stockage de type ZFS.
De par sa conception, le stockage ZFS ne peut pas être partagé vers les noeuds membre du cluster et impossible de faire de la haute disponibilité, par exemple. Du coup, je vais mixer de la HA pour les VMs applicatives hébergées sur le Ceph et de la réplication sur mes VMs Samba hébergées sur la baie ISCSI.
Configuration de la baie ISCSI
- baie ISCSI :
- 2 LUNs de taille identique:
- LUN0 : data01
- LUN1 : data02
- 2 cartes fibre sur 2 réseaux différents :
- IP A0 : 172.1.100.128
- IP B1 : 172.2.201.129
- 2 LUNs de taille identique:
Proxmox : Installation et configuration de l’initiateur ISCSI
- Installer les paquets
open-iscsi
etmultipath-tools
et les deux noeuds :
apt update && apt install open-iscsi multipath-tools -y
nano /etc/iscsi/iscsid.conf
- Démarrage automatique des connexion iSCSI :
- Passer le Time out de 120 secondes à 15 secondes :
node.startup = automatic
node.session.timeo.replacement_timeout = 15
systemctl restart open-iscsi
iscsiadm -m discovery -t st -p 172.1.100.128
172.1.100.128:3260,1 iqn.1988-11.com.dell:01.array.bc305bf23511 172.2.201.129:3260,4 iqn.1988-11.com.dell:01.array.bc305bf23511
iscsiadm -m node --targetname "iqn.1988-11.com.dell:01.array.bc305bf23511" --portal "172.2.201.129:3260" --login
iscsiadm -m node --targetname "iqn.1988-11.com.dell:01.array.bc305bf23511" --portal "172.1.100.128:3260" --login
iscsiadm -m node
172.1.100.128:3260,1 iqn.1988-11.com.dell:01.array.bc305bf23511 172.2.201.129:3260,4 iqn.1988-11.com.dell:01.array.bc305bf23511
lsscsi
[15:0:0:0] disk DellEMC ME4 G280 /dev/sdp [15:0:0:1] disk DellEMC ME4 G280 /dev/sdq [16:0:0:0] disk DellEMC ME4 G280 /dev/sdr [16:0:0:1] disk DellEMC ME4 G280 /dev/sds
/lib/udev/scsi_id -g -d /dev/sdp
3600c0ff00065356e4df94f6201000000
/lib/udev/scsi_id -g -d /dev/sdp
3600c0ff00065356e4ef94f6201000000
nano /etc/multipath.conf
defaults { polling_interval 2 path_selector "round-robin 0" path_grouping_policy multibus uid_attribute ID_SERIAL rr_min_io 100 failback immediate no_path_retry queue user_friendly_names yes } blacklist { wwid .* } blacklist_exceptions { wwid "3600c0ff00065356e4df94f6201000000" wwid "3600c0ff00065356e4ef94f6201000000" } devices { device { vendor "DELLEMC" product "ME4" path_grouping_policy group_by_prio prio rdac path_checker rdac path_selector "round-robin 0" hardware_handler "1 rdac" failback immediate features "2 pg_init_retries 50" no_path_retry 30 rr_min_io 100 } } multipaths { multipath { wwid "3600c0ff00065356e4df94f6201000000" alias data01-iscsi } multipath { wwid "3600c0ff00065356e4ef94f6201000000" alias data02-iscsi } }
/etc/multipath/wwids
:multipath -a 3600c0ff00065356e4df94f6201000000
multipath -a 3600c0ff00065356e4ef94f6201000000
systemctl restart multipath-tools
multipath -ll
data01-iscsi (3600c0ff00065356e4df94f6201000000) dm-20 DellEMC,ME4 size=12T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw `-+- policy='round-robin 0' prio=30 status=active |- 15:0:0:0 sdp 8:240 active ready running `- 16:0:0:0 sdr 65:16 active ready running data02-iscsi (3600c0ff00065356e4ef94f6201000000) dm-21 DellEMC,ME4 size=12T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw `-+- policy='round-robin 0' prio=30 status=active |- 15:0:0:1 sdq 65:0 active ready running `- 16:0:0:1 sds 65:32 active ready running
Proxmox : création des 2 volumes LVM data01 et data02
- Sur le noeud 1 :
- Création du stockage LVM data01-iscsi :
pvcreate /dev/mapper/data01-iscsi
vgcreate vg_data01 /dev/mapper/data01-iscsi
- Création du stockage LVM data01-iscsi :
- Sur le noeud 2 :
- Création du stockage LVM data02-iscsi :
pvcreate /dev/mapper/data02-iscsi
vgcreate vg_data02 /dev/mapper/data02-iscsi
- Création du stockage LVM data02-iscsi :
proxmox : création du pool ZFS
Attention, il faut impérativement le même nom du pool sur les 2 noeuds Proxmox.
- Sur le noeud 1 :
zpool create -f -o ashift=12 zfs-pool /dev/mapper/data01-iscsi
zpool create -f -o ashift=12 zfs-pool /dev/mapper/data02-iscsi
Ajout du stockage ZFS sur les proxmox
- Datacenter -> Storage -> Add -> ZFS :
- Renseigner les champs (ne pas oublier de cocher la case « Thin provision« ) :
- Stockage ZFS ajouté :
- Vue du cluster :