The linux method for configuring the ISCSI server
- 2020-05-15 03:18:59
- OfStack
1. Install iscsi target under linux and start iscsi target
1. Install and start the iscsi service
[root@wjb10000 ~]# yum -y install targetcli.noarch
2. Create a directory and set it to iscsi device
[root@wjb10000 ~]# mkdir /iscsi_disks
3. Set the target
[root@wjb10000 ~]# 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'.
/> cd backstores/fileio
/backstores/fileio> create disk01 /iscsi_disks/disk01.img 20G
Created fileio disk01 with size 21474836480
/backstores/fileio> cd /iscsi
/iscsi> create iqn.2016-06.wjb.com:storage.target0
Created target iqn.2016-06.wjb.com:storage.target0.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> cd iqn.2016-06.wjb.com:storage.target0/tpg1/portals/
/iscsi/iqn.20.../tpg1/portals> create 192.168.1.50
Using default IP port 3260
Could not create NetworkPortal in configFS
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.1.50
Using default IP port 3260
Created network portal 192.168.1.50:3260.
/iscsi/iqn.20.../tpg1/portals> cd ../luns
/iscsi/iqn.20...et0/tpg1/luns> create /backstores/fileio/disk01
Created LUN 0.
/iscsi/iqn.20...et0/tpg1/luns> cd ../acls
/iscsi/iqn.20...et0/tpg1/acls> create iqn.2016-06.wjb.com:www.server.com
Created Node ACL for iqn.2016-06.wjb.com:www.server.com
Created mapped LUN 0.
/iscsi/iqn.20...et0/tpg1/acls> cd iqn.2016-06.wjb.com:www.server.com/
/iscsi/iqn.20...ww.server.com> set auth userid=username
Parameter userid is now 'username'.
/iscsi/iqn.20...ww.server.com> set auth password=password
Parameter password is now 'password'.
/iscsi/iqn.20...ww.server.com> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
Set up a firewall
[root@wjb10000 ~]# vim /etc/firewalld/services/iscsi.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>ISCSI</short>
<description>ISCSI protocal</description>
<port protocal="tcp" port="3260">
</service>
[root@wjb10000 ~]# firewall-cmd --permanent --add-service=iscsi
[root@wjb10000 ~]# firewall-cmd --reload
5. Start the service
[root@wjb10000 ~]# systemctl enable target.service
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
[root@wjb10000 ~]# systemctl start target.service
6. View ports
[root@wjb10000 ~]# netstat -lnp | grep 3260
tcp 0 0 192.168.1.50:3260 0.0.0.0:* LISTEN -
2. Install and start iscsi initiator under linux
1. Install the iscsi-initiator-utils service
[root@wjb10000 ~]# yum install iscsi-initiator-utils
2. Modify the configuration file
[root@wjb10000 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2016-06.wjb.com:www.server.com
[root@wjb10000 ~]# vim /etc/iscsi/iscsid.conf
#node.session.auth.authmethod = CHAP
#node.session.auth.username = username
#node.session.auth.password = password // Remove the comment
3. Start the service
[root@wjb10000 ~]# systemctl start iscsid
[root@wjb10000 ~]# systemctl enable iscsid
4. Find target
[root@wjb10000 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.50
5. Check status
[root@wjb10000 ~]# iscsiadm -m node -o show
6. Log on to target to establish a connection
[root@wjb10000 ~]# iscsiadm -m node --login
Logging in to [iface: default, target: iqn.2016-06.wjb.com:storage.target0, portal: 192.168.1.50,3260] (multiple)
Login to [iface: default, target: iqn.2016-06.wjb.com:storage.target0, portal: 192.168.1.50,3260] successful.
7. Check the connection
[root@wjb10000 ~]# iscsiadm -m session -o show
tcp: [1] 192.168.1.50:3260,1 iqn.2016-06.wjb.com:storage.target0 (non-flash)
8. Disk operation
[root@wjb10000 ~]# fdisk -l
disk /dev/sda : 107.4 GB, 107374182400 Bytes, 209715200 A sector
Units = sector of 1 * 512 = 512 bytes
Sector size ( logic / physical ) : 512 byte / 512 byte
I/O The size of the ( The minimum / The best ) : 512 byte / 512 byte
Disk label type: dos
Disk identifier: 0x000b2ba1
equipment Boot Start End Blocks Id System
/dev/sda1 * 2048 1026047 512000 83 Linux
/dev/sda2 1026048 62466047 30720000 83 Linux
/dev/sda3 62466048 103426047 20480000 83 Linux
/dev/sda4 103426048 209715199 53144576 5 Extended
/dev/sda5 103428096 144388095 20480000 83 Linux
/dev/sda6 144390144 152582143 4096000 82 Linux swap / Solaris
/dev/sda7 152584192 209715199 28565504 83 Linux
disk /dev/sdb : 21.5 GB, 21474836480 Bytes, 41943040 A sector
Units = sector of 1 * 512 = 512 bytes
Sector size ( logic / physical ) : 512 byte / 512 byte
I/O The size of the ( The minimum / The best ) : 512 byte / 8388608 byte
[root@wjb10000 ~]# parted --script /dev/sdb "mklabel msdos"
[root@wjb10000 ~]# parted --script /dev/sdb "mkpart primary 0% 100%"
[root@wjb10000 ~]# mkfs.xfs -i size=1024 -s size=4096 /dev/sdb1
meta-data=/dev/sdb1 isize=1024 agcount=4, agsize=1310208 blks
= sectsz=4096 attr=2, projid32bit=1
= crc=0 finobt=0
data = bsize=4096 blocks=5240832, 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=4096 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@wjb10000 ~]# mount /dev/sdb1 /mnt/
[root@wjb10000 ~]# df -hT
The file system type capacity Has been used available Has been used % The mount point
/dev/sda3 xfs 20G 68M 20G 1% /
devtmpfs devtmpfs 904M 0 904M 0% /dev
tmpfs tmpfs 913M 0 913M 0% /dev/shm
tmpfs tmpfs 913M 8.7M 904M 1% /run
tmpfs tmpfs 913M 0 913M 0% /sys/fs/cgroup
/dev/sda5 xfs 20G 1.5G 19G 8% /usr
/dev/sda7 xfs 28G 33M 28G 1% /home
/dev/sda2 xfs 30G 694M 29G 3% /var
/dev/sda1 xfs 497M 128M 370M 26% /boot
tmpfs tmpfs 183M 0 183M 0% /run/user/0
/dev/sdb1 xfs 20G 33M 20G 1% /mnt