低级配置带来的灾难
假设你为一家中小型企业工作,并且有几台Windows服务器,你想将其连接到iSCSI SAN上。这些服务器都是全新的,并拥有四个板载的1Gbps网卡,但是仅有一个网卡连接到了一台交换机,一台低端的不可管理的的千兆交换机。
乍一看,似乎你能够将SAN插入到交换机中,并为其分配IP地址,在服务器上安装微软的iSCSI initiator,并配置它使其连接到SAN,好象可以高枕无忧了。实际上,你能够从服务器上加载SAN存储器,而且它还可以凑合着运行—只要你并不设法调整它。然而,如果你将实际的负载加到SAN卷上,很快就会发现这种设计的不足之处。
以这种方式连接iSCSI存储器存在着几个问题。你将没有交换机或网卡的冗余,SAN上没有负载均衡,也没有需要用来优化iSCSI通信流(通过交换机的)的特性,而且,最糟的可能是,存储器将会与前端的客户端通信争夺带宽。
正确建立iSCSI
在上面的情形中,缺失的元素是很明显的:一台象样的交换机。一台优良的交换机是iSCSI SAN的关键部分。确实,任何千兆交换机都可用于iSCSI,但是采用低廉的不可管理的交换机会使你遗漏一些重要的特性。在我们日常工作的某些实验中,会需要使用存储服务器。而硬件存储成本高,如StarWind之类的iSCSI软存储解决方案需要单独下载服务器端程序,且配置比较繁琐,令很多新手们很是头疼。
事实上,利用Windows Server 2008 R2,我们可以很容易地将其作为一台NFS存储服务器,方便地得到一个NFS软存储,轻松解决某些环境下的问题。接下来以Windows Server 2008 R2 SP1 企业版为例,分享一下具体的实现步骤。
首先,打开服务器管理器,选择”添加角色”;
点击下一步,开始添加服务器角色;
添加”文件服务”,点击下一步;
点击下一步,开始添加角色服务;
添加”网络文件系统服务”,即”Network File System (NFS)”;
点击安装,开始执行;
安装完成后,在容量适合的分区下建立一个文件夹,选择属性,找到”NFS共享”选项卡,点击”管理NFS共享”;
保持选项默认,点击”权限”;
此处可以看到此存储的默认访问权限,默认为所有计算机都具有只读权限。我们可以将这条权限策略调整为”不可读”,并点击”添加”设置其他策略;
点击”添加”后,会出现如上图窗口,在”添加名称”栏填写允许访问此存储的主机的IP地址,设置访问类型,并按需勾选是否允许访问根目录即可。
以上,通过其他设备添加 “此服务器IP地址:/共享文件夹名称”,即可访问NFS存储1、环境介绍
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/targetsconf:主要配置文件,设定要分享的磁盘格式与哪几颗;
/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/saveconfigjson修改
3、client端配置
(一)、安装iscsi
软件包 iscsi-initiator-utils-620873-29el7x86_64
软件包 iscsi-initiator-utils-iscsiuio-620873-29el7x86_64
[root@200 ~]# yum install -y iscsi
(二)、加入开机自启
[root@200 ~]# systemctl restart iscsidservice
[root@200 ~]# systemctl enable iscsidservice
(三)、做一个发现的 *** 作,发现服务器共享的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 nodestartup -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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)