返回顶部
首页 > 资讯 > 操作系统 >linux中DRBD编译安装与配置的示例分析
  • 807
分享到

linux中DRBD编译安装与配置的示例分析

2023-06-12 21:06:46 807人浏览 独家记忆
摘要

这篇文章给大家分享的是有关linux中DRBD编译安装与配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DRBD介绍 DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。

这篇文章给大家分享的是有关linux中DRBD编译安装与配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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 /tmpwget http://oss.linbit.com/drbd/8.4/drbd-8.4.1.tar.gztar xzf drbd-8.4.1.tar.gzcd drbd-8.4.1./configure --prefix=/usr/local/drbd --with-kmmake KDIR=/usr/src/kernels/2.6.18-274.18.1.el5-i686/make installmkdir -p /usr/local/drbd/var/run/drbdcp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.dchkconfig --add drbdchkconfig 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. [root@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 node1192.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/drbdversion: 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

drbdadm primary --force r0

再次查看node1的状态:

#cat /proc/drbdversion: 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/drbd1drbdadm secondary r0

在node2上操作:

drbdadm primary r0

此时应该已经切换成功。

感谢各位的阅读!关于“linux中DRBD编译安装与配置的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: linux中DRBD编译安装与配置的示例分析

本文链接: https://lsjlt.com/news/262800.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linux中DRBD编译安装与配置的示例分析
    这篇文章给大家分享的是有关linux中DRBD编译安装与配置的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DRBD介绍 DRBD是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。...
    99+
    2023-06-12
  • CentOS6.5中怎么安装与配置drbd
    这篇文章主要介绍CentOS6.5中怎么安装与配置drbd,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、drbd概述    Distributed Replicated Block Devic...
    99+
    2023-06-10
  • Nginx源码编译安装的示例分析
    这篇文章将为大家详细讲解有关Nginx源码编译安装的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。rpm包安装比较简单,这里不做说明。对于大多数开源软件,如果找不到安装包,可以使用源码安装方式,源...
    99+
    2023-06-25
  • Linux下mysql 8.0.15 安装配置的示例分析
    这篇文章主要介绍Linux下mysql 8.0.15 安装配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!第一步,下载安装包  wget https:...
    99+
    2024-04-02
  • VMWare linux mysql 5.7.13安装配置的示例分析
    这篇“VMWare linux mysql 5.7.13安装配置的示例分析”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“VMWare linux mysql 5.7.13安装配置的示例分析”...
    99+
    2024-04-02
  • Linux内核编译与开发的示例分析
    这篇文章将为大家详细讲解有关Linux内核编译与开发的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一.Linux内核简介linux kernel map:linux 系统体系结构:linux k...
    99+
    2023-06-16
  • RHEL 5.5+DRBD+heartbeat+Oracle10R2双机安装的示例分析
    这篇文章将为大家详细讲解有关RHEL 5.5+DRBD+heartbeat+Oracle10R2双机安装的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、操作系统版本:Red Hat Enter...
    99+
    2023-06-16
  • Linux下编译hive与配置安装步骤
    这篇文章主要介绍“Linux下编译hive与配置安装步骤”,在日常操作中,相信很多人在Linux下编译hive与配置安装步骤问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下编译hive与配置安装步骤...
    99+
    2023-06-03
  • Linux内核编译的示例分析
    小编给大家分享一下Linux内核编译的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   下载源代码Linux内核总是不断发展的,***的内核K...
    99+
    2023-06-16
  • Python中PySide2安装及配置的示例分析
    这篇文章主要介绍Python中PySide2安装及配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PyQt是GPLv3协议,如果你的程序中用了它,你的程序就要开源,如果闭源商用就会违反协议(后果自负,脸皮...
    99+
    2023-06-20
  • mysql 8.0.12安装配置的示例分析
    这篇文章主要介绍mysql 8.0.12安装配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、下载选择系统平台后,点击download(根据系统选择64或32位)二、配...
    99+
    2024-04-02
  • mysql5.7.21 winx64安装配置的示例分析
    这篇文章主要介绍mysql5.7.21 winx64安装配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 本文主要为大家详细介绍了mysql...
    99+
    2024-04-02
  • Redis Sentinel安装配置的示例分析
    小编给大家分享一下Redis Sentinel安装配置的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Redis Sentinel概述我们知道Redis类似MySQL数据库自带主从...
    99+
    2024-04-02
  • Linux系统Mysql编译安装配置
    1、单实例Mysql数据库的安装1.1建立Mysql账号  首先root身份登陆Linux,然后创建Mysql组及账号  #groupadd mysql  #user...
    99+
    2024-04-02
  • php for Linux源码编译安装与配置方法
    这篇文章主要讲解了“php for Linux源码编译安装与配置方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php for Linux源码编译安装与配...
    99+
    2024-04-02
  • JavaScript中预编译的示例分析
    小编给大家分享一下JavaScript中预编译的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript 预编...
    99+
    2024-04-02
  • Greenplum-cc-web安装配置的示例分析
    这篇文章主要为大家展示了“Greenplum-cc-web安装配置的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Greenplum-cc-web安装配置的示例分析”这篇文章吧。 进入下...
    99+
    2023-06-03
  • Linux系统安全配置的示例分析
    这篇文章主要介绍Linux系统安全配置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!为LILO增加开机口令  在/etc/lilo.conf文件中增加选项,从而使LILO启动时要求输入口令,以加强系统的安全...
    99+
    2023-06-13
  • Linux程序编译过程的示例分析
    小编给大家分享一下Linux程序编译过程的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本文将介绍如何将高层的C/C++语言编写的程序转换成为处理器能够执...
    99+
    2023-06-15
  • Debian 7.8系统安装与配置过程的示例分析
    这篇文章将为大家详细讲解有关Debian 7.8系统安装与配置过程的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最近,我给自己的电脑安装了Debian操作系统,版本7.8 stable。Debi...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作