Setup iSCSI Storage Server on Rocky Linux
Posted on November 2, 2021 by Archie Blanchard
In this article, we'll cover setting up iSCSI targets on Rocky Linux.
- A ZFS storage array configured
Install necessary packages for iSCSI
dnf -y install targetcli
Create a ZFS dataset to store iSCSI images
- Create a ZFS dataset with your naming scheme of choice, in this case we'll use "images"
- Multiple iSCSI LUNs can be stored in this singular dataset or new datasets can be created for each iSCSI LUN.
Configuring iSCSI Target
Create Block Backstores for iSCSI LUNs
- Before using targetcli, we'll need to create a sparse image file. Creating large files in targetcli can be a very time consuming process.
dd if=/dev/zero of=lun0 bs=1 count=0 seek=1T
- The above will create a 1 TB sparse image file named "lun0"
- Now we'll launch targetcli and create a fileio backstore with the sparse image we've created
create lun0 /tank/images/lun0
- Verify the block device has been created in targetcli
Create an iSCSI Target
- Create the iSCSI target by selecting a name
- Naming scheme: iqn.YYYY-MM.REVERSE.DOMAIN.NAME:unique
- For this example, we'll be using "iqn.2021-11.fourfive.lab:test.environment"
Create iSCSI LUNs
Configure ACL (Initiator IQN)
- When creating the ACL, it needs to be the name of the initiator IQN name of the client that will be connecting to the LUN.
- In this example, the IQN name of the client will be "iqn.2019-05.com.archie:client"
- We'll need to configure the userid and password when connecting to the LUN from the client. This step is optional.
- Choose any name and password for userid and password
set auth userid=username
set auth password=password
Exit and Save the Configuration
Open Firewall for iSCSI and enable the iSCSI service
- In the Houston UI, navigate to Networking > Firewall > Edit Zones and Rules
- Add "iscsi-target" to the services
- In the Houston service tab, search for "target" and enable the Targetcli daemon
- On a Windows client, open "iSCSI Initiator"
- Enter the target IP address into the 'target' field
- Click 'quick connect'
- In Disk Management, there should now be a new disk that is unallocated and ready for formating
- When trying to delete an iSCSI filesystem there will be errors preventing the removal, in order to destroy it you will have to remove the iqn file and the lun0 file.
- in the targetcli cd into the iscsi directory
- Then use the delete command to remove the iqn file
/iscsi> delete iqn.2021-04.com.45lab:ubuntu.iscsi0
Deleted Target iqn.2021-04.com.45lab:ubuntu.iscsi0.
- The cd into /backstores/fileio/
- Use the delete command again to remove lun0
/backstores/fileio> delete lun0
Deleted storage object lun0.