Scope/Description
TopThis guide details the process of creating a new iSCSI lun and adding it to the configuration. Replace variables in the example comamnds defined with curly braces with the correct name, i.e. {pool_name } -> pool1.
Prerequisites
Top- ZFS Storage pool configured
- iSCSI configured
Steps
TopCreate a Block Image for the iSCSI Lun
Top- Create a sparse image file before using targetcli. This will create the image, specify the lun name and size. By default 45Drives stores lun images at /{pool_name}/images. The seek refers to the size of the lun that is required. It can be defined with the following examples 1T, 1G, 100G, etc.
Do not accidentally specify the name of an existing lun. This command will zero out all data on the block image. Ensure a new name is used.
cd /{pool_name}/images dd if=/dev/zero of={lun_name} bs=1 count=0 seek=(size of LUN)
- See example commands below.
[root@av15-rocky45d images]# cd /tank_mirror/images [root@av15-rocky45d images]# dd if=/dev/zero of=testlun bs=1 count=0 seek=1T 0+0 records in 0+0 records out 0 bytes copied, 9.8113e-05 s, 0.0 kB/s
Entering Targetcli Config
Top- To make changes to the targetcli configuration, run the following command.
targetcli
Creating Fileio Storage Object
Top- Create a fileio storage object, using the created lun in the previous steps.
/> cd backstores/fileio /backstores/fileio> create {lun_name} /{pool_name}/images/{lun_name}
- Example below:
/backstores/fileio> create testlun /tank_mirror/images/testlun Created fileio testlun with size 1099511627776
- Verify your block devices have been created in targetcli
/backstores/fileio> ls o- fileio ..................................................................................................... [Storage Objects: 1] o- testlun ...................................................................... [/tank_mirror/images/testlun (1.0TiB) write-back deactivated] o- alua ....................................................................................................... [ALUA Groups: 1] o- default_tg_pt_gp ........................................................................... [ALUA state: Active/optimized]
Adding new Lun to Existing iSCSI Target
Top- Change the targetcli working directory to the iSCSI target’s lun directory, then add the lun to the existing target.
cd /iscsi/{target_name}/tpg1/luns/ create /backstores/fileio/{lun_name}
- Example below:
/> cd /iscsi/iqn.2023-02.labtest:test.environment/tpg1/luns/ /iscsi/iqn.20...ent/tpg1/luns> create /backstores/fileio/testlun Created LUN 2. Created LUN 2->2 mapping in node ACL iqn.1991-05.com.microsoft:win-9171j57n62e Created LUN 2->2 mapping in node ACL iqn.1991-05.com.microsoft:win-clvclj26v2c
- The output will show the new lun being mapped to each of the clients iqns that correspond to the iSCSI target.
Exit and Save Configuration
Top- Exit the configuration, this is required for changes to take affect. A backup file will be written to /etc/target/saveconfig.json on RHEL based distros, and /etc/rtslib-fb-target/saveconfig.json
/iscsi/iqn.20...ent/tpg1/luns> exit Global pref auto_save_on_exit=true Last 10 configs saved in /etc/target/backup/. Configuration saved to /etc/target/saveconfig.json
Verification
Top- Open “iSCSI Initiator”
- Enter Target IP into “Target” field
- Hit quick-connect
Views: 1807