iSCSI adalah singkatan dari Internet Small Computer Systems Interface, penyimpanan berbasis IP, bekerja di atas protokol internet dengan membawa perintah SCSI melalui jaringan IP. iSCSI mengangkut data tingkat blok antara inisiator iSCSI pada mesin klien dan target iSCSI pada perangkat penyimpanan (server).
Penyimpanan iSCSI digunakan sebagai penyimpanan bersama di cluster Redhat , VMware vSphere, Redhat Enterprise Virtualization Manager, Ovirt, dll.
Lingkungan
Server: server.itzgeek.local
Alamat IP: 192.168.12.20
OS: Rilis CentOS Linux 7.4.1708 (Inti)
Klien: node1.itzgeek.local
Alamat IP: 192.168.12.11
OS: Rilis CentOS Linux 7.4.1708 (Inti)
Konfigurasi Penyimpanan
Di sini, kami akan membuat disk LVM 5GB di server target untuk digunakan sebagai penyimpanan bersama untuk klien. Mari daftar disk yang tersedia yang terpasang ke server target menggunakan perintah di bawah ini. Jika Anda ingin menggunakan seluruh disk untuk LVM, lewati langkah partisi disk .
[root@server ~]# fdisk -l | grep -i sd
Keluaran:
Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors /dev/sda1 * 2048 1026047 512000 83 Linux /dev/sda2 1026048 209715199 104344576 8e Linux LVM Disk /dev/sdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Dari output di atas, Anda dapat melihat bahwa sistem saya memiliki disk 10GB (/dev/sdb ). Kami akan membuat partisi 5GB pada disk di atas dan akan menggunakannya untuk LVM.
[root@server ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x173dfa4d. Command (m for help): n --> New partition Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p --> Pimary partition Partition number (1-4, default 1): 1 - -> Partition number First sector (2048-20971519, default 2048): --> Just enter Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +5G --> Enter the size Partition 1 of type Linux and of size 5 GiB is set Command (m for help): t --> Change label Selected partition 1 Hex code (type L to list all codes): 8e --> Change it as LVM label Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): w --> Save The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Buat LVM dengan partisi /dev/sdb1 (ganti /dev/sdb1 dengan nama disk Anda )
[root@server ~]# pvcreate /dev/sdb1 [root@server ~]# vgcreate vg_iscsi /dev/sdb1 [root@server ~]# lvcreate -l 100%FREE -n lv_iscsi vg_iscsi
Konfigurasikan target iSCSI
Sekarang Anda memiliki pilihan untuk membuat target baik dengan atau tanpa otentikasi. Di artikel ini, Anda dapat menemukan langkah-langkah untuk kedua skenario. Terserah Anda untuk memutuskan mana yang cocok untuk lingkungan Anda.
Di sini, akan mengonfigurasi target iSCSI tanpa autentikasi CHAP.
Instal paket targetcli di server.
[root@server ~]# yum install targetcli -y
Setelah Anda menginstal paket, masukkan perintah di bawah ini untuk mendapatkan iSCSI CLI untuk prompt interaktif.
[root@server ~]# targetcli Warning: Could not load preferences file /root/.targetcli/prefs.bin. targetcli shell version 2.1.fb41 Copyright 2011-2013 by Datera, Inc and others. For help on commands, type 'help'. >
Sekarang gunakan volume logis yang ada (/dev/vg_iscsi/lv_iscsi ) sebagai penyimpanan cadangan tipe blok untuk objek penyimpanan scsi_disk1_server “.
/> cd backstores/block /backstores/block> create scsi_disk1_server /dev/vg_iscsi/lv_iscsi Created block storage object scsi_disk1_server using /dev/vg_iscsi/lv_iscsi.
Buat target.
/backstores/block> cd /iscsi /iscsi> create iqn.2016-02.local.itzgeek.server:disk1 Created target iqn.2016-02.local.itzgeek.server:disk1. Created TPG 1. Global pref auto_add_default_portal=true Created default portal listening on all IPs (0.0.0.0), port 3260. /iscsi>
Buat ACL untuk mesin klien (Ini adalah IQN yang digunakan klien untuk terhubung).
/iscsi> cd /iscsi/iqn.2016-02.local.itzgeek.server:disk1/tpg1/acls /iscsi/iqn.20...sk1/tpg1/acls> create iqn.2016-02.local.itzgeek.server:node1node2 Created Node ACL for iqn.2016-02.local.itzgeek.server:node1node2
Buat LUN di bawah target. LUN harus menggunakan objek penyimpanan cadangan yang disebutkan sebelumnya bernama “scsi_disk1_server “.
/iscsi/iqn.20...er:disk1/tpg1> cd /iscsi/iqn.2016-02.local.itzgeek.server:disk1/tpg1/luns /iscsi/iqn.20...sk1/tpg1/luns> create /backstores/block/scsi_disk1_server Created LUN 0. Created LUN 0->0 mapping in node ACL iqn.2016-02.local.itzgeek.server:node1node2
Verifikasi konfigurasi server target.
/iscsi/iqn.20.../tpg1/portals> cd / /> ls o- / ......................................................................................................................... [...] o- backstores .............................................................................................................. [...] | o- block .................................................................................................. [Storage Objects: 1] | | o- scsi_disk1_server .................................................. [/dev/vg_iscsi/lv_iscsi (5.0GiB) write-thru activated] | o- fileio ................................................................................................. [Storage Objects: 0] | o- pscsi .................................................................................................. [Storage Objects: 0] | o- ramdisk ................................................................................................ [Storage Objects: 0] o- iscsi ............................................................................................................ [Targets: 1] | o- iqn.2016-02.local.itzgeek.server:disk1 ............................................................................ [TPGs: 1] | o- tpg1 .................................................................................................. [gen-acls, no-auth] | o- acls .......................................................................................................... [ACLs: 1] | | o- iqn.2016-02.local.itzgeek.server:node1node2 .......................................................... [Mapped LUNs: 1] | | o- mapped_lun0 ..................................................................... [lun0 block/scsi_disk1_server (rw)] | o- luns .......................................................................................................... [LUNs: 1] | | o- lun0 ............................................................... [block/scsi_disk1_server (/dev/vg_iscsi/lv_iscsi)] | o- portals .................................................................................................... [Portals: 1] | o- 0.0.0.0:3260 ..................................................................................................... [OK] o- loopback ......................................................................................................... [Targets: 0]Save and exit from target CLI.
/> saveconfig Last 10 configs saved in /etc/target/backup. Configuration saved to /etc/target/saveconfig.json /> exit Global pref auto_save_on_exit=true Last 10 configs saved in /etc/target/backup. Configuration saved to /etc/target/saveconfig.json
Aktifkan dan mulai ulang layanan target.
[root@server ~]# systemctl enable target.service [root@server ~]# systemctl restart target.service
Konfigurasikan firewall untuk mengizinkan lalu lintas iSCSI.
[root@server ~]# firewall-cmd --permanent --add-port=3260/tcp [root@server ~]# firewall-cmd --reload
Konfigurasi Inisiator
Sekarang, saatnya untuk mengkonfigurasi mesin klien untuk menggunakan target yang dibuat sebagai penyimpanan. Instal paket di bawah ini pada mesin klien (node1 ).
[root@node1 ~]# yum install iscsi-initiator-utils -y
Edit file initiatorname.iscsi.
[root@node1 ~]# vi /etc/iscsi/initiatorname.iscsi
Tambahkan nama inisiator iSCSI.
InitiatorName=iqn.2016-02.local.itzgeek.server:node1node2
Temukan target menggunakan perintah di bawah ini.
[root@node1 ~]# iscsiadm -m discovery -t st -p 192.168.12.20
Keluaran:
192.168.12.20:3260,1 iqn.2016-02.local.itzgeek.server:disk1
Mulai ulang dan aktifkan layanan inisiator.
[root@node1 ~]# systemctl restart iscsid.service [root@node1 ~]# systemctl enable iscsid.service
Masuk ke target yang ditemukan.
[root@node1 ~]# iscsiadm -m node -T iqn.2016-02.local.itzgeek.server:disk1 -p 192.168.12.20 -l
Keluaran:
Logging in to [iface: default, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] (multiple) Login to [iface: default, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] successful.
Buat Sistem File pada Disk ISCSI
Setelah login (menghubungkan) ke target yang ditemukan, lihat file pesan. Anda akan menemukan output serupa seperti di bawah ini, dari sana Anda dapat menemukan nama disk.
[root@node1 ~]# cat /var/log/messages Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] 10477568 512-byte logical blocks: (5.36 GB/4.99 GiB) Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] Write Protect is off Feb 23 14:54:47 node2 kernel: sd 34:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA Feb 23 14:54:48 node2 kernel: sdb: unknown partition table Feb 23 14:54:48 node2 kernel: sd 34:0:0:0: [sdb] Attached SCSI disk
Keluaran:
Feb 23 14:54:48 node2 iscsid: Could not set session2 priority. READ/WRITE throughout and latency could be affected. Feb 23 14:54:48 node2 iscsid: Connection2:0 to [target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] through [iface: default] is operational now
Cantumkan disk yang terpasang.
[root@node1 ~]# cat /proc/partitions
Keluaran:
major minor #blocks name 8 0 104857600 sda 8 1 512000 sda1 8 2 104344576 sda2 11 0 1048575 sr0 253 0 2113536 dm-0 253 1 52428800 dm-1 253 2 49799168 dm-2 8 16 5238784 sdb
Format disk baru (demi artikel, saya telah memformat seluruh disk alih-alih membuat partisi)
root@node1 ~]# mkfs.xfs /dev/sdb
Keluaran:
meta-data=/dev/sdb isize=256 agcount=8, agsize=163712 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 data = bsize=4096 blocks=1309696, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
Pasang disk.
[root@node1 ~]# mount /dev/sdb /mnt
Verifikasi disk terpasang menggunakan perintah di bawah ini.
[root@node1 ~]# df -hT
Keluaran:
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/centos-root xfs 50G 955M 50G 2% / devtmpfs devtmpfs 908M 0 908M 0% /dev tmpfs tmpfs 914M 54M 861M 6% /dev/shm tmpfs tmpfs 914M 8.5M 905M 1% /run tmpfs tmpfs 914M 0 914M 0% /sys/fs/cgroup /dev/mapper/centos-home xfs 48G 33M 48G 1% /home /dev/sda1 xfs 497M 97M 401M 20% /boot /dev/sdb xfs 5.0G 33M 5.0G 1% /mnt
Otomatiskan penyimpanan iSCSI
Untuk mengotomatiskan penyimpanan iSCSI selama setiap reboot, Anda perlu membuat entri di file /etc/fstab.
Sebelum memperbarui file /etc/fstab, dapatkan UUID disk iSCSI menggunakan perintah berikut. Ganti /dev/sdb dengan nama disk iSCSI Anda.
blkid /dev/sdb
Keluaran:
/dev/sdb: LABEL="/" UUID="9df472f4-1b0f-41c0-a6eb-89574d2caee3" TYPE="xfs"
Sekarang, edit file /etc/fstab.
vi /etc/fstab
Buat entri seperti di bawah ini.
# # /etc/fstab # Created by anaconda on Tue Jan 30 02:14:21 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=9df472f4-1b0f-41c0-a6eb-89574d2caee3 / xfs defaults 0 0 UUID=c7469f92-75ec-48ac-b42d-d5b89ab75b39 /mnt xfs _netdev 0 0
Hapus penyimpanan iSCSI
Jika Anda ingin melepas disk yang ditambahkan, ikuti prosedur (lepaskan dan keluar).
[root@node1 ~]# umount /mnt/ [root@node1 ~]# iscsiadm -m node -T iqn.2016-02.local.itzgeek.server:disk1 -p 192.168.12.20 -u
Keluaran:
Logging out of session [sid: 1, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] Logout of [sid: 1, target: iqn.2016-02.local.itzgeek.server:disk1, portal: 192.168.12.20,3260] successful.
Itu saja.