Pcsd-iscsi

Aus xinux.net
Zur Navigation springen Zur Suche springen

Vorraussetzungen

  • Eingerichteter HA-Cluster
  • Partitionierte Festplatte

DRBD erstellen

  • apt-get install drbd8-utils

DRBD konfigurieren

Die folgenden Anweißungen müssen auf beiden Nodes ausgeführt werden

  • vi /etc/drbd.d/iscsi.res
resource iscsi {
 protocol C;
 meta-disk internal;
 device /dev/drbd2;
 syncer {
  verify-alg sha1;
 }
 net {
  allow-two-primaries;
 }
 on mabel.xinux.lan {
  disk   /dev/sda2;
  address  198.19.250.1:7702;
 }
 on ryzen.xinux.lan {
  disk   /dev/sda2;
  address  198.19.250.2:7702;
 }
}

drbd-laufwerk erstellen

  • drbdadm create-md iscsi
initializing activity log
NOT initializing bitmap
Writing meta data...
New drbd meta data block successfully created.

drbd-Laufwerk hochfahren

  • modprobe drbd
  • drbdadm up iscsi

Diesen Rechner als primär verwenden

Die folgenden Befehle müssen nur auf der Node ausgeführt werden, die später die primäre Node sein soll

  • drbdadm primary --force iscsi

Dateisystem erstellen

  • mkfs.ext4 /dev/drbd2

Resourcen anlegen

in der Datei drbd_cfg zwischenspeichern

  • pcs cluster cib drbd_cfg

Die Resource für das Master/Slave-Setup erstellen

  • pcs -f drbd_cfg resource create iscsi-drbd ocf:linbit:drbd drbd_resource=iscsi op monitor interval=60s
  • pcs -f drbd_cfg resource master iscsi-drbd-clone iscsi-drbd master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true

Aus der Datei drbd_cfg in cib übernehmen

  • pcs cluster cib-push drbd_cfg

iscsi einrichten

Install iscsi

  • apt-get install iscsitarget iscsitarget-dkms

Resource für iscsi-ip einrichten

  • pcs resource create iscsi-ip ocf:heartbeat:IPaddr2 ip=10.82.100.101 cidr_netmask=16 op monitor interval=30s

iscsitarget einrichten

  • vi /etc/default/iscsitarget
ISCSITARGET_ENABLE=true
ISCSITARGET_MAX_SLEEP=3
ISCSITARGET_OPTIONS="--address=10.82.100.101"

ietd einrichten

  • vi /etc/iet/ietd.conf
Target iqn.2025-12.lan.xinux.mabel:storage-drbd2
Lun 0 Path=/dev/drbd2,Type=block

Resource für iscsitarget erstellen

  • pcs resource create iscsi-target systemd:iscsitarget op monitor interval="30s" --force

Abhängigkeiten und Reihenfolge anpassen

  • pcs constraint colocation add iscsi-ip with master iscsi-drbd-clone INFINITY
  • pcs constraint colocation add iscsi-target with master iscsi-drbd-clone INFINITY
  • pcs constraint order promote iscsi-drbd-clone then start iscsi-ip INFINITY
  • pcs constraint order start iscsi-ip then start iscsi-target INFINITY
  • pcs constraint show
Location Constraints:
  Resource: iscsi-drbd-clone
    Enabled on: mabel (score:INFINITY)
    Enabled on: ryzen (score:INFINITY)
  Resource: iscsi-group
    Enabled on: ryzen (score:INFINITY)
  Resource: iscsi-ip
    Enabled on: mabel (score:INFINITY) (role: Started)
Ordering Constraints:
  start iscsi-ip then start iscsi-target (kind:Mandatory)
  promote iscsi-drbd-clone then start iscsi-ip (kind:Mandatory)
Colocation Constraints:
  iscsi-ip with iscsi-drbd-clone(score:INFINITY)
  iscsi-target with iscsi-drbd-clone (score:INFINITY) (with-rsc-role:Master)

Ergebnis

Cluster name: kvm-cluster
Last updated: Thu Sep 21 10:40:59 2017		Last change: Thu Sep 21 10:38:57 2017 by root via cibadmin on mabel
Stack: corosync
Current DC: ryzen (version 1.1.14-70404b0) - partition with quorum
2 nodes and 9 resources configured

Online: [ mabel ryzen ]

Full list of resources:

 Master/Slave Set: iscsi-drbd-clone [iscsi-drbd]
     Masters: [ mabel ]
     Slaves: [ ryzen ]
 iscsi-ip	(ocf::heartbeat:IPaddr2):	Started mabel
 iscsi-target	(systemd:iscsitarget):	Started mabel

PCSD Status:
  mabel: Online
  ryzen: Online

Daemon Status:
  corosync: active/disabled
  pacemaker: active/enabled
  pcsd: active/enabled