DRBD编译安装中出现的问题及解决小结

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介:

问题1:

设置primary node时提示不能成功UpToDate data:

1
2
3
# drbdadm primary r1      
r1: State change failed: (-2) Need access to UpToDate data
Command  'drbdsetup primary r1'  terminated with  exit  code 17

解决:

1
2
3
# drbdadm primary --force r1          ##强制设置
# drbd-overview 
  1:r1 /0   Connected(1*) Primary(1*) UpToDate(1*)


问题2:

创建设备元数据时提示操作失败:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# drbdadm -c /etc/drbd.conf create-md all
md_offset 314568704
al_offset 314535936
bm_offset 314523648
 
Found ext3 filesystem
       307200 kB data area apparently used
       307152 kB left usable by current configuration
       
Device size would be truncated,  which
would corrupt data and result  in
'access beyond end of device'  errors.
You need to either
    * use external meta data (recommended)
    * shrink that filesystem first
    * zero out the device (destroy the filesystem)
Operation refused.
 
Command  'drbdmeta 1 v09 /dev/sdb1 internal create-md 1'  terminated with  exit  code 40

解决:

1
# dd if=/dev/zero of=/dev/sdb1 bs=1M count=100


问题3:

启用资源时提示失败,无法创建transport:

1
2
3
4
# drbdadm up r1
r1: Failure: (172) Failed to create transport (drbd_transport_xxx module missing?)
Command  'drbdsetup new-peer r1 1 --_name=node2 --shared-secret=123456 --cram-hmac-alg=sha1 --protocol=C'  terminated with  exit  code 10
drbdadm: new-path r1: skipped due to earlier error

解决:

安装drbd_transport_tcp模块

1
2
3
4
5
6
# cp drbd_transport_tcp.ko /lib/modules/3.10.0-229.el7.x86_64/kernel/lib/
# depmod  
# modprobe drbd_transport_tcp
# lsmod|grep drbd_transport_tcp
drbd_transport_tcp     17731  0 
drbd                  463948  2 drbd_transport_tcp


问题4:

启用资源时提示失败,配置要求无效:

1
2
3
4
5
# drbdadm up r1
r1: Failure: (162) Invalid configuration request
additional info from kernel:
minor exists as different volume
Command  'drbdsetup new-minor r1 1 1'  terminated with  exit  code 10

解决:

安装drbd模块

1
2
3
4
5
6
7
#  cd drbd-9.0.0/drbd
# cp drbd.ko /lib/modules/3.10.0-229.el7.x86_64/kernel/lib/
# depmod
# modprobe drbd
# lsmod |grep drbd
drbd                  463948  0 
libcrc32c              12644  2 xfs,drbd


问题5:

启动资源时提示失败,设备或资源忙

1
2
3
4
5
6
7
8
9
10
# drbdadm up r1
No valid meta data found
Command  'drbdmeta 1 v09 /dev/sdb1 internal apply-al'  terminated with  exit  code 255
# drbdadm create-md all
open ( /dev/sdb1 ) failed: Device or resource busy
Exclusive  open  failed. Do it anyways?
[need to  type  'yes'  to confirm]  yes
# Output might be stale, since minor 1 is attached
Device  '1'  is configured!
Command  'drbdmeta 1 v09 /dev/sdb1 internal create-md 1'  terminated with  exit  code 20

解决:

fdisk /dev/sdb 删除该分区保存,然后再重新新建分区并保存即可


问题6:

提示unknown resource

1
2
3
4
5
# drbdadm primary r1
r1: Failure: (158) Unknown resource
additional info from kernel:
unknown resource
Command  'drbdsetup primary r1'  terminated with  exit  code 10

解决:

1
# /etc/init.d/drbd start


问题7及解决:

1
2
# drbd-overview 
  1:r1 /1   Connec /Connec  Second /Unknow  UpToDa /DUnkno
1
# systemctl stop firewalld
1
2
# drbd-overview 
  1:r1 /1   Connec /StaAlo  Second /Unknow  Outdat /DUnkno
1
# getenforce 0

 

问题8:

node2无法连接node1,显示node1为StandAlone

node1:

1
2
[root@node1 ~] # drbd-overview 
  1:mysqldata /1   Connec /Connec  Second /Unknow  UpToDa /DUnkno

node2:

1
2
[root@node2 ~] # drbd-overview 
  1:mysqldata /1   Connec /StaAlo  Second /Unknow  UpToDa /DUnkno

解决:

1
2
3
4
5
[root@node2 ~] # drbdadm --discard-my-data connect all
[root@node2 ~] # drbd-overview 
  1:mysqldata /1   Connec /Connec  Second /Unknow  UpToDa /DUnkno 
[root@node2 ~] # drbd-overview                    ##从上一状态转为该状态需要些时间
  1:mysqldata /1   Connected(2*) Secondary(2*) UpToDa /UpToDa


问题9及解决:

node1和node2互相认为对方StandAlone

node1:

1
2
3
4
5
[root@node1 ~] # drbd-overview 
  1:mysqldata /1   Connec /StaAlo  Second /Unknow  UpToDa /DUnkno 
[root@node1 ~] # drbdadm --discard-my-data connect all
[root@node1 ~] # drbd-overview 
  1:mysqldata /1   Connec /Connec  Second /Unknow  UpToDa /DUnkno

node2:

1
2
3
4
5
[root@node2 ~] # drbd-overview 
  1:mysqldata /1   Connec /StaAlo  Second /Unknow  UpToDa /DUnkno
[root@node2 ~] # drbdadm connect all
[root@node2 ~] # drbd-overview 
  1:mysqldata /1   Connected(2*) Secondary(2*) UpToDa /UpToDa

本文转自  结束的伤感  51CTO博客,原文链接:http://blog.51cto.com/wangzhijian/1711284

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
261363 0
|
8月前
|
SQL Java 数据库连接
MyBatis 实现分页的机制
MyBatis 的分页机制主要依赖于 `RowBounds` 对象和分页插件。`RowBounds` 实现内存分页,适合小数据量场景,通过设定偏移量和限制条数对结果集进行筛选。而针对大数据量,则推荐使用分页插件(如 PageHelper),实现物理分页。插件通过拦截 SQL 执行,动态修改语句添加分页逻辑,支持多种数据库方言。配置插件后,无需手动调整查询方法即可完成分页操作,提升性能与灵活性。
194 0
|
缓存 Linux Perl
CentOS7换yum源
CentOS是Linux系统里最常用的一种,CentOS7的yum源默认是国外的源,相较于国内源,网络连接不够稳定,下载速度较慢,因此我们常常把下载好的CentOS7换源为国内的yum源,本篇文章将介绍如何更换CentOS7的yum源为国内yum源,以阿里云的源为例。
7173 2
|
存储 运维 监控
我对 SRE 的理解
产品/基础技术研发 和 SRE 这两类角色是相互协作、相互服务的关系,拥有共同的目标:满足业务需求,更好服务业务。
3743 90
我对 SRE 的理解
|
API C# 开发者
基于Material Design风格开源、免费的WinForms UI控件库
基于Material Design风格开源、免费的WinForms UI控件库!
296 0
|
机器学习/深度学习 算法 数据挖掘
周志华《机器学习》西瓜书精炼版笔记来了!16 章完整版
周志华《机器学习》西瓜书精炼版笔记来了!16 章完整版
2324 0
周志华《机器学习》西瓜书精炼版笔记来了!16 章完整版
|
缓存 边缘计算 负载均衡
如何理解CDN?说说实现原理?
CDN(内容分发网络)是提升网络访问速度的关键技术,通过在全球或全国范围内设立边缘服务器,将内容缓存到靠近用户的地方。当用户访问网站时,DNS返回CNAME,引导用户连接到最近的CDN节点,而非直接到源站。CDN的负载均衡系统依据用户位置、运营商、节点负载等因素选择最佳边缘节点提供服务,而缓存系统则存储常用资源以提高命中率,减少回源请求。高命中率使得CDN能显著提高网站性能,降低网络拥塞。
4281 0
|
SQL NoSQL 关系型数据库
postgresql|数据库|SQL语句冲突的解决
postgresql|数据库|SQL语句冲突的解决
690 0
|
安全 网络安全 Windows
向日葵RCE复现 | CNVD-2022-10270 CNVD-2022-03672
向日葵是一款免费的集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件。 于2022年2月5日和2022年2月15日,CNVD公开上海贝锐信息科技股份有限公司的向日葵远控软件存在远程代码执行漏洞(CNVD-2022-10270/CNVD-2022-03672),影响Windows系统使用的个人版和简约版,攻击者可利用该漏洞获取服务器控制权。
700 0
向日葵RCE复现 | CNVD-2022-10270 CNVD-2022-03672