SCSI(Small Computer System Interface)是块数据传输协议,在存储行业广泛应用,是存储设备最基本的标准协议。从根本上说,iSCSI协议是一种利用IP网络来传输潜伏时间短的SCSI数据块的方法,ISCSI使用 以太网 协议传送SCSI命令、响应和数据。ISCSI可以用我们已经熟悉和每天都在使用的以太网来构建IP存储局域网。通过这种方法,ISCSI克服了直接连接存储的局限性,使我们可以跨不同 服务器 共享存储资源,并可以在不停机状态下扩充存储容量。
所需软件与软件结构
CentOS 将 tgt 的软件名称定义为 scsi-target-utils ,因此你得要使用 yum 去安装他才行。至于用来作为 initiator 的软件则是使用 linux-iscsi 的项目,该项目所提供的软件名称则为 iscsi-initiator-utils 。所以,总的来说,你需要的软件有:
scsi-target-utils:用来将 Linux 系统仿真成为 iSCSI target 的功能;
iscsi-initiator-utils:挂载来自 target 的磁盘到 Linux 本机上。
那么 scsi-target-utils 主要提供哪些档案呢?基本上有底下几个比较重要需要注意的:
/etc/tgt/targets.conf:主要配置文件,设定要分享的磁盘格式与哪几颗;
/usr/sbin/tgt-admin:在线查询、删除 target 等功能的设定工具;
/usr/sbin/tgt-setup-lun:建立 target 以及设定分享的磁盘与可使用的
客户端等工具软件。
/usr/sbin/tgtadm:手动直接管理的管理员工具 (可使用配置文件取代);
/usr/sbin/tgtd:主要提供 iSCSI target 服务的主程序;
/usr/sbin/tgtimg:建置预计分享的映像文件装置的工具 (以映像文件仿真磁盘);
这次的实验结构
(sdx1、sdy1是物理的磁盘通过lun连接到target虚拟的共享块,在客户端挂载这个块。这里我们添加一块硬盘sdb,创建sdb1(400m)和sdb2(500m))
2、server端配置
添加一块磁盘后
复查一下
安装target并加入开机自启动
yum install -y target*
systemctl start target
systemctl enable target
配置target的ctl将sdb1和sdb2共享出去
(一)、block关联磁盘
(二)、创建target
(三)、创建lun关联block和target
至此服务器端就配置完了,详细的配置可以到/etc/target/saveconfig.json修改
3、client端配置
(一)、安装iscsi*
软件包 iscsi-initiator-utils-6.2.0.873-29.el7.x86_64
软件包 iscsi-initiator-utils-iscsiuio-6.2.0.873-29.el7.x86_64
[root@200 ~]# yum install -y iscsi*
(二)、加入开机自启
[root@200 ~]# systemctl restart iscsid.service
[root@200 ~]# systemctl enable iscsid.service
(三)、做一个发现的操作,发现服务器共享的target名字是什么
(四)、查看发现的条目
(五)、修改客户端的acl并登录
注:这个自动加载过来的磁盘重启之后是自动加载过来的
4、客户端挂载iscsi的盘
格式化sdb和sdc
创建挂载点并挂载
[root@200 ~]# mkdir /sdb
[root@200 ~]# mkdir /sdc
注:如果需要实时同步的话需要使用gfs集群文件系统
5、总结
(一)、增加iscsi存储
(1)发现iscsi存储:iscsiadm
-m discovery -t st -p ISCSI_IP
(2)查看iscsi发现记录:iscsiadm
-m node
(3)登录iscsi存储:iscsiadm
-m node -T LUN_NAME -p ISCSI_IP -l
(4)开机自动:
iscsiadm -m node –T LUN_NAME -p ISCSI_IP --op
update -n node.startup -v
automatic
(二)、删除iscsi存储
(1)登出iscsi存储
iscsiadm -m node -T LUN_NAME -p ISCSI_IP -u
(2)对出iscsi所有登录
iscsiadm -m node --logoutall=all
(3)删除iscsi发现记录:iscsiadm
-m node -o delete -T LUN_NAME -p ISCSI_IP
在VMware环境下使用iSCSI存储的最佳实践一旦iSCSI磁盘配置好了,虚拟机(VMs)就可以使用它们了。以下列出的最佳实践可以帮助你在VMware环境中的iSCSI数据存储获得最大的性能和可靠性。
iSCSI存储的性能高度依赖于网络的健康和使用。为了达到最佳效果,你应该总是通过专用的网络将iSCSI的流量分离出来。
你只能在一个ESX服务器主机上配置一个软件启动器。配置为iSCSI提供连接的vSwitch时,使用多个物理网卡来提供冗余。确保你将VMkernel(虚拟机内核)接口与vSwitch的网卡绑定在一起,这样多路径配置才正确。
确保你在iSCSI
vSwitch上使用的网卡连接到不同的网络交换机,以消除单点故障。
vSphere支持使用存储协议的巨型帧,但它只对那些拥有非常大I/O的特定工作量有好处。此外,你的后端存储必须能够处理RAID组中拥有大量主轴(大于15)增加的吞吐量,否则你也看不到任何好处。如果你的I/O小并且你的存储是主轴方向的(spindle-bound),使用巨型帧你将看到你的性能很少或者没有提高在某些情况下。巨型帧实际上会降低性能,所以你应该做一个评估测试,对比一下启用巨型帧前后的效果,看看巨型帧是否有效。每个端到端组建必须支持巨型帧,包括物理网卡和网络交换机,vSwitch,VMkernel端口和iSCSI目标配置。如果任何一个组件不适合巨型帧配置,它们将无法工作。
为你的虚拟机磁盘控制器使用新的Paravirtual
SCS(PVSCSI)适配器,因为在大多数情况下它提供的最大吞吐量和性能超过了标准的LSI逻辑和BusLogic适配器。对于非常小的I/O工作量来说,LSI逻辑适配器的效果最好。
为了实现最好的性能需要设置先进的多路径,选择iSCSI存储容量属性并点击管理途径。如果有的话,你可以使用本机VMware多路径或第三方多路径插件来配置路径选择策略。当使用软件启动器(software
initiators)时,在一个vSwitch上创建两个VMkernel接口指定一个物理网卡为活跃的,另一个为未使用的使用
esxcli命令将一个VMkernel端口绑定到第一个网卡,将第二个端口绑定到第二个网卡。使用循环算法代替顺序算法或者最近最常使用(MRU)算法,将得到更好的性能。如果你的虚拟机上使用了微软集群服务器(Microsoft
Cluster
Server),避免使用循环(Round
Robin)算法。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)