Chinaunix首页 | 论坛 | 博客
  • 博客访问: 211015
  • 博文数量: 55
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1126
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-22 15:15
个人简介

积累经验

文章分类

全部博文(55)

文章存档

2014年(55)

分类: 服务器与存储

2014-01-23 00:30:57

多路冗余(Multipathing

1. 多路径连接同一存储设备保证冗余的高可用性

○ 如果网络总线适配器(HBA)或者网络接口失效,可以通过额外的路径保证存储设备的可用性

2. 支持光纤通道(FC)、网络SCSI (iSCSI)和全局网络块设备(GNBD

多路冗余的好处在于当节点于SAN共享存储设备连接出现异常的时候,节点可以使用额外的路径尝试继续操作存储设备。业界Multipath I/O相关的软件不下几十种,但商业软件居多,开源的以Device Mapper著名,它也是 Linux Kernel 支持的多路径 IO 软件解决方案。Devies Mapper Mulitpath (dm-multipath) 允许节点在多路径中选择存储控制器。

 

GFS2文件系统概述

RedHatGFS2文件系统是包含在RedHat Enterprise Linux 4 以上发行版内核中的,是固有文件系统,可以直接和Linux内核虚拟文件系统层(VFS层)交互。GFS2作为RedHat集群文件系统采用分布式元数据和多日志方式(multiple journal),并且RedHat仅支持GFS2文件系统作为高可用性集群文件系统部署使用。

GFS2:全局文件系统第二版,GFS2是应用最广泛的集群文件系统。它是由红帽公司开发,允许所有集群节点并行访问。元数据通常会保存在共享存储设备或复制存储设备的一个分区里或逻辑卷中。

 

Multipath是以设备映射的方式实现LUN设备的持久化、多路径轮询的一种技术。

实验目的:通过RHCS集群套件搭建GFS2集群文件系统,保证不同节点能够同时对GFS2集群文件系统进行读取和写入,其次通过multipath实现nodeFCFCShare Storage之间的多路冗余,最后实现存储的cmirror复制达到高可用。



实验步骤:

1.   初始化环境

server*2 双网卡桥接

storage*2 双网卡 双硬盘

同步/etc/hosts文件

确认yum

清空保存防火墙

2.   server*2配置集群环境 (主播地址)

server1: luci , ricci        (ricci用户添加密码)

server2: ricci

gfs 集群化文件系统 clvmd 服务 cmirrord服务

3.   storage1 划分区并使用tgtd导出

scsi_id xxx(自定义唯一性) ,wwid识别共享存储设备

4.   server1,2导入

安装multipath配置文件

生成multipath配置文件

复制范例修改

启动服务

5.   clvmd

pvcreate   vgcreate  lvcreate

6.   安装cmirror

启动cmirrord (server1,2)

lvconvert lv做成镜像方式

dmsetup ls –tree

7.   mkfs.gfs2 格式化lv

挂载测试:先停storage1

                 ifdown storage2

 

实验环境:Red Hat Enterprise Linux Server release 6.3
4台机器,2server做集群,2storageraid1,storage1lvm共享存储,storage21的镜像。

server双网卡配置2个网段,storage双网卡,双硬盘:

192.168.10.1 server1.uplooking.com server1

192.168.11.1 server1.uplooking.com server1

192.168.10.2 server2.uplooking.com server2

192.168.11.2 server2.uplooking.com server2

 

192.168.10.100 storage1.uplooking.com storage1

192.168.11.100 storage1.uplooking.com storage1

192.168.10.101 storage2.uplooking.com storage2

192.168.11.101 storage2.uplooking.com storage2

 

一.配置机器

复制虚拟机system.img文件到/var/lib/libvirt/images/

账号密码:root uplooking

4台虚拟机修改主机名,配置网络system-config-network-tui,确认新增eth1网卡onboot=yes,同步hosts文件,reboot

4台机器yum install openssh-clients –y (scpssh)

真机绑IP

ifconfig br0:101 192.168.101.200              10网段任意IP

ifcofnig br0:110 192.168.110.200

 

二.Server1-2集群

server1:luci ricci

echo uplooking|passwd –stdin ricci

service luci start

sevice ricci start

iptable –F

service iptables save

server2:ricci

echo uplooking|passwd –stdin ricci’

sevice ricci start

iptable –F

service iptables save

server1:

       点击undent,…

       账号密码:root uplooking

       create new cluster=>name=>选中1.use the same password for all nades 2.Download package 3.enable share storage support

       =>输入2serverIP或主机名=>查看是否5个服务都running


       添加集群失败重新添加:

       1.2台机器luci ricci服务停止

       2.rm –rf /etc/cluster 删除集群配置目录文件

       3.重启机器

       4.重启服务,重新添加集群。

 

三.导入共享存储

导出端:yum install scsi* -y

导入端:yum install iscsi* -y

storage1:

       yum install scsi* -y

       iptables –F

       service iptables save

fdisk –l /dev/vdb 查看第2个硬盘是否存在

fdisk /dev/vdb 分区2G

       ls /dev/vdb1

       vi /etc/tgt/target.conf

      

          定义名称

              scsi_id ST2G7200X01  自定义wwid需唯一(光纤使用wwid)

      

service tgtd start

tgtadm --lld iscsi --mode target –op show 查看共享存储是否导出 scsi_id

server1-2:做相同操作导入共享存储

yum install iscsi* -y

       iscsiadm –m discovery –t st –p 192.168.10.100  (发现同时起服务)

       iscsiadm –m discovery –t st –p 192.168.11.100

       issciadm –m node –l    2个全部导入

       ls /dev/sd*                   应该有2sda sdb

       yum install device-mapper* -y    安装设备映射

       ls /etc/multipath.conf                不存在

       mpathconf --enable                   生成配置模板

       yum install vim –y

       vim /etc/multipath.conf

              multipath{} 找到范例,复制修改,

1.      删除简单mulitipath范例,保留详细的子范例。(一个设备对应一个mulitipath{})

2.      wwid  1ST2G7200x001

通过以下命令获取wwid2个应该相同(同一个存储设备)

scsi_id –g –u /dev/sda

scsi_id –g –u /dev/sdb  

3.      alias storage1

4.      path_checkor 删除这一行,rhel不支持

5.      path_slector “round-robin 0”  round-robin负载均衡,0表示冗余

/etc/init.d/multipathd start

ls /dev/mapper/     查看multpath设备是否生成

       fdisk /dev/vdb分区2G,和stroage1一样.

       Yum install scsi* -y

       Vim /etc/tgt/target.conf

      

             

                     scsi_id ST2G7200X002              和storage1wwid不同

              <\backing-store>

       <\target>

service tgtd start

       iptables –F

       service iptables save

server1-2:导入storage2

       iscsiadm –m discovery –t st –p 192.168.10.101

       iscsiadm –m discovery –t st –p 192.168.11.101

       iscsiadm –m node -l

       ls /dev/sd*            2个设备,现在有4sda sdb sdc sdd

server1:获取wwid号:

       scsi_id –g –u /dev/sdc   (同一存储设备wwid相同)

       scsi_id –g –u /dev/sdd

       vim /etc/mutlipath.conf

              复制storage1的mutlipath{}修改

1.      wwid 1ST 2G7200X002  通过scsi_id命令获取

2.      alias storage2

3.     

/etc/init.d/multipathd restart

server2: scp 192.168.10.1:/etc/mutlipath.conf /etc

server2:/etc/init.d/mulipathd restart

server1:

ls /dev/mapper      2storage1 storage2

pvcreate /dev/mapper/storage2

pvs

       server2pvs 也能看到(做过集群,server1创建PVserver2同时生成)

       vgcreate cvg /dev/mapper/storage1     创建VG

       vgextend cvg /dev/mapper/storage2    扩展VG

       lvcreate –L 100 cvg –n clv1               创建LV

       dmsetup ls --tree              查看映射汇总信息


       dmsetup table                            查看映射表

       创建镜像:lv原来在storage1上,现在需要在storage2产生镜像,并且以后storage2以镜像方式写数据。

       yum install cmirror –y      server1-2都要安装,集群镜像

       /etc/init.d/cmirrord start

       lvconvert –m 1 /dev/cvg/clv1 /dev/mapper/storage1 /dev/mapper/storage2    LV越大转换时间越长

       2种方式做镜像:

       1.在创建lv同时创建镜像,通过参数指定。 

2.先创建lv再转换成镜像,通过lvconvert转换,-m 1 镜像参数。在同一个cvg,同一个clv1中2个节点做镜像。

       dmsetup ls --tree        这次和上一次不一样

 

测试:一个存储挂掉,看看是否还能读写

server1:

       mkfs.gfs2 –p lock_dlm –j 2 –t my_cluster:lock2 /dev/cvg/cvl1

       mount /dev/cvg/clv1 /opt    

       cd /opt

       ls

       echo 1234 > file1

server2: mount /dev/cvg/clv1 /opt

       cat /opt/file          

       storage1         电源关掉后读file文件

server1-2cat file1      5分钟以内-高可用性

       显示1234         说明storage2上有相同镜像

 

测试2

       storage2:

       ifdown eth0

       ifconfig

       ping 192.168.10.101      ping不通说明坏了

       server1:echo 1111 > file2   写入数据后继续等待

       server2:multipath ll            也要等待,查看状态,是否running

      

 

 

 

 

 

阅读(3422) | 评论(0) | 转发(0) |
0

上一篇:scsi设备热插拔

下一篇:维护归档日志

给主人留下些什么吧!~~