如下内容要利用到drbd的双主模型,并且要加上集群文件系统OCFS2,构建一个共享存储方案:
只用drbd设备的话,当两个节点同时网一个文件系统写数据会导致文件系统崩溃,而应以OCFS2集群文件系统,会提供一个文件锁管理器,防止文件系统崩溃。
一,DRBD的介绍及配置过程:
DRBD:(distributed replication block device)即分布式复制块设备。它的工作原理是:在A主机上有对指定磁盘设备写请求时,数据发送给A主机的kernel,然后通过kernel中的一个模块,把相同的数据传送给B主机的kernel中一份,然后B主机再写入自己指定的磁盘设备,从而实现数据的备份,并能解决数据文件集中存放的问题,这是一种企业常用的廉价备份机制。
DRBD一般是一主一从,并且所有的读写操作只能在主服务器上进行,并且从节点设备也不能挂载,但是主从服务器之间是可以进行调换的。
下面为drbd的配置过程:
前提:
1)本配置共有两个测试节点,分别node1.magedu.com和node2.magedu.com,相应的IP地址分别为172.16.30.4和172.16.30.6;
2)node1和node2两个节点上各提供了一个大小相同的分区作为drbd设备;我们这里为在两个节点上均为/dev/sda5,大小为512M;(请事先建好)
# fdisk /dev/sda (不要格式化)
# partprobe /dev/sda
3)系统为rhel5.4,x86平台;
1、准备工作
两个节点的主机名称和对应的IP地址解析服务可以正常工作,且每个节点的主机名称需要跟"uname -n“命令的结果保持一致;因此,需要保证两个节点上的/etc/hosts文件均为下面的内容:
172.16.30.4 node1.magedu.com node1
172.16.30.6 node2.magedu.com node2
为了使得重新启动系统后仍能保持如上的主机名称,还分别需要在各节点执行类似如下的命令:
Node1:
# sed -i 's@\(HOSTNAME=\).*@\1node1.magedu.com@g' /etc/sysconfig/network
# hostname node1.magedu.com
Node2:
# sed -i 's@\(HOSTNAME=\).*@\1node2.magedu.com@g' /etc/sysconfig/network
# hostname node2.magedu.com
设定两个节点可以基于密钥进行ssh通信,这可以通过类似如下的命令实现:
Node1:
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
Node2:
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
2、安装软件包
drbd共有两部分组成:内核模块和用户空间的管理工具。其中drbd内核模块代码已经整合进Linux内核2.6.33以后的版本中,因此,如果您的内核版本高于此版本的话,你只需要安装管理工具即可;否则,您需要同时安装内核模块和管理工具两个软件包,并且此两者的版本号一定要保持对应。
目前在用的drbd版本主要有8.0、8.2和8.3三个版本,其对应的rpm包的名字分别为drbd, drbd82和drbd83,对应的内核模块的名字分别为kmod-drbd, kmod-drbd82和kmod-drbd83。各版本的功能和配置等略有差异;我们实验所用的平台为x86且系统为rhel5.4,因此需要同时安装内核模块和管理工具。我们这里选用最新的8.3的版本(drbd83-8.3.8-1.el5.CentOS.i386.rpm和kmod-drbd83-8.3.8-1.el5.centos.i686.rpm),下载地址为:。
实际使用中,您需要根据自己的系统平台等下载符合您需要的软件包版本
下载完成后在两个节点上直接安装即可:
# yum -y --nogpgcheck localinstall drbd83-8.3.8-1.el5.centos.i386.rpm kmod-drbd83-8.3.8-1.el5.centos.i686.rpm