iSCSI & Multipath Linux ja Windows
Linux
Asennus suoritetaan CentOS 7 Linuxjakelulle. Linuxissa iSCSI-levyjä hallitaan iscsi-initiator-työkaluilla ja multipath-polkuja multipath-työkaluilla. Asennetaan iscsitarget, multipath ja riippuvuudet. Tästä voit lukea Multipathista enemmän.
root@centos # yum -y install device-mapper-multipath \ device-mapper-multipath-libs \ libiscsi-utils iscsi-initiator-utils
iscsiadm-komennolla voidaan etsiä verkosta iSCSI-portalit. -t optio on lyhenne typestä, st lyhenne sendtargets ja -p portalista. Annetaan portaleiksi aiemmin Nexentaan luodut: 172.29.159.10 ja 172.29.160.10 -osoitteet. Portti 3260 on oletusportti iSCSI-portaleille, mutta tämä voidaan määritellä myös joksikin muuksi. Etsitään portalit ja kirjaudutaan löydettyihin targeteihin. Tuotantoympäristöissä on monesti useita targeteja ja tässä esimerkissä kirjaudutaan useisiin targeteihin portal-osoitteen kautta ja näytetään miten oikeat targetit löytää useamman targetin joukosta.
root@centos # iscsiadm -m discovery -t st -p 172.29.159.10:3260 172.29.159.10:3260,2 iqn.2017-03.bar.foo:linux01 172.29.159.10:3260,2 iqn.2017-03.bar.foo:win01 root@centos # iscsiadm -m discovery -t st -p 172.29.160.10:3260 172.29.160.10:3260,2 iqn.2017-03.bar.foo:linux02 172.29.160.10:3260,2 iqn.2017-03.bar.foo:win02 root@centos # iscsiadm -m node --login Logging in to [iface: default, target: iqn.2017-03.bar.foo:linux01, portal: 172.29.159.10,3260] (multiple) Logging in to [iface: default, target: iqn.2017-03.bar.foo:win01, portal: 172.29.159.10,3260] (multiple) Logging in to [iface: default, target: iqn.2017-03.bar.foo:linux02, portal: 172.29.160.10,3260] (multiple) Logging in to [iface: default, target: iqn.2017-03.bar.foo:win02, portal: 172.29.160.10,3260] (multiple) Login to [iface: default, target: iqn.2017-03.bar.foo:linux01, portal: 172.29.159.10,3260] successful. Login to [iface: default, target: iqn.2017-03.bar.foo:win01, portal: 172.29.159.10,3260] successful. Login to [iface: default, target: iqn.2017-03.bar.foo:linux02, portal: 172.29.160.10,3260] successful. Login to [iface: default, target: iqn.2017-03.bar.foo:win02, portal: 172.29.160.10,3260] successful.
Jos halutaan kirjautua tiettyyn targetiin, niin tämä onnistuu kommenolla:
root@centos # iscsiadm -m node -T iqn.2017-03.bar.foo:linux01 --login 172.29.159.10:3260,2 iqn.2017-03.bar.foo:linux01 Login to [iface: default, target: iqn.2017-03.bar.foo:linux01] successful. root@centos # iscsiadm -m node -T iqn.2017-03.bar.foo:linux02 --login 172.29.160.10:3260,2 iqn.2017-03.bar.foo:linux02 Login to [iface: default, target: iqn.2017-03.bar.foo:linux02] successful.
Kopioidaan multipath.conf -tiedosto /etc/ -hakemiston alle, ladataan multipath-moduli, käynnistetään multipath ja asetetaan multipath käynnistymään käynnistyksen yhteydessä.
root@centos # cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/ root@centos # modprobe dm-multipath root@centos # systemctl enable multipathd.service root@centos # systemctl start multipathd.service
fdisk -l tulostaa tiedot järjestelmän levyistä. Yleensä multipath-levyt näkyvät sdx -muodossa, joten poimitaan tulosteesta kaikki sd -sanan sisältävät rivit. Tulosteesta näemme, että järjestelmälle näkyy neljä 40Gt:n levyä.
root@centos # fdisk -l |grep sd Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors Disk /dev/sdb: 42.9 GB, 42949672960 bytes, 83886080 sectors Disk /dev/sdd: 42.9 GB, 42949672960 bytes, 83886080 sectors Disk /dev/sdc: 42.9 GB, 42949672960 bytes, 83886080 sectors
multipath -v3 -komento listaa järjestelmän levylaitteet. grep linux näyttää tulosteesta kaikki linux -sanan sisältävät rivit. Tulosteesta voimme nähdä, että sdd on iSCSI-levy. multipath -ll tulosteesta meidän tulee etsiä sdd-levyyn liittyvä multipath-polku. egrep -B 4 -optiolla kerromme, että haluamme nähdä edelliset neljä riviä sen rivin lisäksi joka sisältää sdd -sanan. Näin näemme, että sdd on yksi mpathc-polun levyistä
root@centos # multipath -v3|grep linux May 12 17:00:06 | sda: tgt_node_name = iqn.2017-03.bar.foo.linux01 May 12 17:00:06 | sdb: tgt_node_name = iqn.2017-03.bar.foo.linux02 root@centos # multipath -ll|egrep -B 4 sda mpathe (36589cfc0000006ef34a222cc3cce3301) dm-2 NEXENTA ,COMSTART size=40G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 32:0:0:0 sdb 8:16 active ready running `- 31:0:0:0 sda 8:0 active ready running
Luodaan physical volume mpathc-levylle, ja data_vg -volume group. data_vg -volumelle luodaan logical volume nimeltään data, ja määritetään kaikki levytila käyttöön.
root@centos # pvcreate /dev/mapper/mpathe Physical volume "/dev/mapper/mpathg" successfully created. root@centos # vgcreate data_vg /dev/mapper/mpathe Volume group "data_vg" successfully created root@centos # lvcreate -l 100%FREE data_vg -n data Logical volume "data" created.
Luodaan ext4-tiedostojärjestelmä logical volumelle. Tiedosto-järjestelmää luodessa tulisi ottaa huomioon levyn käyttötarkoitus. Block-koolla ja inode:n määrillä on suuri vaikutus levytilan hyötysuhteeseen ja suorituskykyyn kun levykoko kasvaa.
root@centos # mkfs.ext4 /dev/data_vg/data mke2fs 1.42.9 (28-Dec-2013) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2621440 inodes, 10484736 blocks 524236 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Luodaan /data -hakemisto, liitetään luotu levy siihen mount -komennolla ja lisätään levyn tiedot fstab -tiedostoon, niin että levy liitetään automaattisesti /data -hakemistoon käynnistyksen yhteydessä.
root@centos # mkdir /data root@centos # mount /dev/data_vg/data /data/ root@centos # echo "/dev/data_vg/data /data ext4 _netdev 0 0" >> /etc/fstab
Palvelin voidaan uudelleenkäynnistää, jonka jälkeen tarkistetaan df -h -komennolla, että levyt on liitetty järjestelmään.
root@centos # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/cl_centos-root 8.0G 1.2G 6.9G 15% / devtmpfs 482M 0 482M 0% /dev tmpfs 492M 0 492M 0% /dev/shm tmpfs 492M 6.6M 486M 2% /run tmpfs 492M 0 492M 0% /sys/fs/cgroup /dev/xvda1 1014M 183M 832M 19% /boot /dev/mapper/data_vg-data 40G 49M 38G 1% /data tmpfs 99M 0 99M 0% /run/user/0
Linuxissa voidaan testata polkujen toimivuutta disabloimalla toinen verkkokorteista. Tarkistetaan multipathin tila ja toinen poluista näyttää failed-tilaa.
root@centos # ifconfig eth1 down root@centos # multipath -ll|egrep -A 4 mpathe mpathe (36589cfc0000006ef34a222cc3cce3301) dm-2 NEXENTA ,COMSTART size=40G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 32:0:0:0 sdb 8:16 active ready running `- 31:0:0:0 sda 8:0 failed faulty running
Enabloidaan eth1 -verkkoliitäntä ja tarkistetaan multipathin tila. Polku on palautunut active-tilaan.
root@centos # ifconfig eth1 up root@centos # multipath -ll|egrep -A 4 mpathe mpathe (36589cfc0000006ef34a222cc3cce3301) dm-2 NEXENTA ,COMSTART size=40G features='1 queue_if_no_path' hwhandler='0' wp=rw `-+- policy='round-robin 0' prio=1 status=active |- 32:0:0:0 sdb 8:16 active ready running `- 31:0:0:0 sda 8:0 active ready running
Windows
Palvelimena toimii Windows Server 2016 Standard. Kuten Linux-palvelimessa, Windows-palvelimessa on kaksi verkkokorttia, joista toinen on dedikoitu iSCSI-liikenteelle. Nimetään tämä verkkokortti iSCSI-verkko nimiseksi ja asetetaan verkkokortille IP-osoite 172.29.160.99


Lisätään Multipath I/O -tuki. Server Managerista lisätään oikealta yläkulmasta Manage → Add Roles and Features

Vasemmalla näkyy asennukset vaiheet:
• Before You Begin: Painetaan Next
• Installation Type: Role-based or feature-based installation
• Server Selection: Valitaan oma palvelin
• Server Roles: Ei valita mitään
• Features: Valitaan Multipath I/O
• Confirmation: Restart the destination server automatically if required -valinta voidaan laittaa päälle.

Etsitään iSCSI-levyt käynnistämällä Tools -valikosta iSCSI Initiator. Ensimmäistä kertaa käynnistettäessä Windows herjaa, että palvelu ei ole käynnissä ja tulisiko palvelu käynnistää. Tähän valitaan yes.

Discovery -välilehdeltä painetaan Discover Portal ja lisätään NexentaStorin IP-osoite 172.29.159.10. Toistetaan ja lisätään myös toinen IP-osoite 172.29.160.10.

Targets -välilehdellä näkyy nyt kaikki targetit. Valitaan win01 ja painetaan Connect.

Connect To Target ikkunassa laitetaan ruksi Enable multi-path -kohtaan ja painetaan OK. Toistetaan win02 -targetille.

Server Managerin Tools -valikosta valitaan MPIO. Discover Multi-Paths välilehdeltä valitaan NEXENTA COMSTAR ja laitetaan ruksi Add support for iSCSI devices kohtaan ja painetaan Add. Tämän jälkeen Windows käynnistetään uudelleen.


Server Managerista → File and Storage Servives → Volumes → Disks Valitaan iSCSI-levy ja hiiren oikealla napilla Bring Online. Nyt levylle voidaan luoda volume hiiren oikealla napilla ja valitsemalla New Volume…

• Before You Begin: Next
• Server and Disk: Next ja valitaan Yes, kun Windows kysyy halutaanko levy tuoda online.
• Size: Volume size: 40GB
• Drive Letter or Folder: Drive letter: E
• File System Settings: File system: NTFS, Allocation unit size: Default, Volume label: iSCSI
• Confirmation: Create
Konsolista mpclaim -s -d -komennolla näemme MPIO-levyt. mpclaim -s -d 0 näyttä lisätietoja levystä, tässä tapauksessa näemme levyn sisältävän kaksi polkua.

Myös Windowsissa voidaan testata polkujen toimintaa disabloimalla toinen verkkokorteista. mpclaim -komennolla voidaan tarkastaa polkujen tila. Lopuksi enabloidaan verkkokortti ja polut palautuvat

