DRBD 安裝手冊

DRBD 安裝手冊

DRBD 安裝手冊


1準備磁盤

Execute the command on all nodes

[root@mariadb1 ~]# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x000a8954

Device Boot Start End Blocks Id System

/dev/sda1 * 2048 2099199 1048576 83 Linux

/dev/sda2 2099200 41943039 19921920 8e Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes, 10485760 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

[root@mariadb1 ~]# pvcreate /dev/sdb

Physical volume "/dev/sdb" successfully created.

[root@mariadb1 ~]# vgcreate datavg /dev/sdb

Volume group "datavg" successfully created

[root@mariadb1 ~]# lvcreate -L 1G -n marialv datavg ##給大點100M會有在啟動服務時有問題

Logical volume "marialv" created.

[root@mariadb1 ~]# lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert

root centos -wi-ao---- <17.00g

swap centos -wi-ao---- 2.00g

marialv datavg -wi-a----- 100.00m

[root@mariadb2 ~]# ls /dev/datavg/marialv

/dev/datavg/marialv

DRBD 安裝手冊


2 安裝軟件

[root@localhost ~]# ls

drbd84-utils-8.9.8-1.el7.elrepo.x86_64.rpm

drbd84-utils-sysvinit-8.9.8-1.el7.elrepo.x86_64.rpm

kmod-drbd84-8.4.10-1_2.el7_4.elrepo.x86_64.rpm

[root@localhost ~]# yum localinstall drbd84-utils-*

[root@localhost ~]# yum localinstall kmod-drbd84-8.4.10-1_2.el7_4.elrepo.x86_64.rpm

3 配置drbd

[root@localhost drbd.d]# cd /etc

[root@localhost etc]# cat drbd.conf

# You can find an example in /usr/share/doc/drbd.../drbd.conf.example

include "drbd.d/global_common.conf";

include "drbd.d/*.res";

[root@localhost etc]# cd drbd.d

[root@localhost drbd.d]# ls

global_common.conf

[root@localhost drbd.d]# vi global_common.conf

usage-count no;

[root@localhost drbd.d]# vi jian_mariadb.res

[root@mariadb1 drbd.d]# cat jian_mariadb.res

resource mariadb_comm {

protocol B;

device minor 1;

meta-disk internal;

disk /dev/datavg/marialv;

handlers {

split-brain "/usr/lib/drbd/notify-split-brain.sh";

fence-peer "/usr/lib/drbd/crm-fence-peer.sh";

after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";

}

syncer {

c-plan-ahead 0;

c-max-rate 350M;

c-min-rate 100M;

rate 350M;

al-extents 3389;

}

startup {

wfc-timeout 0;

outdated-wfc-timeout 2;

degr-wfc-timeout 120;

#become-primary-on both;

}

disk {

fencing resource-only;

on-io-error detach;

resync-rate 350M;

}

net {

cram-hmac-alg "sha1"; shared-secret "Anciejhast";

#allow-two-primaries;

after-sb-0pri discard-zero-changes;

after-sb-1pri consensus;

after-sb-2pri disconnect;

verify-alg crc32c;

max-buffers 20000;

max-epoch-size 20000;

sndbuf-size 0;

}

on mariadb1 {

address 192.168.135.153:7001;

}

on mariadb2 {

address 192.168.135.154:7001;

}

}

[root@localhost drbd.d]# cat global_common.conf

# DRBD is the result of over a decade of development by LINBIT.

# In case you need professional services for DRBD or have

# feature requests visit http://www.linbit.com

global {

usage-count no;

# minor-count dialog-refresh disable-ip-verification

# cmd-timeout-short 5; cmd-timeout-medium 121; cmd-timeout-long 600;

}

common {

handlers {

# These are EXAMPLE handlers only.

# They may have severe implications,

# like hard resetting the node under certain circumstances.

# Be careful when chosing your poison.

# pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";

# pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";

# local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";

# fence-peer "/usr/lib/drbd/crm-fence-peer.sh";

# split-brain "/usr/lib/drbd/notify-split-brain.sh root";

# out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";

# before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";

# after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;

}

startup {

# wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb

}

options {

# cpu-mask on-no-data-accessible

}

disk {

# size on-io-error fencing disk-barrier disk-flushes

# disk-drain md-flushes resync-rate resync-after al-extents

# c-plan-ahead c-delay-target c-fill-target c-max-rate

# c-min-rate disk-timeout

}

net {

# protocol timeout max-epoch-size max-buffers unplug-watermark

# connect-int ping-int sndbuf-size rcvbuf-size ko-count

# allow-two-primaries cram-hmac-alg shared-secret after-sb-0pri

# after-sb-1pri after-sb-2pri always-asbp rr-conflict

# ping-timeout data-integrity-alg tcp-cork on-congestion

# congestion-fill congestion-extents csums-alg verify-alg

# use-rle

}

}

4初始化磁盤

[root@mariadb1 drbd.d]# drbdadm create-md mariadb_comm

initializing activity log

NOT initializing bitmap

Writing meta data...

New drbd meta data block successfully created.

5 啟動服務

[root@mariadb1 drbd.d]# systemctl restart drbd

[root@mariadb1 drbd.d]# drbd-overview

1:mariadb_comm/0 Connected Secondary/Secondary Inconsistent/Inconsistent

[root@mariadb1 drbd.d]# drbdadm -- --overwrite-data-of-peer primary mariadb_comm

[root@mariadb2 ~]# drbd-overview

1:mariadb_comm/0 Connected Secondary/Primary UpToDate/UpToDate

6 格式化磁盤

[root@mariadb1 drbd.d]# mkfs.ext4 /dev/drbd1 僅在主執行

[root@mariadb1 drbd.d]# mkdir /mariadata

[root@mariadb1 drbd.d]# mount /dev/drbd1 /mariadata

7 測試數據同步

[root@mariadb1 drbd.d]# cd /mariadata/

[root@mariadb1 mariadata]# touch a

[root@mariadb1 /]# umount /mariadata/ ##must umount the device first

[root@mariadb1 /]# drbdadm secondary mariadb_comm

[root@mariadb2 mariadata]# drbdadm primary mariadb_comm

[root@mariadb2 mariadata]# drbd-overview

1:mariadb_comm/0 Connected Primary/Secondary UpToDate/UpToDate

[root@mariadb2 mariadata]# cd /

[root@mariadb2 /]# mount /dev/drbd

drbd/ drbd1

[root@mariadb2 /]# mount /dev/drbd1 /mariadata/

[root@mariadb2 mariadata]# ls

a lost+found


DRBD 安裝手冊



分享到:


相關文章: