目录
一、ISCS技术应用场景之一
二、环境准备:
2.1网络部署
2.2服务端硬盘
三、配置ISCSI服务端
第一步、安装iscsi服务端的交互式配置工具targetcli
第二步:进入iscsi服务的配置“文件”
第三步:创建iscsi target 名称和配置共享资源。
3.1 创建iscsi target名称
3.3创建需要共享的设备
3.4配置访问控制列表acl
3.5 设置ISCSI服务端监听的IP地址和端口号
3.6检查配置信息无误后,输入exit命令后保存信息退出配置。
3.7重启target服务,使配置生效
3.8设置防火墙,放行ISCSI服务。
四、配置Windows客户端
五、配置Linux客户端
5.1安装客户端服务程序
5.2编辑iscsi客户端的initiator名称文件
5.3重启客户端服务程序使得修改的名称文件生效,并且将其加入到开机启动项目确保下次开机服务自行启动。
5.4.发现远程iscsi服务端
5.5登录远程服务端
一、ISCS技术应用场景之一
在生产环境中,集群是被广泛使用的服务器搭建技术,其中,使用iSCSI 技术将两台或更多服务器连接到独立磁盘,可以在多个服务器之间实现远程磁盘的共享,从而大大减少了数据同步的时间和资源消耗,提高了服务器的效率和可靠性。
二、环境准备:
2.1网络部署
我的配置环境,服务端与windows客户端的IP地址不在同一网段但是能ping通原因:我使用的是VMware Workstation虚拟机软件,在虚拟机软件里面部署了iscsi服务端和Linux客户端。我的虚拟机软件使用的是使用地址转换(NAT)网络模式。NAT地址转换可以让VM虚拟机的网络服务发挥路由器的作用。尽管我的物理机windows和虚拟机不同网段,但还是能ping通。
windows客户端与服务端能ping通
Linux客户端与服务端能ping通
2.2服务端硬盘
添加一块硬盘/dev/sdb,然后将硬盘/dev/sdb分区一个大小为10G的逻辑卷/dev/sdb1,配置/dev/sdb1提供iscsi共享存储服务。
三、配置ISCSI服务端
第一步、安装iscsi服务端的交互式配置工具targetcli
[root@zhoujunru ~]# yum install targetcli -y
第二步:进入iscsi服务的配置“文件”
安装好工具后,使用targetcli命令进入iscsi共享资源的配置,就好比是进入samba服务的配置文件里面。只不过targetcli命令是iscsi共享资源的配置文件抽象成了“目录”形式。
[root@zhoujunru ~]# targetcli
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.53
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]
/>
第三步:创建iscsi target 名称和配置共享资源。
3.1 创建iscsi target名称
iscsi target 名称是一串用来描述共享资源的字符串,用户在扫描ISCSI服务端时可以看到这个字符串。
/iscsi> create iqn.2018-10.com.example:server ##创建 iscsi target名称为iqn.2018-10.com.example:server
Created target iqn.2018-10.com.example:server.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi ........................ [Targets: 1]o- iqn.2018-10.com.example:server [TPGs: 1] #系统在生成这个target名称后,会在/iscsi参数目录中创建一个与其字符串同名的新"目录”,用来存放共享资源。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>
3.2 创建一个名为share的存储块
/> cd /backstores/block
/backstores/block> create name=share dev=/dev/sdb1 #创建一个名为share的存储块,使得用户在登录服务端后,可以默认使用/dev/sdb这块硬盘设备提供的共享存储资源
Created block storage object share using /dev/sdb1.
/backstores/block>
3.3创建需要共享的设备
/iscsi/iqn.20...ample:service> cd tpg1/luns
/iscsi/iqn.20...ice/tpg1/luns> create /backstores/block/share #创建一个名为share的存储块,使得用户在登录服务端后,,可以使用/dev/sdb1设备提供的共享存储资源
Created LUN 0.
/iscsi/iqn.20...ice/tpg1/luns>
3.4配置访问控制列表acl
/iscsi/iqn.20...e:server/tpg1> cd acls
/iscsi/iqn.20...ver/tpg1/acls> create iqn.2018-10.com.example:client ##在系统生成的ISCSI target后面加上:client参数,保证客户端的一致性
Created Node ACL for iqn.2018-10.com.example:client
/iscsi/iqn.20...ver/tpg1/acls>
3.5 设置ISCSI服务端监听的IP地址和端口号
在服务器中 0.0.0.0指的是本机上所有的ipv4地址。
/iscsi/iqn.20...e:server/tpg1> cd portals
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ...................... [Portals: 1]o- 0.0.0.0:3260 ....................... [OK]
/iscsi/iqn.20.../tpg1/portals> delete 0.0.0.0 3260 ##生产环境中的服务器可能有多块网卡,在配置文件中是默认所有的网卡提供ISCSI服务,这可能会带来安全问题,因为手动删除监听的IP地址和端口号
Deleted network portal 0.0.0.0:3260
/iscsi/iqn.20.../tpg1/portals> create 192.168.10.132 #服务器端的IP地址
Using default IP port 3260
Created network portal 192.168.10.132:3260.
/iscsi/iqn.20.../tpg1/portals> ls
o- portals ...................... [Portals: 1]o- 192.168.10.132:3260 ................ [OK]
/iscsi/iqn.20.../tpg1/portals>
3.6检查配置信息无误后,输入exit命令后保存信息退出配置。
/> ls
o- / ................................... [...]o- backstores ........................ [...]| o- block ............ [Storage Objects: 1]| | o- share [/dev/sdb1 (10.0GiB) 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.example:server [TPGs: 1]| o- tpg1 ......... [no-gen-acls, no-auth]| o- acls .................... [ACLs: 1]| | o- iqn.2018-10.com.example:client [Mapped LUNs: 0]| o- luns .................... [LUNs: 0]| o- portals .............. [Portals: 1]| o- 192.168.10.132:3260 ........ [OK]o- loopback ................... [Targets: 0]
/>
/>
/> exit
Global pref auto_save_on_exit=true
Configuration saved to /etc/target/saveconfig.json
3.7重启target服务,使配置生效
[root@zhoujunru /]# systemctl restart target
[root@zhoujunru /]#
3.8设置防火墙,放行ISCSI服务。
[root@zhoujunru /]# iptables -F
[root@zhoujunru /]# firewall-cmd --permanent --add-port=3260/tcp
success
[root@zhoujunru /]# firewall-cmd --reload
success
[root@zhoujunru /]#
ISCSI服务器端配置完成,接下来配置linux客户端和windows客户端。
四、配置Windows客户端
五、配置Linux客户端
5.1安装客户端服务程序
[root@localhost /]# yum install iscsi-initiator-utils
5.2编辑iscsi客户端的initiator名称文件
[root@localhost /]# vim /etc/iscsi/initiatorname.iscsi
[root@localhost /]# cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-10.com.example:client
5.3重启客户端服务程序使得修改的名称文件生效,并且将其加入到开机启动项目确保下次开机服务自行启动。
[root@localhost /]# systemctl restart iscsid
[root@localhost /]# systemctl enable iscsid
Created symlink /etc/systemd/system/multi-user.target.wants/iscsid.service → /usr/lib/systemd/system/iscsid.service.
5.4.发现远程iscsi服务端
[root@localhost /]# iscsiadm -m discovery -t st -p 192.168.10.132
192.168.10.132:3260,1 iqn.2018-10.com.example:server
5.5登录远程服务端
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]# iscsiadm -m node -T iqn.2018-10.com.example:server -p 192.168.10.132 --login
[root@localhost /]#
能发现,能登录,但是并没有连接到远程存储资源.排查了网络问题,防火墙问题,还是没有找到出错原因,希望大佬们能在评论区教教孩纸。