<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 
一、使用目的
a.  模拟现有集群中的环境,快速定位故障原因,处理运维集群故障。

b.  在虚拟环境中模拟集群,对初学者的学习集群知识有很大的帮助。

c.  对想研究集群技术的人来讲,这是一个很好的帮助工具。  
二、技术背景
1、 iSCSI基础

iSCSI是一种新兴的存储协议,全称是Internet SCSI,和传统的SCSI设备不同,iSCSI存储设备使用IP网络来进行数据的传输。这样的好处就是网络中的任何一台主机都可以使用iSCSI存储设备作为自己的存储设备,缺点就是比较依赖IP网络的传输性能,所以通常情况下推荐在1000M网络中使用iSCSI存储设备。首先介绍一下iSCSI存储中所使用的组件。iSCSI存储使用以下三个组件:

发起方(Initiator):安装在需要使用iSCSI存储设备的主机上的客户端软件,提供连接iSCSI存储设备并进行数据读写的驱动程序;

目标(Target):iSCSI存储设备,提供数据存储服务;

入口(Portal):由IP地址和端口(默认为TCP 3260)组成,发起方通过入口来连接目标。

连接过程:发起方通过入口来连接目标,目标通常通过发起方的IQN(发起方完全限定名称)来识别发起方的连接。此外,你还可以配置CHAP身份验证和IPSec加密,通常情况下,不推荐使用IPSec加密,更占用服务器性能。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
服务端(目标)
Target

 

从实验的目的简单来讲,就是在一台服务器上用ISCSI工具建立一个共享存储,其他的客户端通过ISCSI客户端工具来建立和服务器端的连接,这样,所有的客户端就共享这一个存储,从而达到我们实验的目的(因为建立数据库集群需要共享磁盘做支撑)

 
三、工具介绍
1、 建立共享存储磁盘的工具。

主要介绍两种在服务器中创建共享磁盘的工具WintargetStarWind。其中Wintarget是微软公司研发的,而StarWind是由Rocket Division Software LTD研发的。

2、 客户端连接工具

主要是Microsoft iSCSI Initiator,简称Initiator

3、 工具使用

组合a.Wintarget+ Initiator

组合b.StarWind+ Initiator
 
四、操作步骤
1、 使用组合a的操作指南

在这里使用两台虚拟机来做实验,一个作为提供共享存储的服务端,IP地址:192.168.200.191,一个作为连接存储的客户端,IP地址:192.168.200.200。此时虚拟机的NetWorkingAdapter选择是local only.

a.  IP地址是192.168.200.191的服务器上,安装服务端软件Wintarget.使用默认配置,选择下一步,直到完成安装。

b.  IP地址是192.168.200.200的服务器上,安装客户端软件Initiator.使用默认配置,选择下一步,直到完成安装。

c.  配置服务端共享磁盘,在IP地址为192.168.200.191的服务器上配置。

步骤1、从“开始--所有程序管理工具”列表中找到Microsoft ISCSI Software Target工具,并打开,打开以后的界面如下图所示:

步骤2、新建一个ISCSI Targets,也就是供客户端连接的目标。右键单击“iscsi targets”节点,选择“create iscsi target,则进入创建iscsi目标向导的界面,如下图:

点击“下一步”,在视图中的“ISCSI Target Name”输入框中输入一个唯一的供客户端连接的目标名,比如clientISCSI,Description输入框可以忽略。如下图:

点击“下一步”,设置访问“clientISCSI”目标的客户端的标识,如下图所示:

设置客户端连接的标识有很多,可以是DNS名称,IP地址,MAC地址等,在这里选择IP地址来设置,点击“advanced,则弹出“advanced identifiers”对话框,再点击对话框上的“Add”,则出现“Add/Edit identifier”对话框,在identifier Type列表中选择:IP Address,value中输入客户端访问的ip地址:192.168.200.200

如下图所示:

点击“OK”,返回“advanced identifiers”对话框,点击“OK”,回到设置访问“clientISCSI”客户端访问标识界面,点击“下一步”,直到点击“完成”。在点击“完成”按钮以后,将在在控制台中的“Iscsi targets”列表中出现“clientISCSI”节点。如下图:

步骤3、设置“clientISCSI”目标连接的共享虚拟磁盘,右键单击“clientISCSI”节点,选择“Create Virtual Disk for Iscsi Target,则进入“Create Virtual Disk for Iscsi Target”创建向导。如下图:

点击“下一步”,设置虚拟共享磁盘的文件存储路径,如下图所示:

点击“下一步”,设置虚拟共享磁盘的存储大小,如下图:

点击“下一步”,设置虚拟磁盘描述,如下图:

点击“下一步”,直到点击“完成”。在创建完成以后,在控制台列表中的显示如下:

此时,所创建的虚拟共享磁盘的状态是“idle(空闲)”,当如果有客户端连接到服务端以后,则该状态显示为:这样,服务端的设置就基本完成。

d.  配置客户端的连接,在IP地址为192.168.200.200的服务器上配置。

在未进行客户端连接设置之前,我们来看一下客户端磁盘管理里磁盘情况,如下图:

下面讲述客户端的设置。

步骤1、打开“Microsoft iSCSI Initiator”管理控制台。如下图所示:

点击“Discovery”选项卡,在此选项卡中,点击“Add”按钮,则弹出“Add Target Portal”对话框,在“IP address or DNS name”文本框中输入需要连接的服务端的IP地址,和端口号(一般端口默认为3260),使用缺省的端口设置。如下图:

点击“OK”,返回“Iscsi Initiator”属性界面,然后点击“Targets”选项卡,

则在此选卡的“Targets”列表框显示了连接的状态,如下图:

此时的状态是“inactive,表示是“不活动的”,说明还没有和服务端连接上,这时我们需要点击“log on”按钮,则弹出“log on to target”对话框,同时选择“automatically restore this connection when the system boots”,如下图所示:

点击“OK”,返回属性界面,则在此选卡的“Targets”列表框显示了连接的状态为:connected,如下图:

步骤2、在完成以上设置以后,再来看一下客户端磁盘管理里磁盘情况,如下图:

此时,出现了一个没有初始化的磁盘,这样按照磁盘管理的方式,初始化磁盘,建立分区,即可。如下图:

这样组合a的操作指南就完毕了,如果有多个客户端连接服务端,则需要在服务端对应“iscsi targets”中设置客户端访问的IP地址,如有多个客户端访问“clientISCSI”则需要在节点“clientISCSI”属性中,添加客户端访问的权限,如下图:

同时在客户端的配置,就和上面讲述的客户端设置一样,即可完成。

2、 使用组合b的操作指南

同样在这里使用两台虚拟机来做实验,一个作为提供共享存储的服务端,IP地址:192.168.200.191,一个作为连接存储的客户端,IP地址:192.168.200.200。此时虚拟机的NetWorkingAdapter选择是local only.

a.  IP地址是192.168.200.191的服务器上,安装服务端软件StarWind.使用默认配置,选择下一步,直到完成安装。安装过程省略。

b.  IP地址是192.168.200.200的服务器上,安装客户端软件Initiator.使用默认配置,选择下一步,直到完成安装。

c.  配置服务端共享磁盘,在IP地址为192.168.200.191的服务器上配置。

步骤1、从“开始”-“所有程序”-“Rocket Division Software”-“StarWind”选择“StarWind”,打开StarWind的管理界面如下图:

右键单击“connections”节点下的localhost:3260,选择“connect”,如图所示:

选择“connect”以后,灰色的图标变成了蓝色的可用图标,如图下图所示:

即此时可以此连接的端口下建立共享的虚拟磁盘,即localhost:3260,也就是安装该软件的服务器端。右键单击“localhost:3260”,选择“Add device,则进入建立虚拟磁盘向导界面,选择“Image File Device,如下图所示:

点击“下一步”,选择“Create new Image”,如下图所示:

点击“下一步”,为建立的虚拟磁盘文件选择存储路径,其他的选项采用缺省设置,如下图:

点击“下一步”,选择通过iscsi客户端访问的mode,一般选择下列设置,如下图所示:

点击“下一步”,选择一个“target name(此命名好像不能有下划线),主要用于客户端连接服务端时,会显示出来。输入我们命名为:iscsig,如下图:

点击“下一步”,直到向导完成。则刷新节点“localhost:3260,则会出现如下图所示的虚拟磁盘列表。

这样,在服务器端的设置,就完毕了,而客户端的设置如同组合a中客户端的设置一样,在这里就不做介绍了。

 

说明:本文介绍两种工具最基本的配置共享虚拟磁盘的方法的目的在于为了虚拟机做数据库群集,而并不是讲解这两种工具本身的,如果真正想对这两种工具有深入的研究,请参考以下资料。

    写的比较匆忙,文档里难免没有错误,如果有,还请谅解,希望大家可以相互交流,谢谢。
 
五、参考资料
Starwind参考资料:

 

wintarget参考资料: