设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

使用HA-LVM实现高可用存储

2015-3-10 21:39| 发布者: joejoe0332| 查看: 2825| 评论: 0|原作者: theboy, 吴利明|来自: oschina

摘要: 近年来,有一种趋势是数据中心优先选择商用的硬件和软件而非采用专利的解决方案的商品。他们为什么不能这样做呢?这种做法具有非常低的成本并且可以以更有 利的方式来灵活地构建生态系统。唯一的限制是管理员想象的 ...

  近年来,有一种趋势是数据中心优先选择商用的硬件和软件而非采用专利的解决方案的商品。他们为什么不能这样做呢?这种做法具有非常低的成本并且可以以更有 利的方式来灵活地构建生态系统。唯一的限制是管理员想象的空间有多大。然而,一个问题要问:“与专利的和更昂贵的解决方案相比较,这样的定制解决方案表现 如何呢?” 


  开放源码项目已经发展成熟到了具有足够的竞争力,并提供相同的功能丰富的解决方案,包括卷管理,数据快照,重复数据删除等。虽然经常被忽视的,长期支持的概念是高可用性。


  高可用性的想法很简单:消除任何单点故障。这保证了如果一个服务器节点或一个底层存储路径停止工作了(计划或非计划的),还依然可以提供数据请求服务。现在存储部署的解决方案都是多层结构的,并且是可以为高可用性进行配置的,这就是为什么本文严格关注HA-LVM。


HA-LVM

  高可用性的逻辑卷管理器(HA-LVM)已经集成了LVM的套件。它提供共享卷一个故障转移的配置,也就是说如果集群中的一台服务器出现故障或进行 维护,共享存储配置将故障转移到辅助服务器上,所有I / O请求将恢复,不间断的。HA-LVM配置是一个主/从配置。这意味着在任何一个时间只有一个服务器访问共享存储。在许多情况下,这是一种理想的方法,因 为一些先进的LVM的功能,如快照和重复数据删除,在主/从环境下是不支持的(当多个服务器访问共享存储)。

  CLVM(LVM集群的守护进程)是HA-LVM一个非常重要的组件。当启动HA-LVM后,CLVM守护进程会防止有多台机器同时对共享存储做修 改,否则对LVM的元数据和逻辑卷会造成破坏。尽管在采用主从配置时,这样的问题并不需要太多担心。要做到这一点,守护进程得依赖于分布锁管理器 (DLM). DLM的目的也是协助CLVM访问磁盘。


  下面会举一个2台服务器的集群访问一个外部存储的例子(图一)。 这个外部存储可以是采用磁盘阵列形势的(RAID-enabled) 或者磁盘簇(JBOD)形式的磁盘驱动器,可以是通过光纤信道(Fibre Channel),串行连接(SAS),iSCSI或者其他的存储区域网络及其协议(SAN)接入到服务器的。这个配置是与协议无关的,只要求集群中的服务器能访问到同一共享数据块设备。



图一.举例两台服务器访问同一个共享存储的配置


CLVM

  MD RAID还不支持集群,所有也就不能兼容CLVM.


CLVM 守护进程

  CLVM 守护进程会将LVM元数据的更新分发到整个集群中,前提是集群中的每个节点都必须运行守护进程。


磁盘簇

  磁盘簇(就是一堆磁盘)是一种使用多个磁盘驱动器的架构,但是不支持具有冗余能力的配置。


配置集群

  几乎所有的Linux发行套件都提供必要的工具包。但是,工具包的名字可能各有差异。你需要安装lvm2-clumster(在部分发行套件中,可能命名 为clvm),Corosync集群引擎,红帽集群管理器(cman),资源组管理进程(rgmanager),还有所有其他运行在服务器上的独立的工 具。尽管红帽集群管理器的描述中就包含了“红帽”的发行套件的名字,但是其他与红帽无关的大多数Linux的发行套件还在会把cman列在他们的资源库中。


  当集群中所有的服务器都安装好合适的集群工具包后,必须修改集群配置文件来启动集群。创建文件/etc/cluster/cluster.conf,如下编辑内容就可以了:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<cluster name="lvm-cluster" config_version="1">
    <cman two_node="1" expected_votes="1" />
    <clusternodes>
        <clusternode name="serv-0001" nodeid="1">
            <fence>
            </fence>
        </clusternode>
        <clusternode name="serv-0002" nodeid="2">
            <fence>
            </fence>
        </clusternode>
    </clusternodes>
    <logging debug="on">
    </logging>
    <dlm protocol="tcp" timewarn="500">
    </dlm>
    <fencedevices>
    </fencedevices>
    <rm>
    </rm>
</cluster>


  强调一下clusternode的名字是主机名(按需修改),而且务必保证所有集群中的服务器上的cluster.conf文件是一致的。


  启动红帽集群管理器(cman):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo /etc/rc.d/init.d/cman start
Starting cluster: 
   Checking if cluster has been disabled at boot...   [  OK  ]
   Checking Network Manager...                        [  OK  ]
   Global setup...                                    [  OK  ]
   Loading kernel modules...                          [  OK  ]
   Mounting configfs...                               [  OK  ]
   Starting cman...                                   [  OK  ]
   Waiting for quorum...                              [  OK  ]
   Starting fenced...                                 [  OK  ]
   Starting dlm_controld...                           [  OK  ]
   Tuning DLM kernel config...                        [  OK  ]
   Starting gfs_controld...                           [  OK  ]
   Unfencing self...                                  [  OK  ]
   Joining fence domain...                            [  OK  ]


  如果集群中的某个节目没有激活,它的状态显示为离线:

1
2
3
4
5
6
7
8
sudo clustat
Cluster Status for lvm-cluster @ Sun Aug  3 11:31:51 2014
Member Status: Quorate
 
 Member Name                 ID   Status
 ------ ----                 ---- ------
 serv-0001                        1 Online, Local
 serv-0002                        2 Offline


  如果所有服务器都配置好了,cman服务也启动了,所有节点显示状态为在线:

1
2
3
4
5
6
7
8
sudo clustat
Cluster Status for lvm-cluster @ Sun Aug  3 11:36:43 2014
Member Status: Quorate
 
 Member Name                 ID   Status
 ------ ----                 ---- ------
 serv-0001                        1 Online
 serv-0002                        2 Online, Local


  现在你就有一个集群的工作环境了。下一步就是启动CLVM的高可用模式。当前场景中,你只有2台服务器共享的存储中的一个卷,这2台服务器都可以监视和访问/dev/sdb中的数据。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部