Inspired by Openfiler I built my own DIY Highly Available SAN using Pacemaker, DRBD, LVM and SCST.
My current setup is:
- Two servers running gentoo
- a DRBD device in single primary
- a floating IP address
- an iSCSI Target with one LUN pointing straight to the DRBD device (vdisk_fileio, nv_cache).
The cib looks like:
node isan01 \
attributes standby="off"
node isan02 \
attributes standby="off"
primitive DRBD_VG1 ocf:linbit:drbd \
params drbd_resource="ISCSIVG1" \
op monitor interval="29" role="Master" \
op monitor interval="31" role="Slave"
primitive ISCSI_IP1 ocf:heartbeat:IPaddr2 \
params ip="192.168.100.20" \
op monitor interval="10s"
primitive ISCSI_LUN_LUN10 ocf:scst:SCSTLun \
params target_iqn="iqn.2012-02.com.
isan:vdisk.lun10" lun="0" path="/dev/drbd/by-res/DRBD_VG1" handler="vdisk_fileio" device_name="VDISK-LUN10" additional_parameters="nv_ cache=1" \
op monitor interval="10s"
primitive ISCSI_TGT_LUN10 ocf:scst:SCSTTarget \
params iqn="iqn.2012-02.com.isan: vdisk.lun10" portals="192.168.100.20" \
op monitor interval="10s" timeout="60s"
group GR_ISCSIVG1 ISCSI_TGT_LUN10 ISCSI_LUN_LUN10
ISCSI_IP1
ms MS_DRBD_VG1 DRBD_VG1 \
meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true"
colocation CO_ISCSI_ON_DRBD_VG1 inf: GR_ISCSIVG1 MS_DRBD_VG1:Master
order OR_TARGET_BEFORE_VG1 inf: CL_
ISCSI_TGT_LUN1:start GR_ISCSIVG1:start
order OR_DRBD_BEFORE_VG1 inf: MS_DRBD_VG1:promote GR_ISCSIVG1:start
property $id="cib-bootstrap-options" \
dc-version="1.0.9- da7075976b5ff0bee71074385f8fd0 2f296ec8a3" \
cluster-infrastructure=" openais" \
expected-quorum-votes="2" \
stonith-enabled="false" \
no-quorum-policy="ignore" \
default-action-timeout="240"
rsc_defaults $id="rsc-options" \
resource-stickiness="200"
Now I'm testing it using vmware ESXi 5 as initiator. Seems working.
You can download them from my Github account ...
... and put them in /usr/lib/ocf/resource.d/scst.
UPDATE
SCST resource agent are now included in head revision of SCST project.
I'm just finished writing a master/slave version of SCSTLun, suitable only for iSCSI vdisk.
In the next days I'll test it and soon publish a little howto :)
Was hoping for an update to this
RispondiEliminaI am curious how fail over performed on the ESX side, I had a similar setup on Centos 6 SCST Target and ESXi 4.1, when fail over occurred ESX would not see the target on the fail over node unless I did a manual rescan.
RispondiEliminaWhat about "allowed_initiators" and "initiater group"?
RispondiEliminaHello Steve, "allowed_initiators" and "initiator groups" are pretty easy parameters to add.. maybe in the next release :)
RispondiElimina