设为首页 收藏本站
查看: 2328|回复: 6

[经验分享] DRBD编译安装与配置

[复制链接]

尚未签到

发表于 2012-6-27 12:29:23 | 显示全部楼层 |阅读模式
DRBD介绍DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。  DRBD Logo数据镜像:实时、透明、同步(所有服务器都成功后返回)、异步(本地服务器成功后返回)。DBRD的核心功能通过Linux的内核实现,最接近系统的IO栈,但它不能神奇地添加上层的功能比如检测到EXT3文件系统的崩溃。DBRD的位置处于文件系统以下,比文件系统更加靠近操作系统内核及IO栈。
DRBD编译安装安装所需依赖:
  • yum -y install gcc kernel-devel kernel-headers flex

开始安装drbd,下载地址:http://oss.linbit.com/drbd/
安装用户空间工具:
  • cd /tmp
  • wget http://oss.linbit.com/drbd/8.4/drbd-8.4.1.tar.gz
  • tar xzf drbd-8.4.1.tar.gz
  • cd drbd-8.4.1
  • ./configure --prefix=/usr/local/drbd --with-km
  • make KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-i686/
  • 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
  • chkconfig --add drbd
  • chkconfig drbd on

安装drbd模块:
  • cd drbd
  • make clean
  • make KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-i686/
  • cp drbd.ko /lib/modules/`uname -r`/kernel/lib/
  • depmod

注:usr/src/kernels/2.6.18-274.18.1.el5-i686/这个内核源码树路径需要根据自己的系统修改。
DRBD配置建立分区假如现在有第二块硬盘hdb,两个node都要分区。
  • #fdisk /dev/hdb                                                      //准备为 hdb 建立分区
  • The number of cylinders for this disk is set to 20805.
  • There is nothing wrong with that, but this is larger than 1024,
  • and could in certain setups cause problems with:
  • 1) software that runs at boot time (e.g., old versions of LILO)
  • 2) booting and partitioning software from other OSs
  •    (e.g., DOS FDISK, OS/2 FDISK)
  • Command (m for help): n                                              //键入 n 表示要建立分区
  • Command action
  •     e   extended
  •     p   primary partition (1-4)
  • p                                                                    //键入 p 表示建立主要分区
  • Partition number (1-4): 1                                            //键入 1 为此主要分区代号
  • First cylinder (1-20805, default 1):                                 //开始磁柱值,按下 enter 即可
  • Using default value 1
  • Last cylinder or +size or +sizeM or +sizeK (1-20805, default 20805): //结束磁柱值,按下 enter 即可
  • Using default value 20805
  • Command (m for help): w                                              //键入 w 表示确定执行刚才设定
  • The partition table has been altered!
  • Calling ioctl() to re-read partition table.
  • Syncing disks.
  • [iyunv@node1 yum.repos.d]# partprobe                                  //使刚才的 partition table 变更生效

建立分区完成后使用指令 fdisk -l 确定 partition talbe 状态
  • #fdisk -l
  • Disk /dev/hda: 21.4 GB, 21474754560 bytes
  • 255 heads, 63 sectors/track, 2610 cylinders
  • Units = cylinders of 16065 * 512 = 8225280 bytes
  •     Device Boot      Start         End      Blocks   Id  System
  • /dev/hda1   *           1          13      104391   83  Linux
  • /dev/hda2              14        2610    20860402+  8e  Linux LVM
  • Disk /dev/hdb: 10.7 GB, 10737377280 bytes
  • 16 heads, 63 sectors/track, 20805 cylinders
  • Units = cylinders of 1008 * 512 = 516096 bytes
  •     Device Boot      Start         End      Blocks   Id  System
  • /dev/hdb1               1       20805    10485688+  83  Linux

建立分区完成后请建立 /db 目录。 (Node1 及 Node2 都必须建立)
  • #mkdir /db

建立drbd配置文件主要定义两块global和resource。
  • vi /usr/local/drbd/etc/drbd.conf

写入:
  • include "drbd.d/global_common.conf";
  • include "drbd.d/*.res";

  • vi /usr/local/drbd/etc/drbd.d/global_common.conf

写入:
  • global {
  •   usage-count yes;
  • }
  • common {
  •   net {
  •     protocol C;
  •   }
  • }

  • vi /usr/local/drbd/etc/drbd.d/r0.res

写入:
  • resource r0 {
  •   on node1 {
  •     device    /dev/drbd1;
  •     disk      /dev/hdb1;
  •     address   192.168.1.101:7789;
  •     meta-disk internal;
  •   }
  •   on node2 {
  •     device    /dev/drbd1;
  •     disk      /dev/hdb1;
  •     address   192.168.1.103:7789;
  •     meta-disk internal;
  •   }
  • }

设置hostname根据上面的resource配置文件,需要对192.168.1.101和192.168.1.103分别设置hostname为node1和node2,设置方法如下:
  • vi /etc/sysconfig/network

修改HOSTNAME为node1
  • vi /etc/hosts

填入:
  • 192.168.1.101 node1
  • 192.168.1.103 node2

使node1 hostnmae临时生效
  • hostname node1

node2机器设置类似。
设置resource以下操作需要在node1和node2操作。
  • #modprobe drbd                                    //载入 drbd 模块
  • #lsmod|grep drbd                                  //确认 drbd 模块是否载入
  • drbd                  228528  0
  • #dd if=/dev/zero of=/dev/hdb1 bs=1M count=100     //把一些资料塞到 hdb 內 (否则 create-md 时有可能会出现错误)
  • #drbdadm create-md r0                             //建立 drbd resource
  • #drbdadm up r0                                  //启动 resource r0

查看node1和node2的状态应该类似下面的:
  • cat /proc/drbd

  • version: 8.4.1 (api:1/proto:86-100)
  • GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by root@localhost.localdomain, 2012-02-12 06:05:36
  • m:res  cs         ro                   ds                         p  mounted  fstype
  • 0:r0   Connected  Secondary/Secondary  Inconsistent/Inconsistent  C

表明现在已经启动服务,但还没有设置同步(即需要设置Primary Node)
设置Primary Node以下操作仅在node1执行。
设置node1为primary node:
  • drbdadm primary --force r0

再次查看node1的状态:
  • #cat /proc/drbd
  • version: 8.4.1 (api:1/proto:86-100)
  • GIT-hash: 91b4c048c1a0e06777b5f65d312b38d47abaea80 build by root@localhost.localdomain, 2012-02-12 06:47:37
  • 1: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
  •     ns:52892 nr:0 dw:0 dr:52892 al:0 bm:10 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:0

我们看到状态已经变成Primary/Secondary,即设置primary node成功。
创建DRBD文件系统以下操作仅在node1执行。
上面已经完成了/dev/drbd1的初始化,现在来把/dev/drbd1格式化成ext3格式的文件系统。
  • #mkfs.ext3 /dev/drbd1

然后将/dev/drbd1挂载到之前创建的/db目录。
  • #mount /dev/drbd1 /db

现在你只要把数据写入/db目录,drbd即会立刻把数据同步到备机192.168.1.103的/dev/hdb1分区上。
drbd同步测试当在备机node2启动drbd时,它是无法挂载/dev/hdb1分区的,我们可以尝试写些数据到node1的目录/db上,然后停止node2的drbd。
  • drbdadm down r0

之后就可以把node2的/dev/hdb1挂载到目录/db
  • mount -t ext3 /dev/hdb1 /db

我们就可以查看node2的/db目录是否有node1的数据。
手动切换主备机我们可以把node1改变为备机,而node2改变为主机。
在node1上操作:
  • umount /dev/drbd1
  • drbdadm secondary r0

在node2上操作:
  • drbdadm primary r0

此时应该已经切换成功。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-324-1-1.html 上篇帖子: 没有了 下篇帖子: 如何用DNS+GeoIP+Nginx+Varnish做世界级的CDN 安装 配置

尚未签到

发表于 2013-3-13 14:58:42 | 显示全部楼层
我是来刷分的,嘿嘿

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-15 22:56:28 | 显示全部楼层
比我有才的都没我帅,比我帅的都没我有才!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-16 15:54:09 | 显示全部楼层
找到好贴不容易,我顶你了,谢了

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 09:08:25 | 显示全部楼层
修养的艺术,其实就是说谎的艺术。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-17 23:53:25 | 显示全部楼层
我妈常说,我们家要是没有电话就不会这么穷。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-5-18 18:31:14 | 显示全部楼层
帮你顶下哈!!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表