Centos 6/7上搭建iscsi服务
原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。 邮箱:yinwanit@163.com
说明
文章指导在Centos 6和Centos 7两个不同版本的服务器上安装并配置iscsi服务把本地磁盘提供给网络中其他服务器使用。文章是基于yum源及IP地址,防火墙配置完成过后的状态进行配置的,操作前请确认yum源配置正常、防火墙允许3260端口流量进入、IP网络能够正常通信。
1 rhel 6配置iscsi服务端
本章使用rhel6的系统配置iscsi磁盘映射完成iscsi服务的搭建为用户提供网络存储服务。
步骤说明
rhel6上配置iscsi服务服务端步骤一共分为如下3步:
- 安装iscsi软件
- 配置iscsi映射本地磁盘
- 设置可访问客户端列表
1.1 安装配置iscsi软件
iscsi使用target服务映射磁盘,主要分为iscsi软件包的安装和iscsi软件的配置文件修改。
1.1.1 安装iscsi服务
通过yum源中的安装包安装target软件包,设置开机启动服务,修改target配置文件,重启tgtd服务。
# yum list | grep -i scsi-target-utils #查看target服务包
# yum install scsi-target-utils -y #安装target软件
把tgtd加入到开机启动项中
# chkconfig tgtd on #设置tgtd服务开机自启动 # chkconfig --list | grep -i tgtd #查看tgtd服务是否设置开机启动
1.2 配置iscsi-target参数
在/etc/targets.conf文件中添加如下行进行iqn号与本地磁盘的绑定完成iscsi磁盘映射。
#vim /etc/tgt/targets.conf
<target iqn.2018-12.com.iscsi:server1> <backing-store /dev/sdd> scsi_id RHEL6_SCSI_LUN1 </backing-store> initiator-address 192.168.175.0/24 initiator-address 192.168.144.0/24 </target>
修改配置文件后,重启tgtd服务使配置文件生效,通过netstat命令确认iscsi配置成功服务运行正常。
#service tgtd restart #netstat -tuanlp | grep 3260
1.3 限定客户端访问清单
让任意客户端都可以存取
# tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
查看状态
# tgtadm --lld iscsi --op show --mode target
# tgt-admin --show
2 rhel 7配置iscsi服务端
本章使用rhel7的系统配置iscsi磁盘映射完成iscsi服务的搭建为用户提供网络存储服务。在rhel系统中iscsi磁盘映射通过target服务完成,在7中通过targetcli工具可简化完成iscsi磁盘的映射。
2.1 安装target软件
查看确认yum中是否包含iscis及targetcli软件。
1.查看安装软件包
# yum list | grep -i targetcli #查看iscsi软件及版本 # yum install targetcli -y #安装targetclit软件
# rpm -qa | grep -i targetcli #查看确认targetcli是否安装
2.开机target服务,设置开机启动
# systemctl enable target.service #设置开机启动target服务
# systemctl start target.service #开启target服务
2.2 配置target软件
按照规划规划把指定磁盘配置到iscsi服务中。
1.确认本地磁盘盘符号
# lsblk #查看本地磁盘,确认盘符
2.修改iscsi配置
使用targetcli命令进入到iscsi配置界面
# targetcli #进入target界面
新建lun1绑定磁盘/dev/sdd
/> ls #查看配置信息 /> /backstores/block create lun1 /dev/sdd #新建lun
新建一个名为iqn.2018-12.com.iscsi.server2的iqn号
/iscsi create iqn.2018-12.com.iscsi.server2 #新建iqn号
设置能够访问的客户端iqn号,除了指定的iqn号,其他iqn都不能访问此iscsi磁盘。
/> /iscsi/iqn.2018-12.com.iscsi.server2/tpg1/acls create iqn.2018-12.com.client.rhel7 /> /iscsi/iqn.2018-12.com.iscsi.server2/tpg1/acls create iqn.2018-12.com.client.rhel6
绑定iqn和lun的对应关系
/> /iscsi/iqn.2018-12.com.iscsi.server2/tpg1/luns create /backstores/block/lun1
/> saveconfig #保存配置文件
查看确认之前的配置信息
/> ls #查看配置
3. 配置开机启动程序
由于在配置时device_mapper会自动接管客户端格式化的磁盘则需要手动取消device_mapper接管,然后重新启动服务。
在/etc/bashrc中添加如下内容。
# vim /etc/bashrc #编辑/etc/bashrc文件
/usr/sbin/dmsetup remove_all #释放dm接管磁盘 /usr/bin/unalias cp #取消cp的别名 /usr/bin/cp -f /etc/target/backup/saveconfig-20181221-04:37:37.json /etc/target/saveconfig.json #复制之前保存的配置文件到当前文件 /usr/bin/systemctl restart target #重启target服务
4.设置开机启动
设置target服务开机启动,重启target服务。
# systemctl enable target #开机启动target服务
# systemctl restart target #重启target服务
确认target是否成功成功设置开机启动。
# systemctl status target #查看target服务状态
iscsi服务端配置完成。
3 使用ISCSI磁盘(rhel6)
3.1 安装iscsi-client软件
# yum repolist #载入yum源包数据 # yum list | grep -i iscsi #查看iscsi软件包
2.开机启动iscsid服务
# chkconfig iscsid on #设置iscsid服务开机启动
# chkconfig iscsi on #设置sicsi服务开机启动
# service iscsid restart #重启iscsid服务
# service iscsi restart #重启iscsi服务
3.确认iqn号
iscsi服务端限制了只允许了特定的iqn号才能访问使用存储,此时需要确认自己的iqn号是否在运行的列表中,如果不在则需要修改为列表中的iqn或联系存储服务端管理员添加上本机的iqn。
# cat /etc/iscsi/initiatorname.iscsi #查看本机iqn号
4.识别挂载磁盘
发现盘符
# iscsiadm -m discovery -t st -p 192.168.175.10 #发现192.168.175.10的磁盘 # iscsiadm -m discovery -t st -p 192.168.144.10 #发现192.168.144.10的磁盘
登录盘符
# iscsiadm -m node -T iqn.2018-12.com.iscsi:server1 -p 192.168.175.10 -l # iscsiadm -m node -T iqn.2018-12.com.iscsi:server1 -p 192.168.144.10 -l
# lsblk #查看本地磁盘
3.2 配置多路径软件
#yum list | grep -i multipath #查看多路径软件包 #yum install device-mapper-multipath -y #安装多路径软件包
加入multipath到系统模块中
#modprobe dm-multipath #dm-multipath加入到开机模块 #modprobe dm-round-robin #dm-round-robin加入到开机模块 #modprobe dm-service-time #dm-service-time加入到开机模块
# mpathconf –enable #生成multipath配置文件
添加如下内容
#vim /etc/multipath.conf #修改多路径配置文件
# service multipathd restart #重启多路径软件 # multipath -F #清空多路径聚合信息 # multipath -v2 #重扫多路径路径 # multipath -ll #查看多路径聚合信息 # lsblk #查看本地磁盘
3.3 挂载iscsi磁盘
# mkfs.ext4 /dev/mapper/mpatha #格式化多路径聚合磁盘
# mkdir /iscsi #新建/iscsi目录 # blkid #查看uuid
# vim /etc/fstab #修改开机挂载文件 # cat /etc/fstab #查看开机挂载文件
# mount -a #挂载/etc/fstab文件中的挂载关系 # df -Th #查看当前系统挂载情况
3.4 测试iscsi功能
测试iscsi存储是否能和本地磁盘一样操作
# cd /iscsi #切换到/iscsi目录 # touch 1 #新建文件1 # touch testiscsi #新建文件tsetiscsi # rm -rf 1 #删除文件1
4 使用iscsi存储(rhel7)
实验使用rhel7操作系统,在系统依次执行操作安装软件包、配置iscsi中的iqn、发现登录iscsi磁盘、配置多路径软件(多路径情况下)等步骤完成操作。
4.1 安装iscsi-client软件
1.查看挂载前磁盘
使用lsblk查看当前系统下磁盘情况。
# lsblk #查看磁盘结构
2.安装iscsi软件
使用yum list 和 yum install 命令查看安装iscsi软件。
# yum list | grep -i iscsi #查看iscsi软件
# yum install iscsi* -y #安装iscsi*软件
3.配置iscsi
修改iscsi客户端的iqn号为之前在服务端设置的acl列表中的iqn号
# vim /etc/iscsi/initiatorname.iscsi #编辑iscsi启动器配置文件
# cat /etc/iscsi/initiatorname.iscsi
设置iscsid服务开机启动
#systemctl enable iscsid #开机启动iscsid
4.发现登录iscsi磁盘
发现远端iscsi设备由于我们规划中使用的双网卡,所以需要使用iscsiadm命令发现两个网口的磁盘(iqn是同一个)
# iscsiadm -m discovery -t st -p 192.168.175.20 #发现192.168.175.20共享出来的磁盘 # iscsiadm -m discovery -t st -p 192.168.144.20 #发现192.168.175.20共享出来的磁盘
#iscsiadm -m node -p 192.168.175.20 -l #登录192.168.175.20的磁盘 # iscsiadm -m node -p 192.168.144.20 -l #登录192.168.144.20的磁盘
重启iscsi服务使配置信息生效
#systemctl restart iscsi #重启iscsi服务
查看确认是否发现新磁盘
通过lsblk命令发现系统新发现了两张盘/dev/sdb,/dev/sdc。
4.2 安装配置多路径软件
实验使用rhel7系统自带的multipath软件对iscsi多路径存储进行路径合并配置。
1.安装multiapth软件包
# yum list | grep -i device-mapper-mul #查看yum源中multipath包
# yum install device-mapper-multipath -y #安装multipath软件
2.添加multipath模块到系统模块中
# modprobe dm-multipath # modprobe dm-round-robin # modprobe dm-service-time
3.配置multipath
#systemctl start multipathd.service #启动multipathd服务
#multipath -ll #查看multipath路径状态
提示发现multipath由于缺失配置文件无法启动。
#systemctl status multipathd.service #查看multipathd运行状态
发现multipathd服务未启动
根据提示复制指定文件到multipathd配置文件目录。
# cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc/multipath.conf
重新启动multipathd服务查看状态,发现multipathd服务运行正常,多路径识别聚合成功。
# systemctl start multipathd.service #启动multipathd服务
# multipath -ll #查看multipath路径状态
查看获取新磁盘的uuid以便写入到multipath.conf文件中。
#blkid #查看磁盘分区uuid
修改multpath配置文件修改user_friendly_names为yes。在multipaths选项下添加如下内容
vim /etc/multipath.conf #修改multipath.conf文件
修改/etc/multipath/bindings设置uuid与磁盘名的对应关系
#systemctl start multipathd.service #重启multipathd服务
# multipath -ll #查看multipath路径状态
从上可见/dev/sdc与/dev/sdb被聚合到了dm-2中,multipath配置成功。
4.配置lv
把多路径聚合的链路添加到pv中并新建vg和lv。
新建pv
# pvcreate /dev/mapper/redhat #添加redhat磁盘到pv中
新建vg
# pvs #查看pvs信息
# vgcreate vg_redhat /dev/mapper/redhat #把redhat添加到vg中
# vgs #查看vg信息
# lvcreate -L +10G -n lv_redhat vg_redhat #新建一个名为lv_redhat的lv
# lvs #查看lvs的信息
5.挂载iscsi磁盘
格式化挂盘
# mkdir /iscsi #新建iscsi目录 # mkfs.xfs /dev/mapper/vg_redhat-lv_redhat #格式化lv为xfs格式 # blkid #查看磁盘uuid
写入挂载信息到/etc/fstab文件中。信息如下
UUID="c24154da-8570-418c-abd7-f258c73ea630" /iscsi xfs defaults,_netdev 0 0
挂载所有配置文件中的磁盘到挂载点
# mount -a #挂载所有磁盘 # df -Th #查看此怕挂载情况
6.测试挂载是否正常
使用基本的文件操作命令进入到挂载文件中测试是否可以新建删除文件
基于rhel7的iscsi服务及客户端配置正常。