- 求职 : Linux运维
- 论坛徽章:
- 19
|
本文将使用RedHat Enterprise Linux5.1系统分别建立基于LinuxIscsi应用示例,帮助大家理解Iscsi以及SAN对于企业应用服务器部署的意义。
1、安装LinuxIscsi服务器端
在安装好RedHat Enterprise Linux5.1主机上为了增强数据的安全性和完整性、服务器网络连接的高可用性及吞吐量我们使用SoftwareRAID建立RAID10盘阵并使用bonding实现双网卡负载均衡(详细创建过程请参考相关资料),以下信息是建好RAID10盘阵并使用bonding实现双网卡负载均衡后查看到的系统信息:
1、盘阵信息可以通过查看/proc/mdstat文件获得:
在[root@akczftp ~]#处输入命令 cat /proc/mdstat
系统返回如下信息:
Personalities : [raid1] [raid0]
md3 : active raid0 md0[0] md2[2] md1[1]
234443904 blocks 128k chunks
md2 : active raid1 sdf1[0] sdg1[1]
78148096 blocks [2/2] [UU]
md1 : active raid1 sdd1[0] sde1[1]
78148096 blocks [2/2] [UU]
md0 : active raid1 sdb1[0] sdc1[1]
78148096 blocks [2/2] [UU]
unused devices: <none>
我们可以看到RAID10盘阵组成以及盘阵工作状态。
2、Bonding信息可以通过查看/proc/net/bonding/bond0文件获得:
在[root@akczftp ~]#处输入命令 cat /proc/net/bonding/bond0
系统返回如下信息:
Ethernet Channel Bonding Driver: v3.1.2 (January 20, 2007)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:11:25:65:1f:38
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:e0:8c:fc:ba:0e
在此基础上我们将安装LinuxIscsi服务器需要的服务器端软件iscsitarget,该软件可以从http//iscsitarget.sourceforge.net/进行下载,目前最新版本是0.4.16,下载完后在本地下载保存目录中应该出现iscsitarget-0.4.16.tar.gz文件,注意:安装要2.6.14以上内核。在[root@akczftp opt]# uname –a
系统返回如下信息:
Linux akczftp.xatlj 2.6.21-1.3194.fc7 #1 SMP Wed May 23 22:35:01 EDT 2007 i686 i686 i386 GNU/Linux
2.6.21-1.3194.fc7即为该系统Linux内核(Kernel)版本。
Iscsitarget具体安装步逐如下:
1、在[root@akczftp opt]#处输入命令tar -zxf iscsitarget-0.4.15.tar.gz //解压该tar包
2、在[root@akczftp opt]#处输入命令cd iscsitarget-0.4.16 //进入解压后生成的安装文件目录
3、依次在[root@akczftp iscsitarget-0.4.16]#处输入以下命令
make
make kernel
make usr
make KSRC=/usr/src/kernels/2.6.21-1.3194.fc7-i686/ install-man
make KSRC=/usr/src/kernels/2.6.21-1.3194.fc7-i686/ install-kernel
make KSRC=/usr/src/kernels/2.6.21-1.3194.fc7-i686/ install-usr
make KSRC=/usr/src/kernels/2.6.21-1.3194.fc7-i686/ install-init
make KSRC=/usr/src/kernels/2.6.21-1.3194.fc7-i686/ install-etc
chkconfig --add iscsi-target
4、在[root@akczftp opt]#处输入命令vi /etc/ietd.conf对/etc/ietd.conf文件进行配置,以下内容是我的配置实例
Target iqn.2008-04.xatlj.akczftp:storage.disk2.sys1.xyz
# Users, who can access this target. The same rules as for discovery
# users apply here.
# Leave them alone if you don't want to use authentication.
#IncomingUser joe secret
#OutgoingUser jim 12charpasswd
# Logical Unit definition
# You must define one logical unit at least.
# Block devices, regular files, LVM, and RAID can be offered
# to the initiators as a block device.
Lun 0 Path=/dev/md3,Type=fileio
Alias iDISK0
# Alias Test
# various iSCSI parameters
# (not all are used right now, see also iSCSI spec for details)
#MaxConnections 1
#InitialR2T Yes
#ImmediateData No
#MaxRecvDataSegmentLength 8192
#MaxXmitDataSegmentLength 8192
#MaxBurstLength 262144
#FirstBurstLength 65536
#DefaultTime2Wait 2
#DefaultTime2Retain 20
#MaxOutstandingR2T 8
#DataPDUInOrder Yes
#DataSequenceInOrder Yes
#ErrorRecoveryLevel 0
#HeaderDigest CRC32C,None
#DataDigest CRC32C,None
# various target parameters
#Wthreads 8
上面这一行中的“Target iqn.2008-04.xatlj.akczftp:storage.disk2.sys1.xyz
”这是 Target 名称,称作‘iSCSI Qualified Name'(简称:iqn),这格式在 iSCSI 规格书中有详细说明
iqn.yyyy-mm.<reversed domain name>[:identifier]
格式 意义 范例
yyyy-mm 年份-月份 2008-04
reversed domain name 倒过来的网域名称 xatlj.akczftp
identifier 识别代号 storage.disk2.sys1.xyz
LUN(Logical Unit Number),“#Lun 0 Path=/dev/md3,Type=fileio”这一行中, Path 改成您提供的硬盘名称,此例为“Path=/dev/md3”。我们可以使用像是区块装置(Block devices,例 /dev/sdc)、一般档案(regular files)、LVM 逻辑卷轴(Logical Volume)与磁碟阵列(RAID)提供给 Initiators 主机当做‘区块装置’(硬盘)。
5、在[root@akczftp etc]#处输入/etc/init.d/iscsi-target start启动iscsi-target服务。
6、在[root@akczftp etc]# 处输入cat /proc/net/iet/volume命令检查启动后的iscsi-target,如果系统返回如下信息
tid:1 name:iqn.2008-04.xatlj.akczftp:storage.disk2.sys1.xyz
lun:0 state:0 iotype:fileio iomode:wt path:/dev/md3
说明iscsi-target服务已经正常工作。
到此Iscsitarget服务器安装工作结束,下面将进行客户端程序的安装配置
2、安装配置Iscsi客户端
Iscsi客户端程序可以部署在Linux机器上,也可以部署在Windows机器上,或者由他们来共同使用Iscsi服务器提供的“存储设备”,下面我们就分别对Linux和Windows的Iscsi客户端进行配置
1、安装配置LinuxIscsi客户端
在RHEL5.1系统中, 生成并查看Iscsi启动器的名称
在[root@akczdns etc]#处输入命令
echo "InitiatorName=`iscsi-iname`" > /etc/iscsi/initiatorname.iscsi
在[root@akczdns etc]#处输入命令
cat /etc/iscsi/initiatorname.iscsi,系统返回如下信息
InitiatorName=iqn.2005-03.com.redhat:01.9fd8e65dd7f8
在RHEL5.1系统中, 配置iSCSI启动器服务
在[root@akczdns etc]#处输入命令 vi /etc/iscsi/iscsid.conf (iSCSI启动器服务的配置文件,按照具体情况修改相关行内容)
node.startup = automatic
node.session.auth.authmethod = CHAP
node.session.auth.username = iqn.2005-03.com.redhat:01.9fd8e65dd7f8
node.session.auth.password = 01.9fd8e65dd7f8
在[root@akczdns etc]#处输入命令chkconfig iscsi --level 35 on
在Storbridge系统中, 创建并分配一个iSCSI共享
通过共享管理-iSCSI共享, 使用iSCSI共享虚拟磁盘创建一个iSCSI共享;
根据第3步得到的iSCSI启动器的名称, 使用CHAP认证模式进行分配;
启动器名称: iqn.2005-03.com.redhat:01.9fd8e65dd7f8
启动器口令: 01.9fd8e65dd7f8
在RHEL5系统中, 启动iSCSI启动器服务
在[root@akczdns etc]#处输入命令service iscsi start
在RHEL5系统中, 使用iSCSI存储
在[root@akczdns etc]#处输入命令rm -rf /var/lib/iscsi/nodes/*
在[root@akczdns etc]#处输入命令rm -rf /var/lib/iscsi/send_targets/*
在[root@akczdns etc]#处输入命令iscsiadm -m discovery -t st -p 10.109.1.59 (发现)
10.109.1.59:3260,1 iqn.2008-04.xatlj.akczftp:storage.disk2.sys1.xyz
在[root@akczdns etc]#处输入命令iscsiadm -m node -T iqn.2001-04.xatlj.akczftp:storage.disk2.sys1.xyz -p 10.109.1.59 -l (登录)
在[root@akczdns etc]#处输入命令sfdisk -s
/dev/rd/c0d0: 71802880
/dev/sda: 234443904
total: 306246784 blocks
其中/dev/sda就是我们的Iscsi存储设备
这样我们就可以象使用本地磁盘那样对它进行分区、格式化等操作,这里不再阐述。
2、安装配置WindowsIscsi客户端
微软建议, iSCSI软件启动器的运行环境
Windows Server 2003 SP1 or higher
Windows 2000 with the latest service pack/security pack
Windows XP SP2 or higher
在Win2000系统中, 下载并安装最新的微软iSCSI软件启动器
在Win2000系统中, 查看iSCSI启动器的名称
在Storbridge系统中, 创建并分配一个iSCSI共享
通过共享管理-iSCSI共享, 使用iSCSI共享虚拟磁盘创建一个iSCSI共享;
根据第3步得到的iSCSI启动器的名称, 使用CHAP认证模式进行分配; (设置CHAP认证, 目标器端)
启动器名称: iqn.1991-05.com.microsoft:akczdsz.xatlj
启动器口令: akczdsz.xatlj
在Win2000系统中, 发现iSCSI目标器
点击Target Portals的Add, 输入Storbridge系统的IP地址
点击OK, 回到iSCSI Initiator属性的对话框, 验证Target Portals中的内容
在Win2000系统中, 察看和登录iSCSI目标器
点击Log On
选中Automatically restore this connection when the system boots
点击Advanced, 选择Local Adapter,Source IP和Target Portal
选中CHAP logon information, 根据第3步设置填写CHAP认证信息
点击确定, 回到Log On to Target的对话框
再点击OK, 回到iSCSI Initiator属性的对话框, 验证目标器的状态是否为Connected
在Win2000系统中, 初始化iSCSI设备
计算机管理-磁盘管理
点击取消
右击磁盘1, 选择签名
点击确定, 回到磁盘管理的界面
右击磁盘1的未指派区域, 选择创建磁盘分区
点击下一步, 选择主磁盘分区, 指定分区大小, 指派驱动器号, 使用NTFS快速格式化分区
重启系统, 察看iSCSI设备
双击我的电脑
双击本地磁盘(E
如果需要在iSCSI设备上运行自动启动的服务, 如LanManServer(文件共享)
iscsicli BindPersistentVolumes
sc config LanManServer depend= MSiSCSI(Win2000系统中, 请下载sc并放到system32目录中)
通过以上内容,我们已经使用LinuxIscsi建立的ISCSI服务部署了一个简单的储存区域网,在此之后,我们还可以将ISCSI服务器部署在HA、集群应用等需要共享盘阵的更高级应用部署中作为快速的、有效的、安全的、健壮存储设备来使用。 |
|