一、创建 LVM[root@storage ~]# pvcreate /dev/sdc1
[root@storage ~]# vgcreate vglabstor1 /dev/sdc1
Volume group "vglabstor1" successfully created
[root@storage ~]# lvcreate -l 100%FREE -n lvlabstor1 vglabstor1
Logical volume "lvlabstor1" created.
[root@storage ~]# lvscan
ACTIVE '/dev/cl/swap' [2.00 GiB] inherit
ACTIVE '/dev/cl/root' [46.50 GiB] inherit
ACTIVE '/dev/vglabstor1/lvlabstor1' [80.00 GiB] inherit
[root@storage ~]# mkfs.xfs /dev/vglabstor1/lvlabstor1
meta-data=/dev/vglabstor1/lvlabstor1 isize=512 agcount=4, agsize=5242624 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=20970496, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=10239, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@storage ~]# mkdir /labstor1
[root@storage ~]# mount /dev/vglabstor1/lvlabstor1 /labstor1/
二、安装配置 iscsi target
1.安装 targetcli[root@storage ~]# uname -r
3.10.0-514.el7.x86_64
[root@storage ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@storage ~]# yum install targetcli
2.配置 targetcli[root@storage ~]# targetcli
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/backstores> cd fileio
/backstores/fileio> create disk01 /labstor1/disk01.img 1G
Created fileio disk01 with size 1073741824
/backstores/fileio> create disk02 /labstor1/disk02.img 30G
Created fileio disk02 with size 32212254720
/backstores/fileio> ls /
o- / ...................................................................................................................... [...]
o- backstores ........................................................................................................... [...]
| o- block ............................................................................................... [Storage Objects: 0]
| o- fileio .............................................................................................. [Storage Objects: 2]
| | o- disk01 .......................................................... [/labstor1/disk01.img (1.0GiB) write-back deactivated]
| | | o- alua ................................................................................................ [ALUA Groups: 1]
| | | o- default_tg_pt_gp .................................................................... [ALUA state: Active/optimized]
| | o- disk02 ......................................................... [/labstor1/disk02.img (30.0GiB) write-back deactivated]
| | o- alua ................................................................................................ [ALUA Groups: 1]
| | o- default_tg_pt_gp .................................................................... [ALUA state: Active/optimized]
| o- pscsi ............................................................................................... [Storage Objects: 0]
| o- ramdisk ............................................................................................. [Storage Objects: 0]
o- iscsi ......................................................................................................... [Targets: 1]
| o- iqn.2018-05.storage.kvm.com:stor1 .............................................................................. [TPGs: 1]
| o- tpg1 ............................................................................................ [no-gen-acls, no-auth]
| o- acls ....................................................................................................... [ACLs: 0]
| o- luns ....................................................................................................... [LUNs: 0]
| o- portals ................................................................................................. [Portals: 1]
| o- 0.0.0.0:3260 .................................................................................................. [OK]
o- loopback ...................................................................................................... [Targets: 0]
/backstores/fileio> cd /iscsi/
/iscsi> ls
o- iscsi ........................................................................................................... [Targets: 1]
o- iqn.2018-05.storage.kvm.com:stor1 ................................................................................ [TPGs: 1]
o- tpg1 .............................................................................................. [no-gen-acls, no-auth]
o- acls ......................................................................................................... [ACLs: 0]
o- luns ......................................................................................................... [LUNs: 0]
o- portals ................................................................................................... [Portals: 1]
o- 0.0.0.0:3260 .................................................................................................... [OK]
/iscsi> cd iqn.2018-05.storage.kvm.com:stor1/tpg1/luns
/iscsi/iqn.20...or1/tpg1/luns> create /backstores/fileio/disk01
Created LUN 0.
/iscsi/iqn.20...or1/tpg1/luns> create /backstores/fileio/disk02
Created LUN 1.
/iscsi/iqn.20...or1/tpg1/luns> ls
o- luns ............................................................................................................... [LUNs: 2]
o- lun0 ............................................................. [fileio/disk01 (/labstor1/disk01.img) (default_tg_pt_gp)]
o- lun1 ............................................................. [fileio/disk02 (/labstor1/disk02.img) (default_tg_pt_gp)]
/iscsi/iqn.20...or1/tpg1/acls> create iqn.1994-05.com.redhat:kvm
Created Node ACL for iqn.1994-05.com.redhat:kvm
Created mapped LUN 1.
Created mapped LUN 0.
/iscsi/iqn.20...or1/tpg1/acls> create iqn.1994-05.com.redhat:node2
Created Node ACL for iqn.1994-05.com.redhat:node2
Created mapped LUN 1.
Created mapped LUN 0.
/iscsi/iqn.20...or1/tpg1/acls> ls
o- acls ............................................................................................................... [ACLs: 2]
o- iqn.1994-05.com.redhat:kvm ................................................................................ [Mapped LUNs: 2]
| o- mapped_lun0 .................................................................................... [lun0 fileio/disk01 (rw)]
| o- mapped_lun1 .................................................................................... [lun1 fileio/disk02 (rw)]
o- iqn.1994-05.com.redhat:node2 .............................................................................. [Mapped LUNs: 2]
o- mapped_lun0 .................................................................................... [lun0 fileio/disk01 (rw)]
o- mapped_lun1 .................................................................................... [lun1 fileio/disk02 (rw)
/> saveconfig
Configuration saved to /etc/target/saveconfig.json
[root@storage ~]# systemctl start target
[root@storage ~]# systemctl enable target
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.
三、客户端 initiator 连接 target
1.检查软件是否安装及查看 initiatorname 名称[root@master ~]# rpm -qa |grep iscsi
libiscsi-1.9.0-7.el7.x86_64
libvirt-daemon-driver-storage-iscsi-3.9.0-14.el7_5.2.x86_64
iscsi-initiator-utils-6.2.0.873-35.el7.x86_64
iscsi-initiator-utils-iscsiuio-6.2.0.873-35.el7.x86_64
[root@k-node2 ~]# rpm -qa |grep iscsi
libiscsi-1.9.0-7.el7.x86_64
iscsi-initiator-utils-iscsiuio-6.2.0.874-4.el7.x86_64
iscsi-initiator-utils-6.2.0.874-4.el7.x86_64
libvirt-daemon-driver-storage-iscsi-3.2.0-14.el7_4.9.x86_64
[root@k-node2 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:node2
[root@master ~]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1994-05.com.redhat:kvm
2.检查是否可以发现[root@master ~]# iscsiadm --mode discovery --type sendtargets --portal 172.16.216.167
172.16.216.167:3260,1 iqn.2018-05.storage.kvm.com:stor1
3.测试挂载设备[root@master ~]# iscsiadm -d2 -m node --login #
iscsiadm: Max file limits 1024 4096
iscsiadm: libvirt-iface-08137b06: Creating session 1/1
Logging in to [iface: libvirt-iface-08137b06, target: iqn.2018-05.storage.kvm.com:stor1, portal: 172.16.216.167,3260] (multiple)
Login to [iface: libvirt-iface-08137b06, target: iqn.2018-05.storage.kvm.com:stor1, portal: 172.16.216.167,3260] successful.
[root@master ~]# iscsiadm -m node #
172.16.216.167:3260,1 iqn.2018-05.storage.kvm.com:stor1
4.断开与 target 的连接[root@master ~]# iscsiadm -d2 -m node --logout #
四、故障解决
错误:ImportError: cannot import name ALUATargetPortGroup
解决方法:yum install python-rtslib -y