基于本地的ipsan的存储实现(无推送和枷锁机制)

ipsan存储服务器的实现(属于本地的没有推送和锁机制)

实验的目的是为了当高可用性群集时,呈现给用户的是同一个东西,所以需要在建一个存储服务器,当做io操作时是对这台存储服务器做的配置。

实现步骤:

1.首先配置存储服务器端,需要安装一个target的软件包

[[email protected] ~]# mount /dev/cdrom /mnt/cdrom/ (挂载光盘)

mount: block device /dev/cdrom is write-protected, mounting read-only

[[email protected] ~]# cd /mnt/cdrom/ClusterStorage/ (进入群集的仓库,需要配置Cluster的仓库)

[[email protected] ClusterStorage]# ll |grep target (过滤与target有关的)

-r--r--r-- 239 root root 113817 2008-12-16 scsi-target-utils-0.0-5.20080917snap.el5.i386.rpm

yum安装,如果安装不上,用rpm -ivh 安装

[[email protected] ClusterStorage]# yum install scsi-target-utils-0.0-5.20080917snap.el5.i386.rpm 

[[email protected] ClusterStorage]# rpm -ivh scsi-target-utils-0.0-5.20080917snap.el5.i386.rpm 

error: Failed dependencies:

perl(Config::General) is needed by scsi-target-utils-0.0-5.20080917snap.el5.i386

[[email protected] ClusterStorage]# rpm -ivh perl-Config-General-2.40-1.el5.noarch.rpm  (为解决依赖的关系需要先把这个软件包安装上)

Preparing...                ########################################### [100%]

   1:perl-Config-General    ########################################### [100%]

[[email protected] ClusterStorage]# rpm -ivh scsi-target-utils-0.0-5.20080917snap.el5.i386.rpm 

查看软件安装以后形成的文件目录。

[[email protected] ClusterStorage]# rpm -ql scsi-target-utils

/etc/rc.d/init.d/tgtd (脚本文件)

/etc/sysconfig/tgtd

/etc/tgt/targets.conf (主配置文件)

/usr/sbin/tgtadm (管理工具文件)

/usr/sbin/tgtd

[[email protected] ClusterStorage]# service tgtd start (开启服务)

Starting SCSI target daemon:                               [确定]

[[email protected] ClusterStorage]# chkconfig tgtd on

2.新添加一块磁盘,对其进行分区 (文件的格式化不需要在存储服务器上做,可以再提供服务的服务器上做)

[[email protected] ClusterStorage]# fdisk -l (查看分区)

[[email protected] Server]# fdisk /dev/sdb (分区)

ipsan存储服务器的实现(属于本地的没有推送和锁机制)

[[email protected] ~]# partprobe /dev/sdb (使分区立即生效)

[[email protected] ~]# cat /proc/partitions  (查看分区是否生效)

3.target管理工具进行管理 (可以通过man 帮助)

[[email protected] ClusterStorage]# tgtadm --lld iscsi --op new --mode target --tid 1 --targetname iqn.2012-12.com.target:disk  (添加控制器)

参数的理解

 tgtadm --lld(驱动类型) iscsi --op(进行的操作) new --mode(模式类型) target --tid 1 (编号)--targetname iqn.2012-12.com.target:disk (控制器的名字)

[[email protected] ClusterStorage]# tgtadm --lld iscsi --op new --mode=logicalunit --tid=1 --lun=1 --backing-store /dev/sda2 (添加逻辑单元是由控制器所管理的)

下面这条命令是做验证的,是对ip地址的验证,可以用这条命令(重启后就没哟),还可以改一个配置文件,永久的。

[[email protected] ClusterStorage]# tgtadm --lld iscsi --op bind --mode=target --tid=1 --initiator-address=192.168.2.0/24

[[email protected] ~]# vim /etc/tgt/targets.conf (编辑这个文件)

ipsan存储服务器的实现(属于本地的没有推送和锁机制)

查看现在的target的管理

[[email protected] ClusterStorage]# tgtadm --lld iscsi --op show --mode target

4.客户端initiator上的配置,需要安装一个iscsi,客户端的软件

[[email protected] ~]# cd /mnt/cdrom/Server/

[[email protected] Server]# ll |grep iscsi 

-r--r--r--  55 root root   579386 2008-12-18 iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm

[[email protected] Server]# rpm -ivh iscsi-initiator-utils-6.2.0.868-0.18.el5.i386.rpm 

[[email protected] Server]# rpm -ql iscsi-initiator-utils

[[email protected] Server]# vim /etc/iscsi/initiatorname.iscsi (改变受管理时的名字

InitiatorName=iqn.2012-12.com.a.target:hua1

[[email protected] Server]# service iscsi start

[[email protected] Server]# chkconfig iscsi on

5.客户端需要两步:第一步:发现 。第二步:连接

发现

[[email protected] Server]# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.4

192.168.1.4:3260,1 iqn.2012-12.com.a.target:disk

连接

[[email protected] Server]# iscsiadm --mode node --targetname iqn.2012-12.com.a.target:disk --portal 192.168.1.4:3260 --login

Logging in to [iface: default, target: iqn.2012-12.com.a.target:disk, portal: 192.168.1.4,3260]

Login to [iface: default, target: iqn.2012-12.com.a.target:disk, portal: 192.168.1.4,3260]: successful

成功连接

[[email protected] Server]# fdisk -l (查看现在的磁盘会发现已经多了一个磁盘)

对这个磁盘分区,然后格式化

[[email protected] Server]# fdisk /dev/sdb

[[email protected] Server]# mkfs -t ext3 /dev/sdb1

6.新建一个挂载点,可以把这个磁盘挂载到本地

[[email protected] Server]# mkdir /mnt/hua

[[email protected] Server]# mount /dev/sdb1 /mnt/hua/