GNU/Linux >> Belajar Linux >  >> Cent OS

Panduan Lengkap Konfigurasi iSCSI di CentOS / RHEL 7

Internet Small Computer System Interface (iSCSI) adalah standar berbasis IP untuk menghubungkan perangkat penyimpanan. iSCSI menggunakan jaringan IP untuk merangkum perintah SCSI, memungkinkan data untuk ditransfer jarak jauh. iSCSI menyediakan penyimpanan bersama di antara sejumlah sistem klien. Perangkat penyimpanan terpasang ke server (target). Sistem klien (pemrakarsa) mengakses perangkat penyimpanan jarak jauh melalui jaringan IP. Untuk sistem klien, perangkat penyimpanan tampaknya terpasang secara lokal. iSCSI menggunakan infrastruktur IP yang ada dan tidak memerlukan kabel tambahan, seperti halnya dengan jaringan area penyimpanan Fibre Channel (FC).

Mengonfigurasi Server iSCSI

RHEL/CentOS 7 menggunakan subsistem target kernel Linux-IO (LIO) untuk iSCSI. Selain iSCSI, LIO mendukung sejumlah struktur penyimpanan termasuk Fibre Channel over Ethernet (FCoE), akses iSCSI melalui jaringan Mellanox InfiniBand (iSER), dan akses SCSI melalui jaringan Mellanox InfiniBand (SRP). Di RHEL 7, semua kain penyimpanan dikelola dengan targetcli utilitas.

Untuk mengkonfigurasi sistem RHEL sebagai server iSCSI, mulailah dengan menginstal paket perangkat lunak targetcli:

# yum install targetcli

Menginstal paket perangkat lunak targetcli juga menginstal python-rtslib paket, yang menyediakan /usr/lib/systemd/system/target.service mengajukan. Sebelum menggunakan utilitas targetcli untuk membuat, menghapus, dan melihat target penyimpanan, gunakan perintah systemctl untuk mengaktifkan dan memulai layanan target di server iSCSI.

# systemctl enable target
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
# systemctl start target

Utilitas targetcli

Utilitas targetcli adalah shell administrasi untuk membuat, mengedit, dan melihat konfigurasi subsistem target kernel. Jalankan targetcli untuk masuk ke shell konfigurasi.

# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> help

Jalankan bantuan perintah dari prompt targetcli untuk melihat perintah yang tersedia. Berikut adalah beberapa perintah targetcli yang tersedia:

  • l :Melihat hierarki objek.
  • cd :Melintasi hierarki objek.
  • buat :Membuat objek penyimpanan, target, LUN, portal jaringan, daftar kontrol akses.
  • keluar :Keluar dari shell targetcli dan secara otomatis menyimpan konfigurasi.

Anda juga dapat memasukkan “targetcli [command]”” untuk menjalankan perintah tanpa memasukkan shell.

Backstore

Backstore adalah berbagai jenis sumber daya penyimpanan lokal yang digunakan target kernel untuk "mendukung" perangkat SCSI yang diekspor ke sistem klien. Pemetaan ke sumber daya penyimpanan lokal yang dibuat oleh setiap backstore disebut objek penyimpanan. Gunakan targetcli ls perintah untuk membuat daftar berbagai jenis backstore.

# targetcli ls /backstores

Jenis-jenis backstore dijelaskan sebagai berikut:

  • blokir :Linux memblokir perangkat seperti /dev/sda
  • fileio :File apa pun pada sistem file yang terpasang seperti /tmp/disk1.img
  • pscsi :Objek penyimpanan apa pun yang mendukung perintah SCSI pass-through
  • ramdisk :Memori menyalin disk RAM

Untuk membuat blok backstore dari shell targetcli:

/> cd /backstores/block
/backstores/block> create name=LUN_1 dev=/dev/xvdb

Untuk membuat fileio backstore dari shell targetcli:

/> cd /backstores/fileio
/backstores/fileio> create name=LUN_3 /root/disk1.img 5G

Membuat Target iSCSI

Untuk membuat target iSCSI dari shell targetcli, gunakan perintah cd untuk mengubah ke direktori /iscsi.

/> cd /iscsi
/iscsi>

Gunakan perintah buat tanpa argumen apa pun untuk membuat target iSCSI dengan menggunakan nama target default. Secara default, target diidentifikasi dengan “iqn ” pengenal. Ini adalah iSCSI Qualified Name (IQN) , yang secara unik mengidentifikasi target. Alamat format IQN paling sering digunakan untuk mengidentifikasi target. Alamat ini terdiri dari bidang-bidang berikut:

  • Iqn harfiah
  • Tanggal (dalam format yyyy-mm) saat otoritas penamaan mengambil alih kepemilikan domain
  • Nama domain terbalik dari otoritas
  • Opsional “:” yang mengawali nama target penyimpanan yang ditentukan oleh otoritas penamaan
/> cd /iscsi 
/iscsi> create
Created target iqn.2003-01.org.linux-iscsi.user.x8664:sn.b0df6e328beb.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> 

Untuk membuat daftar target yang dibuat, gunakan perintah di bawah ini.

# targetcli ls /iscsi

Untuk mengizinkan sistem jarak jauh mengakses target iSCSI pada port 3260, nonaktifkan layanan firewalld di server iSCSI atau konfigurasikan firewalld untuk mempercayai port 3260/tcp. Contoh berikut menggunakan firewall-cmd untuk membuka port 3260/tcp untuk layanan firewalld.

# firewall-cmd --permanent --add-port=3260/tcp

Jika Anda menyertakan –permanen opsi saat menambahkan port, gunakan perintah firewall-cmd untuk memuat ulang konfigurasi.

# firewall-cmd –reload

Membuat iSCSI LUNs

Target kernel mengekspor Unit Logika SCSI ke sistem jarak jauh. Gunakan shell targetcli untuk menautkan objek penyimpanan yang ditentukan sebelumnya dengan target, dan untuk menentukan Nomor Unit Logis (LUN) yang digunakan perangkat. Contoh berikut menggunakan perintah create untuk membuat dua LUN baru untuk target. Dari shell targetcli, mulailah dengan menggunakan perintah cd untuk mengubah ke direktori luns dalam hierarki [target/TGP].

/iscsi> cd /iscsi/iqn.2003-01.org.linux-iscsi.user.x8664:sn.b0df6e328beb/
/iscsi/iqn.20....b0df6e328beb> cd tpg1/luns

Perintah berikut membuat LUN dari objek penyimpanan blok yang ditentukan sebelumnya.

/iscsi/iqn.20...beb/tpg1/luns> create /backstores/block/LUN_1 lun1
Created LUN 1.

Membuat ACL

Access Control Lists (ACL) membatasi akses ke LUN dari sistem jarak jauh. Anda dapat membuat ACL untuk setiap inisiator untuk menerapkan otentikasi saat inisiator terhubung ke target. Ini memungkinkan Anda untuk memberikan inisiator tertentu akses eksklusif ke target tertentu. Contoh berikut menggunakan perintah create untuk membuat ACL untuk inisiator. Dari shell targetcli, mulailah dengan menggunakan perintah cd untuk mengubah ke direktori acls dalam hierarki [target/TGP].

/> cd /iscsi/iqn.2003-01.org.linux-iscsi.user.x8664:sn.b0df6e328beb/tpg1/acls 
/iscsi/iqn.20...beb/tpg1/acls> create iqn.1994-05.com.redhat:aabb51a64012
Created Node ACL for iqn.1994-05.com.redhat:aabb51a64012
Created mapped LUN 1.

Mengonfigurasi Inisiator iSCSI

Untuk mengonfigurasi sistem Linux sebagai inisiator iSCSI, instal iscsi-initiator-utils paket perangkat lunak. Paket ini adalah Inisiator Open-iSCSI Linux.

# yum install iscsi-initiator-utils

Paket menginstal beberapa file termasuk yang berikut:

  • /etc/iscsi/iscsid.conf :File konfigurasi dibaca oleh iscsid dan iscsiadm. File ini banyak dikomentari dengan deskripsi untuk setiap arahan konfigurasi.
  • /sbin/iscsid :Daemon Open-iSCSI yang mengimplementasikan jalur kontrol dan fasilitas manajemen
  • /sbin/iscsiadm :Utilitas administrasi Open-iSCSI yang digunakan untuk menemukan dan masuk ke target iSCSI

Edit /etc/iscsi/initiatorname.iscsi file dan ganti parameter InitiatorName dengan nama inisiator yang sebelumnya Anda konfigurasikan sebagai ACL pada target. Ada nama inisiator iscsi default yang ditentukan dalam file ini. Jika Anda telah menggunakan nama yang sama saat mengkonfigurasi ACL maka Anda tidak perlu mengubah apa pun di sini.

# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.1994-05.com.redhat:aabb51a64012

Gunakan perintah systemctl untuk mengaktifkan dan memulai layanan iscsid.

# systemctl enable iscsid
# systemctl start iscsid
Memahami Utilitas iscsiadm di CentOS / RHEL

Penemuan iSCSI

Discovery adalah proses yang membuat target diketahui oleh inisiator. Contoh berikut menggunakan metode penemuan SendTargets untuk menemukan target pada alamat IP 192.168.12.13. Perintah ini juga memulai daemon iscsid jika diperlukan.

# iscsiadm -m discovery --type sendtargets –p 192.168.12.13

Setelah ditemukan, tabel node dan tabel send_targets dalam database diperbarui:

# ls /var/lib/iscsi/nodes
iqn.2011-12.com.example.mypc:tgt1 
iqn.2011-12.com.example.mypc:tgt2 
iqn.2012-11.com.example.mypc:tgt3
# ls /var/lib/iscsi/send_targets
192.168.12.13,3260

Sesi Inisiator iSCSI

Sesi adalah koneksi TCP antara port node inisiator dan port node target. LUN tidak dapat diakses sampai sesi dibuat. Gunakan opsi -l (atau –login) untuk membuat sesi:

# iscsiadm -m node -l

Untuk masuk ke target tertentu:

# iscsiadm -m node --targetname iqn.2011-12.com.example.mypc:tgt1 –p 192.0.2.102:3260 –l

Gunakan opsi -u (atau –logout) untuk menutup sesi. Untuk melihat informasi sesi:

# iscsiadm -m session [-P [printlevel]]

Level pencetakan adalah 1, 2, dan 3. Masing-masing menampilkan lebih detail.


Cent OS
  1. CentOS / RHEL 7 :Mengkonfigurasi NTP menggunakan chrony

  2. CentOS / RHEL 7 :Panduan pemula untuk systemd

  3. Cara mengkonfigurasi iSCSI Initiator (klien) di CentOS / RHEL 6

  1. Panduan Utama untuk Meningkatkan Kernel di CentOS/RHEL/Fedora

  2. CentOS / RHEL 7 :Mengkonfigurasi server NFS dan klien NFS

  3. Mengonfigurasi Penyimpanan Persisten di CentOS/RHEL 5,6 untuk Jalur Tunggal menggunakan aturan udev

  1. CentOS / RHEL 7 :Panduan pemula untuk firewalld

  2. Memahami Utilitas iscsiadm di CentOS / RHEL

  3. Cara memecahkan masalah iSCSI di CentOS / RHEL 6,7