iscsi 服务搭建
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。与传统的SCSI技术比较起来,iSCSI技术有以下三个革命性的变化:
把原来只用于本机的SCSI协义透过TCP/IP网络发送,使连接距离可作无限的地域延伸;
连接的服务器数量无限(原来的SCSI-3的上限是15);
由于是服务器架构,因此也可以实现在线扩容以至动态部署。
ISCSI原理图
安装
yum install -y targetcli
启动服务
systemctl start target
配置服务
先需要有一块硬盘,再新建一个分区
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 4G 0 part [SWAP]
└─sda3 8:3 0 55.5G 0 part /
sdb 8:16 0 10G 0 disk
└─sdb1 8:17 0 2G 0 part
sr0 11:0 1 4G 0 rom
使用targetcli
命令配置
[root@localhost ~]# targetcli
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.
/> ls
o- / ............................................................................................................. [...]
o- backstores .................................................................................................. [...]
| o- block ...................................................................................... [Storage Objects: 0]
| o- fileio ..................................................................................... [Storage Objects: 0]
| o- pscsi ...................................................................................... [Storage Objects: 0]
| o- ramdisk .................................................................................... [Storage Objects: 0]
o- iscsi ................................................................................................ [Targets: 0]
o- loopback ............................................................................................. [Targets: 0]
/>
创建一个block设备 关联设备/dev/sdb1
/backstores/block create westos:storage1 /dev/sdb1
/> /backstores/block create westos:storage1 /dev/sdb1
Created block storage object westos:storage1 using /dev/sdb1.
/> ls
o- / ............................................................................................................. [...]
o- backstores .................................................................................................. [...]
| o- block ...................................................................................... [Storage Objects: 1]
| | o- westos:storage1 .................................................. [/dev/sdb1 (0 bytes) write-thru deactivated]
| | o- alua ....................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ........................................................... [ALUA state: Active/optimized]
| o- fileio ..................................................................................... [Storage Objects: 0]
| o- pscsi ...................................................................................... [Storage Objects: 0]
| o- ramdisk .................................................................................... [Storage Objects: 0]
o- iscsi ................................................................................................ [Targets: 0]
o- loopback ............................................................................................. [Targets: 0]
创建一个iscsi共享,iqn是唯一标识
/iscsi create iqn.2018-10.com.westos:storage1
/> /iscsi create iqn.2018-10.com.westos:storage1
Created target iqn.2018-10.com.westos:storage1.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/> ls
o- / ............................................................................................................. [...]
o- backstores .................................................................................................. [...]
| o- block ...................................................................................... [Storage Objects: 1]
| | o- westos:storage1 .................................................. [/dev/sdb1 (0 bytes) write-thru deactivated]
| | o- alua ....................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ........................................................... [ALUA state: Active/optimized]
| o- fileio ..................................................................................... [Storage Objects: 0]
| o- pscsi ...................................................................................... [Storage Objects: 0]
| o- ramdisk .................................................................................... [Storage Objects: 0]
o- iscsi ................................................................................................ [Targets: 1]
| o- iqn.2018-10.com.westos:storage1 ....................................................................... [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]
/>
然后配置tpg1属性
/iscsi/iqn.2018-06.com.westos:storage1/tpg1/acls create iqn.2018-06.com.example:westoskey
#cal配置
/iscsi/iqn.2018-06.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1
#luns配置
/iscsi/iqn.2018-06.com.westos:storage1/tpg1/portals/ create 172.25.254.101
#portals配置
/> /iscsi/iqn.2018-10.com.westos:storage1/tpg1/acls create iqn.2018-10.com.example:westoskey
Created Node ACL for iqn.2018-10.com.example:westoskey
/> /iscsi/iqn.2018-10.com.westos:storage1/tpg1/luns create /backstores/block/westos:storage1
Created LUN 0.
Created LUN 0->0 mapping in node ACL iqn.2018-10.com.example:westoskey
/> /iscsi/iqn.2018-10.com.westos:storage1/tpg1/portals/ create 192.168.3.150
Using default IP port 3260
Could not create NetworkPortal in configFS
/> ls
o- / ............................................................................................................. [...]
o- backstores .................................................................................................. [...]
| o- block ...................................................................................... [Storage Objects: 1]
| | o- westos:storage1 .................................................... [/dev/sdb1 (0 bytes) write-thru activated]
| | o- alua ....................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ........................................................... [ALUA state: Active/optimized]
| o- fileio ..................................................................................... [Storage Objects: 0]
| o- pscsi ...................................................................................... [Storage Objects: 0]
| o- ramdisk .................................................................................... [Storage Objects: 0]
o- iscsi ................................................................................................ [Targets: 1]
| o- iqn.2018-10.com.westos:storage1 ....................................................................... [TPGs: 1]
| o- tpg1 ................................................................................... [no-gen-acls, no-auth]
| o- acls .............................................................................................. [ACLs: 1]
| | o- iqn.2018-10.com.example:westoskey ........................................................ [Mapped LUNs: 1]
| | o- mapped_lun0 ........................................................... [lun0 block/westos:storage1 (rw)]
| o- luns .............................................................................................. [LUNs: 1]
| | o- lun0 ............................................... [block/westos:storage1 (/dev/sdb1) (default_tg_pt_gp)]
| o- portals ........................................................................................ [Portals: 1]
| o- 0.0.0.0:3260 ......................................................................................... [OK]
o- loopback ............................................................................................. [Targets: 0]
/>
有一个报错信息:
Could not create NetworkPortal in configFS
原因是再/iscsi/portals/
下已经存在IP地址。可以直接跳过,获取删除,重新创建。
/> /iscsi/iqn.2018-10.com.westos:storage1/tpg1/portals/ delete 0.0.0.0 3260
Deleted network portal 0.0.0.0:3260
/> /iscsi/iqn.2018-10.com.westos:storage1/tpg1/portals/ create 192.168.3.150
Using default IP port 3260
Created network portal 192.168.3.150:3260.
/> ls
o- / ............................................................................................................. [...]
o- backstores .................................................................................................. [...]
| o- block ...................................................................................... [Storage Objects: 1]
| | o- westos:storage1 .................................................... [/dev/sdb1 (0 bytes) write-thru activated]
| | o- alua ....................................................................................... [ALUA Groups: 1]
| | o- default_tg_pt_gp ........................................................... [ALUA state: Active/optimized]
| o- fileio ..................................................................................... [Storage Objects: 0]
| o- pscsi ...................................................................................... [Storage Objects: 0]
| o- ramdisk .................................................................................... [Storage Objects: 0]
o- iscsi ................................................................................................ [Targets: 1]
| o- iqn.2018-10.com.westos:storage1 ....................................................................... [TPGs: 1]
| o- tpg1 ................................................................................... [no-gen-acls, no-auth]
| o- acls .............................................................................................. [ACLs: 1]
| | o- iqn.2018-10.com.example:westoskey ........................................................ [Mapped LUNs: 1]
| | o- mapped_lun0 ........................................................... [lun0 block/westos:storage1 (rw)]
| o- luns .............................................................................................. [LUNs: 1]
| | o- lun0 ............................................... [block/westos:storage1 (/dev/sdb1) (default_tg_pt_gp)]
| o- portals ........................................................................................ [Portals: 1]
| o- 192.168.3.150:3260 ................................................................................... [OK]
o- loopback ............................................................................................. [Targets: 0]
/>
exit
退出
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json
安装客户端:
yum install -y iscsi-initiator-utils
客户端命令:
iscsiadm -m discovery -t st -p 192.168.3.150
#查看
iscsiadm -m node -T iqn.2018-10.com.westos:storage1 -p 192.168.3.150 -l
#登陆连接
iscsiadm -m node -T iqn.2018-10.com.westos:storage1 -u
#退出登陆
iscsiadm -m node -T iqn.2018-10.com.westos:storage1 -o delete
#删除登陆数据
先发现共享设备
[root@localhost ~]# iscsiadm -m discovery -t st -p 192.168.3.150
192.168.3.150:3260,1 iqn.2018-10.com.westos:storage1
登陆的时候要先更改登陆key,设置成我们刚才配置的cals,key
key在/etc/iscsi/initiatorname.iscsi #key路径
[root@localhost ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-10.com.example:westoskey
登录
注:请关闭防火墙和selinux
[root@localhost mnt]# iscsiadm -m node -T iqn.2018-10.com.westos:storage1 -p 192.168.3.150 -l
Logging in to [iface: default, target: iqn.2018-10.com.westos:storage1, portal: 192.168.3.150,3260] (multiple)
Login to [iface: default, target: iqn.2018-10.com.westos:storage1, portal: 192.168.3.150,3260] successful.
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
sda 8:0 0 40G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 8G 0 part [SWAP]
└─sda3 8:3 0 31.5G 0 part /
sdb 8:16 0 2G 0 disk
└─sdb1 8:17 0 2G 0 part
sr0 11:0 1 1024M 0 rom
使用
[root@localhost mnt]# mount /dev/sdb1 /mnt
自动挂载
$ vim /etc/fstab
UUID=36a782c3-277d-482a-a96d-c9bb1f3fc2a6 / xfs defaults 0 0
UUID=dfaefcf8-2ab7-4d94-b64b-1cce99ba2839 /boot xfs defaults 0 0
UUID=85a837f3-3aba-4f28-a26b-12d7cdbbd123 swap swap defaults 0 0
/dev/sdb /mnt xfs defaults,_netdev 0 0
$ vim /etc/rc.local
touch /var/lock/subsys/local
mount /dev/sdb /mnt
登出
iscsiadm -m node -T iqn.2018-10.com.westos:storage1 -u
#登出
iscsiadm -m node -T iqn.2018-10.com.westos:storage1 -o delete
#删除本地登陆
若不删除本地文件,重启后自动登陆本地记录的远程设备