loading...
Açıklab

iSCSI nedir? Nasıl Yapılandırılır?

aliorhun profile image Ali Orhun Akkirman ・3 min read

iSCSI nedir?

iSCSI, SCSI (Small Computer System Interface) yönetimin internet ve daha doğrusu IP üzerinden kullanılmasına yarayan bir protokoldür. Temel ve basit bir protokoldür fakat güvenlik ve performans olarak alternatiflerine göre geride kalmaktadır.

iSCSI kavramları

iSCSI üzerinde temel 2 kavram bulunmaktadır.

  • Target (Hedef)
  • Initiator (Başlatıcı)

a. Target (Hedef) servisi

Kullanılacak depo birimini yöneten servistir. Debian tabanlı sistemlerde Logical Volume Management (LVM) olarak biçimlendirilecek depolama birimini ve tgt isimli target servisini kullanacak cihazdır. initiator tarafından kullanılabilecektir.

b. Initiator (Başlatıcı) servisi

Hedef depo birimi servisine bağlanacak ve bu yapıyı kullanacak cihazlardır. Debian tabanlı sistemlerde Logical Volume Management (LVM) olarak biçimlendirilecek depolama birimini ve tgt isimli target servisini kullanacak cihazdır. initiator tarafından kullanılabilecektir.

1. iSCSI Target Yapılandırması

Pardus ve Debian tabanlı sistemlerde aşağıdaki gibi bir yapılandırma yapabilirsiniz. iSCSI Target yapılandırması için elinizde cihazınıza takılmış olan disk veya diskler bulunmaktadır. Bu diskleri aşağıdaki komut ile görebilirsiniz:

lsblk

lsblk komutu çıktısında sda, sdb, sdc... gibi disk isimlerini göreceksiniz. Bu sistemlerden muhtemelen sda sistemin kurulduğu disk olduğu için sdb'den başlayan diskleri iSCSI üzerinden yönetmeniz gerekecektir. Tabi bu kısım için kurumsal ortamlarda uzmanlık önemli olmaktadır.

Bu adımda aşağıdaki paketleri yüklemeniz gerekmektedir:

apt install tgt lvm2

Belirlediğiniz diskleri LVM olarak kullanmadan önce pvcreate komutu ile oluşturmanız gerekmektedir. Aşağıdaki örnekte ekstra 2 disk takılmış sistem ve dolayısıyla sdb ve sdc disklerini oluşturmayı gördünüz

pvcreate /dev/sd{b,c}

Bu komut sonrasında başarı ile oluşturuldu yazısı görüldüğünde "volume grup" olarak bunları birleştirmek gerekiyor.

vgcreate aciklab_grup /dev/sd{b,c}

Ve tabi bu grubu görmek isterseniz kontrol etmek için vgs komutunu kullanabilirsiniz. Ve bu adımdan sonra sanal grup oluşturmak için aşağıdaki komutu kullanabilirsiniz:

lvcreate -l 100%FREE aciklab_lun1 aciklab_grup

Bu adımdan sonra lvs komutu ile ilgili mantıksal birimin oluşup oluşmadığını kontrol edebilirsiniz.

Bu adımdan sonra başlatıcının bağlanabilmesi için target'ı yapılandırmak için /etc/tgt/conf.d/aciklab_grup.conf isimli bir dosya oluşturup içeriğini başlatıcı ve hedef IP adreslerini doğru yazacak şekilde düzenlemeniz gerekmektedir. Tabi ki CHAP parolası gibi bilgileri de doldurmanız gerekmektedir.

<target iqn.2020-06.aciklab.com:lun1>
     # Provided device as an iSCSI target
     backing-store /dev/mapper/aciklab_grup-aciklab_lun1
     initiator-address BASLATICIIPADRESI
    incominguser aciklab_grup-user password
     outgoinguser debian-iscsi-target secretpass
</target>

Yapılandırma ayarını yaptıktan sonra servisi yeniden başlatmanız gerekmekte. Servis başarı ile yeniden başlamış ise ilk süreç tamamlanmış olacaktır.

systemctl restart tgt

Yine de kontrol için aşağıdaki komut ile kontrolü yapabilirsiniz:

tgtadm --mode target --op show

2. iSCSI Initiator Yapılandırması

Pardus ve Debian tabanlı sistemlerde aşağıdaki gibi bir yapılandırma yapabilirsiniz. Bu sistem için open-iscsi kullanabilirsiniz. Ve tabi ki target sisteminin yapılandırılmış olması gerekmektedir.

Aşağıdaki komut ile open-iscsi kurulumu yapabilirsiniz.

apt install open-iscsi

Daha sonra target olarak kurduğunuz sunucunun IP adresini belirterek aşağıdaki komut ile target sistem üzerinde LUN bilgilerini alabilirsiniz.

iscsiadm -m discovery -t st -p HEDEFIPADRESI

Bu komutun çıktısı olarak aşağıdaki gibi bir çıktı ortaya çıkacaktır ve bazı dosyalar oluşacaktır.

iqn.2020-06.aciklab.com\:lun1

Aşağıdaki gibi bir dosya oluşacaktır:

/etc/iscsi/nodes/iqn.2020-06.aciklab.com\:lun1/HEDEFIPADRESI\,3260\,1/default

Bu dosya içerisinde aşağıdaki ayarları hedef sunucuda yazdığınız şekilde düzenlemeniz gerekmekte.

node.session.auth.authmethod = CHAP
node.session.auth.username = aciklab_grup-user
node.session.auth.password = password
node.session.auth.username_in = debian-iscsi-target
node.session.auth.password_in = secretpass

node.startup = automatic

Bu adımdan sonra open-iscsi servisini yeniden başlatmanız yeterlidir:

systemctl restart open-iscsi

Eğer her şey yolunda ise lsblk komutu ile yeni bir disk göreceksiniz.

Posted on by:

Discussion

pic
Editor guide