1 案例1:配置iSCSI服务
1.1 问题
本案例要求先搭建好一台iSCSI服务器,并将整个磁盘共享给客户端:
服务器上要额外配置一块硬盘
服务端安装target,并将新加的硬盘配置为iSCSI 的共享磁盘
在客户端上安装initiator,挂在服务器iSCSI,要求实现开机自动挂载
1.2 方案
使用2台RHEL7虚拟机,其中一台作为iSCSI服务器(192.168.4.5)、另外一台作为测试用的Linux客户机(192.168.4.100),如图-1所示。
图-1
在RHEL7系统中,默认通过targetcli软件包提供iSCSI服务,因此需要在服务端安装targetcli包并配置对应的服务,iSCSI服务主要配置选项如表-1所示。
表-1 iSCSI配置选项列表
客户端挂载iSCSI服务器:
客户端需要安装iscsi-initiator-utils软件包
客户端使用命令挂载后需要分区、格式化并进行挂载测试
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:安装iSCSI服务器软件
1)使用yum安装targetcli软件包
[root@proxy ~]# yum -y install targetcli
.. ..
[root@proxy ~]# yum info targetcli
.. ..
步骤二:通过命令行配置iSCSI服务
1)真实主机准备底层存储磁盘
真实主机使用virt-manager工具为proxy虚拟机添加磁盘,如图-2所示。
图-2
双击打开虚拟机后添加磁盘设备,如图-3和图-4所示。
图-3
图-4
登陆到192.168.4.5主机,为新添加的磁盘准备分区:
[root@proxy ~]# parted /dev/vdb mklabel gpt
[root@proxy ~]# parted /dev/vdb mkpart primary 1 100%
2)使用targetcli定义后端存储
[root@proxy ~]# targetcli
/> ls
/> backstores/block create /dev/vdb1
3)创建iqn对象
/> /iscsi create iqn.2018-01.cn.tedu:server1
-
授权客户机访问
/> iscsi/iqn.2018-01.cn.tedu:server1/tpg1/acls create iqn.2018-01.cn.tedu:client1
-
绑定存储
/>iscsi/iqn.2018-01.cn.tedu:server1/tpg1/luns create /backstores/block/iscsi_store
-
存储绑定服务监听的地址,并保存配置
/> iscsi/iqn.2018-01.cn.tedu:server1/tpg1/portals/ create 0.0.0.0
/> saveconfig
/> exit
步骤三:服务管理
1)启动服务
[root@proxy ~]# systemctl {start|restart|stop|status} target
[root@proxy ~]# systemctl enable target
2)查看端口信息
[root@proxy ~]# ss -tlnp | grep :3260
3)关闭防火墙与SELinux
[root@proxy ~]# systemctl stop firewalld
[root@proxy ~]# setenforce 0
步骤四:客户端访问
1)客户端安装软件并启动服务
[root@client ~]# yum -y install iscsi-initiator-utils
[root@client ~]# systemctl restrt iscsi
2)设置本机的iqn名称
[root@client ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2018-01.cn.tedu:client1
注意:必须跟服务器上配置的ACL一致!
3)发现远程target存储
提示:参考man iscsiadm!
[root@client ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.4.5 –discover
[root@client ~]# iscsiadm --mode node --targetname iqn.2018-01.cn.tedu:server1 --portal 192.168.4.5:3260 --login
3)客户端挂载iSCSI共享
[root@client ~]# systemctl restart iscsi
[root@client ~]# lsblk
4)分区、格式化、挂载
[root@client ~]# parted /dev/sdb mklabel gpt
[root@client ~]# parted /dev/sdb mkpart primary 1 800
[root@client ~]# mount /dev/sdb1 /mnt