iSCSI en LVM, KVM, Docker Howto - Deel 1
Geplaatst op 10-01-2018 om 12:00
Deze howto toont je hoe je iSCSI over LVM kunt installeren om zelf je iSCSI storage server te bouwen. Met een iSCSI storage heb je shared storage en ben je een stap verder om je KVM virtuele machines High-Available te maken.
In deel 1 tonen we hoe je een iSCSI storage server installeert.
Als eerste hebben we een server/vps nodig met een uptodate versie van CentOS 7 en een reserve disk die gebruikt gaat worden voor de storage. In ons voorbeeld gebruiken we een vps met 2 disks (/dev/vda en /dev/vdb). In de praktijk zul je dit wegens performance overwegingen bij voorkeur op bare metal doen natuurlijk.
Stap 1 is het configureren van de software pakketten:
Login als root op je server/vps.
# yum install -y epel-release
# yum install -y scsi-target-utils
# firewall-cmd --add-service=iscsi-target --permanent
# firewall-cmd --reload
# systemctl enable tgtd
# systemctl restart tgtd
# yum -y update
# reboot
Na het booten heb je uptodate CentOS 7 systeem waarop een iscsi daemon draait.
Stap 2 is het configureren van je storage disk ( /dev/vdb )
# fdisk -c -u /dev/vdb
Gebruik de volgende commando's:
n - maak nieuwe partitie
p - kies primaire partitie
1 - kies nummer 1
t - Wijzig het type van de partitie
1 - Kies de te wijzigen partitie
8e - zet type '8e' (lvm)
w - sla de wijzigingen op
Hiermee gebruik je de hele disk (enter,enter) met 1 primaire partitie (n,p,1), zet je hem op type lvm (t,1,8e) en schrijf je de config naar disk (w). Soms zul je de server hierna moeten rebooten. Controleer of /dev/vdb1 aanwezig is. Als het OS dit bestand niet ziet, dan moet je de server even een reboot geven.
Stap 3 is het maken van logical volumes op je nieuwe disk. Deze logical volumes worden straks de disks van je vm's. Wij gebruiken in dit voorbeeld twee volumes, maar dat zal in jouw situatie natuurlijk anders zijn, afhankelijk van je aantal vpssen.
# pvcreate /dev/vdb1
# vgcreate vg_iscsi /dev/vdb1
# lvcreate -L 50G -n lv_iscsi vg_iscsi
# lvcreate -L 50G -n lv_iscsi_1 vg_iscsi
Je hebt nu 2 logical volumes in 1 volumegroup die als luns kunnen worden gebruikt door bijvoorbeeld kvm en die een disk/storage representeren voor een vps later.
Stap 4 is om deze volumes te koppelen aan iSCSI luns zodat ze ook daadwerkelijk beschikbaar worden over iSCSI.
#vi /etc/tgtd/target.conf
Wijzig het target.conf bestand zodat de inhoud overeenkomt met:
# start
default-driver iscsi
# IQN naam kun je aanpassen naar wens, zolang het formaat maar gelijk blijft
# hier worden je LUN's aangemaakt, 1 voor elk logical volume.
backing-store /dev/vg_iscsi/lv_iscsi
backing-store /dev/vg_iscsi/lv_iscsi_1
# end
Sla het bestand op en herlaad de iSCSI daemon:
# systemctl restart tgtd
Je hebt nu 1 target met 2 luns.
Controleer je luns:
# tgtadm --mode target --op show
Gefeliciteerd. Je hebt nu een iSCSIOVERLVM installatie!
In deel 2 geef ik een voorbeeld om een kvm node te installeren.