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
01
——
什么是ISCSI?
ISCSI全称是——Internet Small Computer System Interface,是一种互联网小型计算机系统接口。
一种用于计算机和智能设备之间(如:硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准,是一种智能的通用接口标准。
翻译成人话就是:ISCSI就是一块网络磁盘,就好像我们现在用的百度云网盘。
是一种基于客户端和服务端架构的虚拟磁盘技术,服务器提供磁盘空间,客户机连接并且可以把它当成本地磁盘来用;
02
——
ISCSI的构成:
ISCSI由:backstore后端存储、target磁盘组、lun逻辑单元3个部分组成;
1、backstore后端存储,是一个对应到服务端提供实际存储的设备;
2、target磁盘组,是客户的访问目标,作为一个框架,由多个lun组成;
3、lun逻辑单元,每一个lun需要关联到某一个后端存储设备,在客户端会被视为一块虚拟硬盘;
03
——
ISCSI网络磁盘有什么作用?
ISCSI的主要作用有两个:
第一、存储集成
公司希望将不同的存储资源从分散在网络上的服务器移动到统一的位置(常常是数据中心); 这可以让存储的分配变得更为有效。
SAN 环境中的服务器无需任何更改硬件或电缆连接就可以得到新分配的磁盘卷。
第二、灾难恢复
公司希望把存储资源从一个数据中心镜像到另一个远程的数据中心上,后者在出现长时间停电的情况下可以用作热备份。
特别是,iSCSI SAN 使我们只需要用最小的配置更改就可以在 WAN 上面迁移整个磁盘阵列,实质上就是,把存储变成了“可路由的”,就像普通的网络通信一样。
04
——
如何构建一个ISCSI网络磁盘?
构建ISCSI的流程:
服务端需要做以下操作:
1、修改防火墙区域为trusted;(允许所有)
2、划分新的分区;
3、安装软件包targetcli;
4、运行targetcli这个软件进行配置;
a、建立后端存储;
b、建立target磁盘组;
c、建立关联;
d、设置访问ACL访问控制;
e、开启IP地址与端口;
5、重启target服务;
客户端需要做以下操作:
1、修改防火墙默认区域trusted;(允许所有)
2、安装软件包iscsi-initiator-utils
3、修改配置文件,制定客户端声称的名字,重启iscsid服务;
4、运行命令进行发现共享存储(参考man iscsidm);
5、重起iscsi服务,加载共享存储;
以上是学习云计算ISCSI磁盘共享存储的笔记,期待与你一起交流;
祝:幸福
罗贵
2019-01-21晚于深圳
从Windows Server 2012 开始,微软为服务器操作系统增加了原生iSCSI服务,之前则是需要依靠第三方的相关工具来实现。为了保证存储的可靠性,iSCSI通常和raid5配合使用,首先使用相同型号的多块硬盘(最少3块)创建raid5卷,在任意一块空闲的硬盘上右键,选择"创建raid5卷"
将参加raid5的磁盘全部添加
顺带格式化,推荐勾上"快速格式化",低格没必要而且速度很慢
Raid5卷创建完成
现在进入服务器管理器,添加ISCSI相关服务
在添加服务器角色页面勾选"文件和存储服务"-"文件和Iscsi服务"-"Iscsi目标服务器"和"Iscsi目标存储提供程序"
正在安装
安装Iscsi服务安装完成就可以对虚拟磁盘进行配置,进入【服务器管理器】-【文件和存储服务】-【iSCSI】创建虚拟磁盘
存储位置自然选择刚才创建的raid5卷
指定虚拟磁盘的名称
指定虚拟磁盘的空间大小,这里需要注意以下几点:首先,虚拟磁盘的总大小不能大于虚拟磁盘文件所在分区的大小。在大小的增长模式中,"固定大小"会让虚拟磁盘文件的大小固定在最大大小,而"动态扩展"则会让虚拟磁盘的文件的大小随着存储在虚拟磁盘内的文件逐渐增多而自动增大,但上限依然为"大小"用户设定的值。推荐选择前者,一次性分配空间大小相对于后者,虚拟磁盘的读写性能更高
指定目标的名称
这里指定允许访问虚拟磁盘的客户端,点击"添加"按钮添加客户端
通常标识目标发起程序有两种方法,一种是直接使用目标发起程序ID,但是看起来2009年之前的Windows版本并不支持此方法,因此我们通常选择下面的通过匹配相关计算机的值来标识客户端,IP地址应该是直观且比较方便的,将允许连接该虚拟磁盘的客户端IP地址添加进去,多个IP地址需要分别添加。
最后检查一下配置信息,准确无误后点击"创建"
创建完成
现在在【服务器管理器】-【文件和存储服务】-【iSCSI】下就能看到虚拟磁盘和目标的工作状态
接下来还需要在防火墙里放通Iscsi相关服务,强烈不建议采取关闭Windows防火墙等一刀切的方式
服务器配置到此告一段落,现在就可以配置Iscsi客户端了,打开【管理工具】-【Iscsi发起程序】
输入目标服务器的IP,点击"快速连接"
显示"登录成功",此时,虚拟磁盘已经连接到本地计算机。
现在打开"磁盘管理",就能看到虚拟磁盘,之后的步骤,和操作本地磁盘的方式一样,第一次使用需要初始化,然后就能创建分区了
完成后就能像使用本地磁盘一样使用虚拟存储了
现在回到服务器端,可以看到目标状态已经显示为"已连接"
最后,如果需要断开虚拟磁盘,需要先在【磁盘管理】里将目标磁盘"脱机",然后回到"Iscsi发起程序"断开目标连接
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)