Centos6.5 配置  DRBD8.4.3

   废话不多说,现在开始:

 1.2台虚拟机,Centos6.5系统,系统配置啥的都一样,能互相ping 通。把它们称为A和B。

 2. A: server iptables stop

setenforce 1                 //先把这2台服务器的防火墙和SELINUX关闭。

-------------------------------------------

B: server iptables stop

setenforce 1                 //先把这2台服务器的防火墙和SELINUX关闭。

3.  vim /etc/hosts

192.168.1.170    drbd1.com

192.168.1.171    drbd2.com        //这一步挺重要,统一主机名字,后面就看出来了。

4.把2台虚拟机分别添加一块硬盘:

fdisk -l /dev/sdb --->n-----> p---->1----->回车----->  w  保存。到现在为止,就可以了,不要急着格式化。

5.  A  和 B 时间要同步一下

# ntpdate -u asia.pool.ntp.org

目前为止,准备工作都准备好了,现在接下来迎接客人------DRBD。

a.  安装依赖包(A和B都安装)

#yum install gcc gcc-c++ make glibc flex kernel-devel  kernel-headers

b.   安装drbd包

# wget http://oss.linbit.com/drbd/8.4/drbd-8.4.3.tar.gz

# tar -zxvf drbd-8.4.3.tar.gz

# cd  drbd-8.4.3

#./configure  --prefix=/usr/local/drbd --with-km  这步是安装路径

#  make KDIR=/usr/src/kernels/`uname -r`      把你系统的内核安装好

# make install

# mkdir -p /usr/local/drbd/var/run/drbd

#  cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d/     把命令cp过去

加载DRBD模块是否加载到内核

#modprobe   drbd

查看DRB模块是否加载到内核:

#  lsmod|grep drbd       看一下是否有类似图片中的东西出现

到现在为止,完成一半了,接下来把配置文件配置一下就好了。

#vim  /usr/local/drbd/etc/drbd.conf     打开这个文件以后,默认有红色的2行文字,不用管它,全部删除即可。我们重新配置它。这个文件里的内容,可以分成2个文件配置,也可以在一个文件里配置,我这里在一个文件里配置,功能相同,没有任何影响,完全可以。

resource r0{         #资源名字为r0
                protocol C;            #使用DRBD第3种协议,表示远程主机的写入确认后,认为写入完成。
        startup { wfc-timeout 0; degr-wfc-timeout 120;}
        disk { on-io-error detach;}      #保证数据在不同步时不进行切换
        net{
          timeout 60;
          connect-int 10;
          ping-int 10;
          max-buffers 2048;
          max-epoch-size 2048;
        }
        syncer { rate 200M;}       #主用节点和备用节点同步时的网络速率最大值
        on drbd1.com{                #  drbd1.com是主机名,前面改过了,on 这个字母必须加
          device /dev/drbd0;      
          disk   /dev/sdb1;            #  /dev/drbd0  使用的磁盘分区是/dev/sdb1.
          address 192.168.1.170:7798;    #设置DRBD的监听端口
          meta-disk internal;                    #DRBD的元数据存放方式。
        }
        on drbd2.com{
          device /dev/drbd0;
          disk   /dev/sdb1;
          address 192.168.1.171:7798;
          meta-disk internal;
        }
        }

现在配置完毕。

1) 把drbd.conf 放到A 和B  的/usr/local/drbd/etc/底下,2台服务器的配置一模一样。

启动DRBD:

A:#   drbdadm create-md r0     (我写的这个命令绝对可以,还有一些其他命令和这个命令作用一样,别管别的命令了)

#   drbdadm create-md r0     你没看错,执行2遍这个命令,第一遍是创建DRBD记录信息的数据块,第2遍是激活r0.

B:#   drbdadm create-md r0    
           #   drbdadm create-md r0

2)  A:service drbd start

B:service drbd start   在2台服务器上分别执行这个命令,最好同时进行,我觉的同时进行非常重要!

3)  cat   /proc/drbd     分别在A和B上执行这个命令,看是否和下面的一样,如果2台都是Secondary 就对了。红色代表是都是备用状态,紫色是数据不一致。

drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by [email protected], 2016-01-12 22:16:34
m:res  cs         ro                 ds                 p  mounted  fstype
0:r0   Connected  Secondary/Secondary  Inconsistent/Inconsistent  C

4) 将A主机配置为主节点:

A:  #  drbdsetup   /dev/drbd0  primary -- force

目前为止,分别在A和B上看一下状态。

A服务器::   #  service drbd status

drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by [email protected], 2016-01-12 22:16:34
m:res  cs         ro                 ds                 p  mounted  fstype
0:r0   Connected  Primary/Secondary  Inconsistent/Inconsistent  C

B服务器:   #  service drbd status

drbd driver loaded OK; device status:
version: 8.4.3 (api:1/proto:86-101)
GIT-hash: 89a294209144b68adb3ee85a73221f964d3ee515 build by [email protected], 2016-01-12 22:16:34
m:res  cs         ro                 ds                 p  mounted  fstype
0:r0   Connected  Secondary/Primary Inconsistent/Inconsistent  C

ro在主从服务器上分别显示 Primary/Secondary和Secondary/Primary

ds显示UpToDate/UpToDate

A服务器上挂载DRBD

#  mkfs.ext4  /dev/drbd0

#  mount /dev/drbd0 /mnt

现在为止,全部OK

注意:Secondary节点上不允许对DRBD设备进行任何操作,包括只读。

      只有当Primary节点挂掉时,Secondary节点才能提升为Primary.

      DRBD(Distributed Replicated Block Device),相当于一个RAID1.2台服务器一台用于写,读数据,另一台负责复制。

         

时间: 2024-12-27 22:50:44

Centos6.5 配置  DRBD8.4.3的相关文章

Centos6.4配置总结--安装篇(Ⅰ)

下图是我从官网下载的CentOS-6.4-i386-bin-DVD,有两张光盘,第一张是系统盘,第二张是附属的一些软件.该系统我将要安装到VMware虚拟机上,我的本机是win8 在VMware上新建一台虚拟机,分配内存的时候注意一下,你分配的内存大小会决定你的Linux会以什么的模式安装. 该版本的Linux安装模式有两种,即文本模式和图形模式.文本模式安装的时候会没有自定义分区大小的功能,图形模式有.据说分配的计算机内存必须等于或者大于628M才会启动图形安装模式,我当时分配512M内存的时

Centos6.4配置总结--网络配置(Ⅱ)

Linux的网络配置,常见的就是IP.NETMASK.GATEWAY.DNS的配置. 下面开始给新装的Linux系统配置网络. 通过ifconfig命令发现网络还没有启动起来 [[email protected] ~]# ifconfig lo        Link encap:Local Loopback             inet addr:127.0.0.1  Mask:255.0.0.0           inet6 addr: ::1/128 Scope:Host      

CENTOS6 安装配置 pptpd 心得

1.你所需要的软件 pppd    ppp拨号服务器pptpd   在pppd拨号的基础上增加pptpd的支持 2.确定你的内核是否支持mppe modprobe ppp-compress-18 && echo ok 如果显示ok,那么恭喜,你的内核已经具备了mppe支持.请到第4部分 3.升级内核支持mppe wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpmwget http

Centos6.4配置总结--配置本地yum源(Ⅲ)

用过苹果手机的手机党越狱之后都会装有一个Cydia,然后你想装某些软件可能需要叫你添加源.这里的源和我下面说的Linux的源有类似之处.就是在源对应的服务器上都会有很多软件,只要我们添加了正确的源,很多软件就可以自动从服务器下载安装了. 当然,我装Linux是为了研究系统,下面我就自己配置本地yum源.就是所有软件放在本地,我做好相应的配置之后,输入软件的名称就可以自动匹配安装.而网络上也有很多的源,比如163的开放源. 下面进入正题: 我下载的centos安装包有4G多,系统只是占了一小部分,

centos6.3配置gitlab-7.10.0-omnibus && msmtp+mutt发送邮件

centos6.3配置gitlab-7.10.0-omnibus(使用smtp服务进行邮件发出) 1.依赖包安装 yum install openssh-server cronie -y #yum install postfix  //使用sendmail进行发送邮件需要安装,但是没有配置成功,这里采取smtp服务器进行邮件发出,故不再安装postfix. #service postfix start #chkconfig postfix on lokkit -s http -s ssh 2.下

CentOS6.5配置vim使支持Python

CentOS6.5下开启vim对python的支持,配置方法如下: 1.检查系统已经安装了RPM包vim-enhenced; 2.复制默认的.vimrc初始化文件: # cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc 3.配置.vimrc文件: #vi ~/.vimrc 添加以下内容: set tapstop=4 set softtapstop=4 set shifwidth=4 set expandtap set autoindent se

CentOS6.4 配置LVS(DR模式)

DR模式中LVS主机与实际服务器都有一块网卡连在同一物理网段上. IP分配 VIP:10.10.3.170 RIP1:10.10.3.140 RIP2:10.10.3.141 1.安装所需的依赖包 yum install -y wget make kernel-devel gcc gcc-c++ libnl* libpopt* popt-static 2.创建一个软链接,防止后面编译安装ipvsadm时找不到系统内核 ln -s /usr/src/kernels/2.6.32-358.18.1.

CentOS6.4 配置mysql服务器启动多个端口,同步单表数据

============================================================ ====多端口启动==== ============================================================ 创建数据目录 mkdir /usr/local/mysql/var1/ mkdir /usr/local/mysql/var2/ =================================================

centos6.x 配置 vnc server

环境:  centos6.x 桌面环境 用户root 安装vnc服务端软件 yum install -y tigervnc-server 配置vnc vncserver :1 设置密码后会自动生成相关配置文件 如下 [email protected] ~]# vncserver :1 You will require a password to access your desktops. Password: Verify: xauth: (stdin):1:  bad display name 

CentOS6.4 配置Tengine(转)

CentOS6.4 配置Tengine 1.安装Nginx所需的pcre-devel库 yum install -y gcc gcc-c++ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.33.tar.gz tar zxvf pcre-8.33.tar.gz cd pcre-8.33./configure --prefix=/usr/local/pcre makemake install 2.安装Tengine