Linux iSCSI磁盘共享管理
文章目录
- Linux iSCSI磁盘共享概念
- Linux iSCSI 结构介绍
- Linux iSCSI 服务端环境准备
- Linux iSCSI 服务端配置步骤
- Linux iSCSI 客户端配置
- 其他操作
Linux iSCSI磁盘共享概念
iSCSI 服务是通过服务端(target)与客户端(initiator)的形式来提供服务。iSCSI 服务端用于存放存储源的服务器,将磁盘空间共享给客户使用,客户端可以再不充气的情况下扩容磁盘空间。iSCSI 服务端通过已终端的形式配置存储共享过程,每一个目录的含义都不同,下面会详细讲到。iSCSI 协议是通过客户端名称进行验证的,也就是说,用户在访问存储共享资源时不需要输入密码,只要 iSCSI 客户端的名称与服务端中设置的访问控制列表中某一名称条目一致即可,因此需要在 iSCSI 服务端的配置文件中写入一串能够验证用户信息的名称。
Linux iSCSI 结构介绍
目录介绍
- # iSCSI服务端存放本地共享设备的位置。
- /backstores/block
- # SCSI服务端管理target。
- /iscsi
- # SCSI服务端共享资源设备加入到target。
- /iscsi/target名称目录/tpg1/luns
- # SCSI服务端目录用于存放能够访问共享存储资源的客户端名称。
- /iscsi/target名称目录/tpg1/acls
- # SCSI服务端目录用于指定客户端可被访问的监听IP地址及端口
- /iscsi/target名称目录/tpg1/portals
Linux iSCSI 服务端环境准备
- 需求:共享服务端的 /dev/sdb1和/dev/sdb2设备
- 服务器版本:targetcli.noarch-2.1.fb49-1.el7
- 环境准备:
1、在服务器端创建大小分别为1G和3G的 /dev/sdb1和/dev/sdb2两个分区
[root@abc ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part ├─centos-root 253:0 0 17.5G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 5G 0 disk ├─sdb1 8:17 0 1G 0 part #实验共享的分区 └─sdb2 8:18 0 3G 0 part #实验共享的分区 sr0 11:0 1 4G 0 rom
2、关闭服务器端和客户端的selinux
vim /etc/selinux/config #打开selinux配置文件
SELINUX=enforcing 字段改为:
SELINUX=disabled
3、关闭防火墙
systemctl status firewalld #查看防火墙命令
systemctl stop firewalld #关闭防火墙
Linux iSCSI 服务端配置步骤
1、服务器端安装iSCSI
yum -y install targetcli
2、启动服务并设置开机自启动
systemctl start targetd #启动服务
systemctl enable targetd #开机启动服务
3、服务器端使用命令targetcli进入iSCSI服务终端、ls查看目录
targetcli #进入iSCSI服务终端
[root@abc ~]# targetcli #进入iSCSI编辑环境
targetcli shell version 2.1.fb49
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]
/>
4、进入 /backstores/block 目录下、指定共享磁盘设备,命名磁盘设备
/> cd /backstores/block #进入指定目录 /backstores/block> create disk0 /dev/sdb1 #创建共享设备,命名为"disk0",并与分区/dev/sdb1进行关联 Created block storage object disk0 using /dev/sdb1. /backstores/block> create disk1 /dev/sdb2 #创建共享设备,命名为"disk1",并与分区/dev/sdb2进行关联 Created block storage object disk1 using /dev/sdb2.
5、进入 /iscsi 目录下创建iSCSI target 名称
/backstores/block> cd /iscsi # 进入指定目录
/iscsi> create iqn.2019-11.local.example:storage1 #创建一个target,命名格式:(iqn全局限定名称iqn.年-月.公司域名反写:自定义名称)
6、进入 /iscsi/target名称目录/tpg1/luns 目录下创建共享资源加入到target
/iscsi>cd /iscsi/iqn.2019-11.local.example:storage1/tpg1/luns #进入 /iscsi/target名称目录/tpg1/luns 目录
/iscsi/iqn.20...ge1/tpg1/luns> create /backstores/block/disk0 #//关联设备,将共享与分区关联起来;
Created LUN 0.
/iscsi/iqn.20...ge1/tpg1/luns> create /backstores/block/disk1
Created LUN 1.
7、进入 /iscsi/target名称目录/tpg1/acls 设置访问控制,创建存入客户端可访问名称
/iscsi/iqn.20...ge1/tpg1/luns> cd /iscsi/iqn.2019-11.local.example:storage1/tpg1/acls #进入配置访问控制目录 /iscsi/iqn.20...ge1/tpg1/acls> create iqn.2019-11.local.example:westoskey #创建客户端可访问名称 Created Node ACL for iqn.2019-11.local.example:westoskey Created mapped LUN 1. Created mapped LUN 0.
8、进入 /iscsi/target名称目录/tpg1/portals 设置服务端共享设备的网卡IP地址及端口
/> cd /iscsi/iqn.2019-11.local.example:storage1/tpg1/portals/
/iscsi/iqn.20.../tpg1/portals> create 192.168.14.129 #添加IP及端口,端口可以不填,默认为3260;IP为iSCSI服务器端IP
Using default IP port 3260
Created network portal 192.168.14.129:3260.
9、保存退出并重启服务
/iscsi/iqn.20.../tpg1/portals> cd / #切换到iSCSI环境的根目录 /> saveconfig #保存配置 Configuration saved to /etc/target/saveconfig.json
/> exit #退出iSCSI环境
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup/.
Configuration saved to /etc/target/saveconfig.json
systemctl restart targetd # 重启服务
- 【其他操作】
1、开通防火墙的需要开放防火墙3260端口
firewall-cmd --permanent --add-port=3260/tcp firewall-cmd --reload
Linux iSCSI 客户端配置
- 需求:使用服务端共享设备并挂载使用
- 版本:targetd.noarch-0.8.6-1.el7
1、安装iscsi客户端
yum install iscsi-initiator-utils
2、将服务端访问控制表中的共享名称加入到客户端配置文件
[root@localhost iscsi]# vim initiatorname.iscsi InitiatorName=iqn.2019-11.local.example:westoskey #此处需要与服务器配置的acl相同
3、启动iscsi客户端并设置开机自启
systemctl restart iscsid #开启iscsid服务
systemctl restart iscsid #设置iscsid服务开机启动
4、通过 iscsiadm 工具扫描发现 服务端共享的存储设备
[root@localhost iscsi]# iscsiadm -m discovery -t st -p 192.168.14.129 192.168.14.129:3260,1 iqn.2019-11.local.example:storage1
# 其中,-m discovery 参数的目的是扫描并发现可用的存储资源,-t st 参数为执行扫描操作的类型,-p 192.168.10.17 数为 iSCSI 服务端的IP 地址
5、登录 iSCSI 指定共享服务端
- 方法一
[root@localhost iscsi]# iscsiadm -m node -T iqn.2019-11.local.example:storage1 -p 192.168.14.129 --login Logging in to [iface: default, target: iqn.2019-11.local.example:storage1, portal: 192.168.14.129,3260] (multiple) Login to [iface: default, target: iqn.2019-11.local.example:storage1, portal: 192.168.14.129,3260] successful. # 其中,-m node 参数为将客户端所在主机作为一台节点服务器,-T iqn.20.... 参为要使用的存储资源,-p 192.168.10.17 参数依然为对方iSCSI 服务端的 IP 地址。最后使用--login 或-l 参数进行登录验证。
- 方法二
[root@localhost iscsi]# iscsiadm -m node --login Logging in to [iface: default, target: iqn.2019-11.local.example:storage1, portal: 192.168.14.129,3260] (multiple) Login to [iface: default, target: iqn.2019-11.local.example:storage1, portal: 192.168.14.129,3260] successful.
6、查看共享到客户端的磁盘设备
[root@localhost iscsi]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part ├─centos-root 253:0 0 17.5G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 3G 0 disk #这一块硬盘其实就是共享的/dev/sdb1 sdc 8:32 0 1G 0 disk #这一块硬盘其实就是共享的/dev/sdb1 sr0 11:0 1 1024M 0 rom
7、格式化共享设备
[root@localhost iscsi]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 19.5G 0 part ├─centos-root 253:0 0 17.5G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP] sdb 8:16 0 3G 0 disk #格式化分区文件/dev/sdb └─sdb1 8:17 0 3G 0 part sdc 8:32 0 1G 0 disk #格式化分区文件/dev/sdc └─sdc1 8:33 0 1020M 0 part sr0 11:0 1 1024M 0 rom
8、临时挂载设备
[root@localhost iscsi]#mkdir /iscsi #创建目录 [root@localhost iscsi]# mount /dev/sdb1 /iscsi/ #临时挂载 mount: /dev/sdb1 is write-protected, mounting read-only mount: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so.
9、永久挂载共享设备
[root@localhost iscsi]# blkid /dev/sdb /dev/sdb: UUID="aaf4e435-9a14-4d70-b7b5-c4d68f3a81a2" TYPE="ext4" PTTYPE="dos" #获取挂载分区的UUID
vim /etc/fstab #打开fstab文件 UUID=aaf4e435-9a14-4d70-b7b5-c4d68f3a81a2 /iscsi ext4 defaults,_netdev 0 0 #增加左边的内容,其中UUID为挂载分区的UUID
10、删除iSCSI共享资源
iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.037746bdcf2d -u #客户端删除iSCSI共享资源
其他操作
- 删除iSCSI的所有配置
clearconfig confirm=true #服务器端操作

浙公网安备 33010602011771号