CentOS 8.x iSCSI target server setup
From Notes_Wiki
<yambe:breadcrumb self="iSCSI target server setup">CentOS 8.x iSCSI|iSCSI</yambe:breadcrumb>
CentOS 8.x iSCSI target server setup
To setup CentOS 8.x machine for iSCSI target use:
- Create appropriate file-system and mount it at desired location (eg /backstores) to be used for storing iSCSI disk images (parted, mkfs.ext4, /etc/fstab, mount -a, df -h, etc.)
- Install targetcli package using:
- dnf -y install epel-release
- dnf -y install targetcli
- Clear existing configuration (if any) using:
- targetcli clearconfig confirm=true
- Go to /backstores in OS and create desired backing store using:
- cd /backstores
- qemu-img create -f raw primary.iscsi 800G
- where primary.iscsi is name of iSCSI backing store file and 800G is its size
- Run targetcli and configure it using:
- #Create file to be used as iscsi backstore
- cd /backstores/fileio
- create primary /backstores/primary.iscsi
- cd ..
- ls
- #Note that we can also use block devices using /backstores/block
- cd /iscsi
- #This will create IQN number automatically
- #Ideally we should create different iqn numbers for every backstore
- #So that there is flexibility on client side. We can run
- #create multiple times to create different iqn numbers.
- create
- cd iqn.<press-tab-to-autocomplete>
- #Create lun
- cd tpg1/luns
- create /backstores/fileio/primary
- #Allow client IQN numbers without authentication
- cd ../acls
- create <client1-iscsi-initiator-name>
- create <client2-iscsi-initiator-name>
- #Save and exit
- cd /
- saveconfig
- exit
-
- Client initiator name is located in file '/etc/iscsi/initiatorname.iscsi'. Take only value after 'InitiatorName=' starting with 'iqn.'
- Configure service to start on system boot and also start it for current run:
- systemctl enable target
- systemctl start target
- Disable firewall or given exception for port 3260
- systemctl disable firewalld
- systemctl stop firewalld
<yambe:breadcrumb self="iSCSI target server setup">CentOS 8.x iSCSI|iSCSI</yambe:breadcrumb>