配置iSCSI服务

配置iSCSI服务

搭建好一台iSCSI服务器,并将整个磁盘共享给客户端:
服务器上要额外配置一块硬盘
服务端安装target,并将新加的硬盘配置为iSCSI 的共享磁盘
在客户端上安装initiator,挂在服务器iSCSI,要求实现开机自动挂载

方案
使用2台RHEL7虚拟机,其中一台作为iSCSI服务器(192.168.2.5)、另外一台作为测试用的客户机(192.168.2.100),如图-1所示,主机网络地址配置如下所示。
proxy eth1: 192.168.2.5/24
web1 eth1: 192.168.2.100/24

在RHEL7系统中,默认通过targetcli软件包提供iSCSI服务,因此需要在服务端安装targetcli包并配置对应的服务,iSCSI服务主要配置选项如表-1所示。

客户端挂载iSCSI服务器:
客户端需要安装iscsi-initiator-utils软件包
客户端使用命令挂载后需要分区、格式化并进行挂载测试

步骤

在proxy上操作:

步骤一:安装iSCSI服务器软件
1)使用yum安装targetcli软件包
# yum -y install targetcli

步骤二:通过命令行配置iSCSI服务
1)真实主机准备底层存储磁盘
真实主机使用virt-manager工具为proxy虚拟机添加磁盘
双击打开虚拟机后添加磁盘设备,点击灯泡---》添加硬件---》存储---》20G(默认)---》完成

# lsblk
可以发现多了/dev/vdb这个磁盘

登陆到proxy主机,为新添加的磁盘准备分区:
# parted /dev/vdb mklabel gpt
信息: You may need to update /etc/fstab.

# parted /dev/vdb mkpart primary 1 100%
信息: You may need to update /etc/fstab.

2)使用targetcli定义后端存储
设置需要将哪个设备共享给其他主机,这里将/dev/vdb1设置为后端共享磁盘。
# targetcli
/> ls
/> backstores/block create store /dev/vdb1 #备注:store为任意名称

3)创建iqn对象
给iSCSI共享设置一个共享名称,客户端访问时需要使用该共享名称。
/> iscsi/ create iqn.2018-11.cn.tedu:server1 #iqn里写年和月就可以了,年份写4个数字,月份写2个数字。

4) 授权客户机访问
类似于一个密码,设置ACL访问控制,拥有iqn.2018-01.cn.tedu:client1这个字符串的客户端才有权限访问服务器。
/> iscsi/iqn.2018-11.cn.tedu:server1/tpg1/acls create iqn.2018-11.cn.tedu:client1

5) 绑定存储
将iqn共享名称(iqn.2018-01.cn.tedu:server1)与后端实际的存储设备(vdb)绑定。
#注意:block后面的store必须与前面步骤2定义后端存储create创建的名称一致。
/> iscsi/iqn.2018-11.cn.tedu:server1/tpg1/luns create

6) 存储绑定服务监听的地址,并保存配置
/> iscsi/iqn.2018-01.cn.tedu:server1/tpg1/portals/ create 0.0.0.0
/> saveconfig
/> exit


步骤三:服务管理

1)启动服务
#systemctl start target #systemctl {start|restart|stop|status} target
# systemctl status target
页面显示
● target.service - Restore LIO kernel target configuration
Loaded: loaded (/usr/lib/systemd/system/target.service; disabled; vendor preset: disabled)
Active: active

2)查看端口信息
# ss -utlnp | grep :3260

3)关闭防火墙与SELinux
# systemctl stop firewalld
# setenforce 0

这个target命令进行操作,其实就相当于是在修改这个配置文件/etc/target/saveconfig.json。
-------------------------------------------------------------
步骤四:客户端访问(web1作为客户端的角色)

1)客户端安装软件并启动服务
# yum -y install iscsi-initiator-utils

2)设置本机的iqn名称
# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-01.cn.tedu:client1
注意:必须跟服务器上配置的ACL一致!

3)发现远程target存储
提示:参考man iscsiadm!
# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.5 --discover
# iscsiadm --mode node --targetname iqn.2018-01.cn.tedu:server1 --portal 192.168.2.5:3260 --login

3)客户端挂载iSCSI共享
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 9.3G 0 disk
#多了一个sda设备
# systemctl restart iscsi

4)分区、格式化、挂载
# parted /dev/sda mklabel gpt
# parted /dev/sda mkpart primary 1 800
# mkfs.xfs /dev/sda1
# mount /dev/sda1 /mnt
# umount /mnt
---------------------------------------------------------------------------------------------
步骤四:附加课外实验:多台FTP或者http主机使用共享存储。(此步骤未做实验!)

这里以FTP为例,web1和web2主机都安装vsftpd软件,使用统一的后端共享存储设备。
1) web1操作(延续前面步骤三的实验):
[root@web1 ~]# mkdir /var/ftp/
[root@web1 ~]# mount /dev/sda1 /var/ftp/
[root@web1 ~]# yum -y install vsftpd
[root@web1 ~]# sed -i 's/^#anon/anon/' /etc/vsftpd/vsftpd.conf
备注:修改vsftpd配置文件,开启匿名上传功能。将下面2行默认的注释行打开。
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
[root@web1 ~]# chmod 777 /var/ftp/pub
[root@web1 ~]# systemctl start vsftpd
[root@web1 ~]# systemctl enable vsftpd

2) 真实主机访问web1的FTP共享,并任意上传一个文件到FTP服务器。
打开真实主机的ftp,输入192.168.2.100连接到服务器,进入pub共享目录。
将真实主机的任意文件拖拽到FTP的共享目录下(pub目录)。注意:仅pub目录有读写权限。

3)当web1宕机后,web2主机可以继续使用iscsi提供FTP共享服务。
Web1关闭vsftpd服务,卸载iscsi挂载。
[root@web1 ~]# systemctl stop vsftpd
[root@web1 ~]# umount /var/ftp

web2添加iSCSI共享。
[root@web2 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-01.cn.tedu:client1
注意:必须跟服务器上配置的ACL一致!
[root@web2 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.2.5 --discover
[root@web2 ~]# iscsiadm --mode node --targetname iqn.2018-01.cn.tedu:server1 --portal 192.168.2.5:3260 --login

web2安装部署vsftpd软件。
[root@web2 ~]# yum -y install vsftpd
[root@web2 ~]# sed -i 's/^#anon/anon/' /etc/vsftpd/vsftpd.conf
[root@web2 ~]# chmod 777 /var/ftp/pub/
[root@web2 ~]# systemctl start vsftpd
[root@web2 ~]# systemctl enable vsftpd

4) 真实主机访问web2的FTP共享,查看共享里现有的数据,并任意上传一个新文件到FTP服务器。操作步骤参考图-5至图-7所示,注意修改对应的IP地址。
思考?
写一个检测ftp的脚本,如果发现web1宕机后,web2自动mount挂载iscsi共享,自动启动vsftpd服务。

 

转载于:https://www.cnblogs.com/summer2/p/10788063.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值