### DRBD知识点解析 #### 一、DRBD简介与应用场景 **DRBD(Distributed Replicated Block Device)** 是一种开源软件,它为Linux环境下的分布式文件系统提供了一个块级的复制解决方案。DRBD能够在两个或多个主机之间同步数据,确保数据的一致性和可用性,特别适用于高可用性集群、数据镜像以及数据复制等场景。 #### 二、DRBD基本概念与工作原理 - **基本概念:** - **资源(Resource)**:在DRBD中,资源是指要被复制的存储卷。 - **节点(Node)**:参与数据复制过程的主机称为节点。 - **角色(Role)**:节点的角色可以是**Primary**(主要节点)、**Secondary**(次要节点)或者**UpToDate**(与主节点同步完成后的状态)。 - **工作原理:** - 在DRBD中,数据通过网络在主节点和次节点之间同步,实现数据的一致性和冗余。 - 当主节点接收到写入请求时,它会将数据同时写入本地磁盘,并通过网络发送给次节点,确保数据在两个节点上一致。 #### 三、DRBD命令操作详解 根据给定的部分内容,我们可以进一步分析并总结出以下关键步骤: - **初始化DRBD资源:** ```bash [root@centos64~]# drbdadm create-md r0 md_offset 5368705024 al_offset 5368672256 bm_offset 5368508416 Found some data ==> This might destroy existing data! <== Do you want to proceed? [need to type 'yes' to confirm] yes initializing activity log initializing bitmap (160KB) to all zero Writing metadata New drbd metadata block successfully created. ``` - **解释**:这里使用`drbdadm create-md`命令创建名为`r0`的新DRBD资源。该命令会询问是否继续(因为可能会破坏现有数据),确认后初始化活动日志和位图,并成功创建新的DRBD元数据块。 - **查看DRBD资源状态:** ```bash [root@centos64~]# drbdadm status r0 r0 role: Secondary disk: Inconsistent centos63 role: Primary replication: SyncTarget peer-disk: UpToDate done: 3.52 ``` - **解释**:使用`drbdadm status`命令查看DRBD资源的状态。可以看到`r0`当前处于次节点状态,且数据不一致。同时显示了对端节点(centos63)的角色和同步状态。 - **启动DRBD资源:** ```bash [root@centos64~]# drbdadm up r0 No valid metadata found ``` - **解释**:尝试启动资源`r0`时,由于之前没有有效的元数据,因此无法启动。在创建新元数据后再次执行该命令应该可以正常启动。 - **解决存在的DRBD设备问题:** ```bash [root@centos64~]# drbdadm up r0 new-minor r0 10: sysfs node '/sys/devices/virtual/block/drbd1' (already? still?) exists ``` - **解释**:当尝试启动DRBD资源时遇到已存在的设备问题,可以重启DRBD服务来解决。 ```bash [root@centos64~]# service drbd restart ``` - **同步数据:** - **解释**:在主节点上打开DRBD资源后,在次节点也启动该资源。如果出现已存在的设备问题,则重启DRBD服务后可以进行数据同步。 - **建立文件系统:** ```bash [root@crhel71~]# mkfs.xfs /dev/drbd0 ``` - **解释**:在同步完成后,需要在主节点上建立文件系统,例如使用XFS文件系统格式化`/dev/drbd0`。 - **手动停止DRBD服务:** ```bash [root@centos64~]# drbdadm down r0 # No currently configured DRBD found. r0: No such resource Command 'drbdsetup status r0' terminated with exit code 10 ``` - **解释**:手动停止DRBD服务时,如果资源不存在或者配置错误,将会导致停止失败。 - **查看DRBD资源概览:** ```bash [root@centos63~]# drbd-overview.pl NOTE: drbd-overview will be deprecated soon. Please consider using drbdtop. 1: r0/0 Connec/C'ting Second/Unknow UpToDa/D Unkno ``` - **解释**:使用`drbd-overview.pl`命令查看DRBD资源概览。需要注意的是,该命令已被标记为即将废弃,建议使用`drbdtop`替代。 #### 四、DRBD注意事项 - 在操作DRBD资源时,需要谨慎处理数据同步和文件系统的建立,避免数据丢失。 - DRBD的某些命令如`drbd-overview.pl`已被标记为即将废弃,建议使用更新的工具如`drbdtop`。 - 在进行数据同步前,确保有足够的存储空间,并且了解同步过程中可能带来的性能影响。 #### 五、总结 通过对上述内容的分析,我们了解到DRBD是一种用于Linux环境下的分布式文件系统复制解决方案,能够实现数据的实时同步和备份。掌握DRBD的基本操作和命令对于维护高可用性的集群环境至关重要。通过上述步骤的学习,可以更好地理解和使用DRBD。
[root@centos64 ~]# drbdadm up r0
No valid meta data found
[root@centos64 ~]# drbdadm create-md r0
md_offset 5368705024
al_offset 5368672256
bm_offset 5368508416
Found some data
==> This might destroy existing data! <==
Do you want to proceed?
[need to type 'yes' to confirm] yes
initializing activity log
initializing bitmap (160 KB) to all zero
Writing meta data...
New drbd meta data block successfully created.
[root@centos64 ~]# drbdadm status r0
r0 role:Secondary
disk:Diskless
centos63 connection:StandAlone
[root@centos64 ~]#
[root@centos64 ~]# drbdadm status r0
r0 role:Secondary
centos63 role:Secondary
peer-disk:Inconsistent
[root@centos64 ~]# drbdadm status r0
r0 role:Secondary
disk:Inconsistent
centos63 role:Primary
replication:SyncTarget peer-disk:UpToDate done:3.52
[root@centos64 ~]#
2边重建lv后再建 r0
然后先在主的开drbdadm up r0,在次的再开drbdadm up r0时提示有存在的先不管(new-minor r0 1 0: sysfs node '/sys/devices/virtual/block/drbd1' (already? still?) exists)
在次的再重起下服务就能同步数据了drbd restart
[root@centos64 ~]# drbdadm status r0
r0 role:Secondary
disk:Inconsistent
centos63 role:Secondary
peer-disk:Inconsistent
[root@centos64 ~]# drbdadm status r0
r0 role:Secondary
disk:Inconsistent
centos63 role:Primary
replication:SyncTarget peer-disk:UpToDate done:3.52
剩余5页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- csdn_v6.4.2_v1.apk
- IMG_9447.PNG
- codesysection-m笔记
- esp32s3oid-maste笔记
- 课程detection-mai笔记
- rt-thread studio stm32f103oid-ma笔记
- IDE-harddisk-winpe-c-v2024080203.GHO
- Unofficial Node.js ADS library for connecting to Beckhoff TwinCA
- A library designed to provide generic data handling for TwinCAT
- CODESYS plaintext import and export scripts