MySQL+HEART+DRBD安装之DRBD安装配置

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: CentOS版本:CentOS release 5.5 (Final)系统磁盘:/dev/sda(系统安装要的swap和/目录)          /dev/sdb(用作drbd使用)两台主机:ip 10.
CentOS版本:CentOS release 5.5 (Final)
系统磁盘:/dev/sda(系统安装要的swap和/目录)
          /dev/sdb(用作drbd使用)

两台主机:ip 10.0.17.155
             10.0.17.156

第一步:定义host:

[root@mysql-n1 ~]# vi /etc/hosts
10.0.17.155     mysql-n1
10.0.17.156     mysql-n2

第二步:创建磁盘(前提有这样一块硬盘,由于我是在vm上面做的实验,所以多模拟出来了

一块硬盘,linux认盘,就是根据盘的个数,自己辨别,第一块就是sda,第二块就是sdb)


[root@mysql-n1 ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *         262        5221    39841200   83  Linux
/dev/sda2               1         261     2096451   82  Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

[root@mysql-n1 ~]# fdisk /dev/sdb

依次输入:n-->p-->1 回车-->回车-->w完成


The number of cylinders for this disk is set to 2610.
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
Command action
   e   extended
   p   primary partition (1-4)
p  
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610):
Using default value 2610

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@mysql-n1 ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *         262        5221    39841200   83  Linux
/dev/sda2               1         261     2096451   82  Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        2610    20964793+  83  Linux


第三步:安装drbd
[root@mysql-n1 ~]# yum -y install kmod-drbd83 drbd83

第四步:配置drbd(我只配置/etc/drbd.conf),把配置好的scp到另一台服务器上
global { usage-count no; }
common { syncer { rate 200M; } }
resource r0 {
            protocol C;
            net {
                 cram-hmac-alg sha1;
                 shared-secret "MySQL_HA";
            }

            disk{
               on-io-error detach;
               fencing resource-only;
            }
            startup{
               wfc-timeout 120;
               degr-wfc-timeout 120;
            }
            on mysql-n1 {
                 device    /dev/drbd0;
                 disk      /dev/sdb1;
                 address   10.0.17.155:7898;
                 meta-disk  internal;
            }
            on mysql-n2 {
                 device    /dev/drbd0;
                 disk      /dev/sdb1;
                 address   10.0.17.156:7898;
                 meta-disk  internal;
            }
       }

第五步:DRBD创建元数据库信息:
[root@mysql-n1 ~]# drbdadm create-md all
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.

[root@mysql-n2 ~]# drbdadm create-md all
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.

第六步:启动DRBD
[root@mysql-n1 ~]# /etc/init.d/drbd start

第七步:设置primary节点&mkfs
[root@mysql-n1 ~]# drbdadm primary all(报错,执行下面操作)
0: State change failed: (-2) Need access to UpToDate data
Command 'drbdsetup 0 primary' terminated with exit code 17
[root@mysql-n1 ~]# drbdadm -- --overwrite-data-of-peer primary all

[root@mysql-n1 ~]# mkfs.ext3 /dev/drbd0


第八步:查看drbd的状态
[root@mysql-n1 ~]# cat /proc/drbd
version: 8.3.13 (api:88/proto:86-96)
GIT-hash: 83ca112086600faacab2f157bc5a9324f7bd7f77 build by

mockbuild@builder10.centos.org, 2012-05-07 11:56:36
 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
    ns:5043196 nr:0 dw:0 dr:5051264 al:0 bm:307 lo:1 pe:5 ua:64 ap:0 ep:1 wo:b

oos:15921556
        [===>................] sync'ed: 24.1% (15548/20472)M
        finish: 0:02:02 speed: 129,304 (126,064) K/sec

其中:ro是角色信息:Primary/Secondary(代表这个是主节点)
                    Secondary/Primary(代表这个是副节点)

      ds是磁盘状态:UpToDate/Inconsistent(正在同步,数据还没有一致)
                    UpToDate/UpToDate    (同步完成,数据一致)
      ns是网络传输的数据包:以K为字节
    
      dw是磁盘写操作
      dr是磁盘读操作
       
      
第九步:挂载DRBD分区到/data目录下
[root@mysql-n1 ~]# mkdir /data
[root@mysql-n1 ~]# mount /dev/drbd0 /data
[root@mysql-n1 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              37G  4.5G   31G  13% /
tmpfs                 502M     0  502M   0% /dev/shm
/dev/drbd0             20G  173M   19G   1% /data


注意:DRBD的英文全称就是Distributed Replicated Block Device(分布式块设备复制),
个人认为,说白了就是对/dev/sdb1的复制。而且Secondary节点的/dev/drbd0是不能进行挂
载的
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 关系型数据库 MySQL
mysql主从复制概述和配置
【10月更文挑战第22天】MySQL 主从复制是一种将主服务器的数据复制到一个或多个从服务器的技术,实现读写分离,提高系统性能和可用性。主服务器记录变更日志,从服务器通过 I/O 和 SQL 线程读取并应用这些变更。适用于读写分离、数据备份和恢复、数据分析等场景。配置步骤包括修改配置文件、创建复制用户、配置从服务器连接主服务器并启动复制进程。
105 1
|
2月前
|
安全 关系型数据库 MySQL
mysql8安装
本文介绍了在 CentOS 7 上安装 MySQL 5.7 的详细步骤,包括下载、环境准备、系统配置、安装过程及启动方法。首先通过wget下载MySQL压缩包并解压至指定目录,接着进行主机名修改、依赖安装、用户与用户组创建、ulimit配置等环境准备工作。随后,对操作系统环境进行调整,如文件句柄和进程数的设置、内核参数优化、SELinux和防火墙的关闭等。最后,完成MySQL的安装配置,创建数据和日志目录,初始化MySQL,并设置启动脚本和环境变量,确保MySQL能够正常运行。
80 4
|
2月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
1016 67
|
1月前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
46 4
|
2月前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
541 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
97 3
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
74 2
|
1月前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
1月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
128 2
|
2月前
|
SQL 关系型数据库 MySQL
Mysql中搭建主从复制原理和配置
主从复制在数据库管理中广泛应用,主要优点包括提高性能、实现高可用性、数据备份及灾难恢复。通过读写分离、从服务器接管、实时备份和地理分布等机制,有效增强系统的稳定性和数据安全性。主从复制涉及I/O线程和SQL线程,前者负责日志传输,后者负责日志应用,确保数据同步。配置过程中需开启二进制日志、设置唯一服务器ID,并创建复制用户,通过CHANGE MASTER TO命令配置从服务器连接主服务器,实现数据同步。实验部分展示了如何在两台CentOS 7服务器上配置MySQL 5.7主从复制,包括关闭防火墙、配置静态IP、设置域名解析、配置主从服务器、启动复制及验证同步效果。
Mysql中搭建主从复制原理和配置