Hướng dẫn cài đặt và cấu hình DRBD trên CentOS 7
18/01/2022 17:24 | Luợt xem : 28
Mục lục
1. Chuẩn bị
- 2 server sử dụng OS CentOS 7
- 2 ổ cứng được gắn vào các node
- Cấu hình hostname cho các server
- Mở port 7788 trên các server
Cụ thể:
Node 1
OS: CentOS 7 64 bit
Device: /dev/vda - 10GB
/dev/vdb - 10GB
Hostname: node1
IP: 192.168.1.11
Gateway: 192.168.1.1
Prefix: 24
Node 2
OS: CentOS 7 64 bit
Device: /dev/vda - 10GB
/dev/vdb - 10GB
Hostname: node2
IP: 192.168.1.12
Gateway: 192.168.1.1
Prefix: 24
2. Các bước tiến hành
2.1 Cài đặt DRBD
- Trước khi cài đặt, chúng ta phải cấu hình hostname cho mỗi node và ghi chúng vào
hosts
[root@node1 ~] hostnamectl set-hostname node1
[root@node2 ~] hostnamectl set-hostname node2
- Ghi thêm vào
hosts
của mỗi server
vi /etc/hosts
192.168.1.11 node1
192.168.1.12 node2
- Tiếp theo, chúng ta cài đặt DRBD trên cả 2 server. Đầu tiên, chúng ta thêm repos của DRBD và key
rpm -ivh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
- Trước khi cài, chúng ta kiểm tra phiên bản mới nhất của DRBD.
yum info *drbd* | grep Name
Name : drbd90-utils
Name : drbd90-utils-sysvinit
Name : kmod-drbd90
Sau khi chạy lệnh trên, chúng ta thấy phiên bản hiện tại là drbd90
- Chúng ta tiếp tục bước cài đặt DRBD trên cả 2 server.
yum -y install drbd90-utils kmod-drbd90
Chú ý: Nếu key trên bị lỗi, hãy làm bước sau để import các key có sẵn ở /etc/pki/rpm-gpg/
và làm lại bước cài đặt trên.
rpm --import /etc/pki/rpm-gpg/*
- Kích hoạt module DRBD trên cả 2 server
modprobe drbd
- Kiểm tra lại xem DRBD đã hoạt động:
lsmod | grep drbd
drbd 405309 0
libcrc32c 12644 2 xfs,drbd
2.2 Cấu hình DRBD
File cấu hình chính của DRBD nằm là /etc/drbd.conf
. File này gọi lại các file cấu hình được khai báo trong phần nội dung. Các file .res
dùng để khai báo tài nguyên trên mỗi server mà DRBD sử dụng.
Chúng tạo một file có tên testdata1.res
với nội dung như sau:
vi /etc/drbd.d/testdata1.res
resource testdata1 {
protocol C;
volume 0 {
device /dev/drbd0;
disk /dev/vdb1;
meta-disk internal;
}
volume 1 {
device /dev/drbd1;
disk /dev/vdb2;
meta-disk internal;
}
on node1 {
node-id 0;
}
on node2 {
node-id 1;
}
connection {
host node1 address 192.168.1.11:7789;
host node2 address 192.168.1.12:7789;
}
}
Giải thích:
resource testdata1
: Tên của resourceProtocol C
: Các resource được cấu hình để synchronous replicationnode1
,node2
: Danh sách các node và các tùy chọn bên trongdevice /dev/drbd0
: Xác định thiết bị logic được DRBD sử dụng (Nên đặt giống nhau ở trên 2 server)disk /dev/vdb
: Xác định thiết bị vật lý dùng để tạo ra thiết bị logic bên trên, và không nhất thiết phải cùng trên trên 2 server. Lưu ý bạn không được định dạng file hệ thống cho phân vùng này.address 192.168.1.11:7789
: Xác định địa chỉ IP và Port của mỗi servermeta-disk internal
: Cho phép sử dụng Meta-data mức nội bộ
Sao chép file cấu hình sang server 2:
[root@node1 ~] scp /etc/drbd.d/testdata1.res node2:/etc/drbd.d/
2.3 Khởi động trên mỗi node
Trên server 1:
[root@node1 ~] drbdadm create-md testdata1
Trên server 2:
[root@node2 ~] drbdadm create-md testdata1
Khi thấy kết quả hiển thị như sau báo hiệu đã cấu hình thành công:
--== Thank you for participating in the global usage survey ==--
initializing activity log
NOT initializing bitmap
Writing meta data...
New drbd meta data block successfully created.
success
2.4 Bật và kích hoạt DRBD daemon
Ở trên 2 server, chúng ta bật và cho DRBD khởi động cùng hệ thống
systemctl start drbd
systemctl enable drbd
2.5 Kích hoạt trên node chính
Tôi chọn node chính là node1, chúng ta cũng có thể chọn node2 làm node chính bằng cách chạy lệnh này lên node2.
[root@node1 ~] drbdadm primary testdata1 --force
Kiểm tra trạng thái:
[root@node1 ~]# drbd-overview
0:testdata1/0 Connected Primary/Secondary UpToDate/UpToDate
Chú ý: Chúng ta kiểm tra liên tục bằng lệnh trên và khi nào lệnh trả về kết quả tương tự hoặc có chứa nội dung Connected Primary/Secondary
thì mới có thể chuyển sang bước 2.6.
2.6 Tạo mà mount file system DRBD
Tạo một file system và mount, ghi dữ liệu lên nó. Các bước thực hiện trên node chính – node mà bạn đã kích hoạt ở bước 2.5
root@node1 ~]# mkfs.ext4 /dev/drbd0
[root@node1 ~]# mount /dev/drbd0 /mnt
[root@node1 ~]# touch /mnt/testfile
[root@node1 ~]# ll /mnt/
total 16
drwx------ 2 root root 1384 Oct 12 08:29 lost+found
-rw-r--r-- 1 root root 0 Oct 12 08:31 testfile
2.7 Test hoạt động replicate trên server 2
Chúng ta chuyển primary node sang node2 để kiểm tra dữ liệu có được replicate
Unmount file system trên node1
[root@node1 ~]# umount /mnt
Chuyển sang chế độ secondary node
cho node1
[root@node1 ~] drbdadm secondary testdata1
Trên node2, chúng ta kích hoạt chế độ primary
[root@node2 ~] drbdadm primary testdata1
Mount và kiểm tra dữ liệu bên trong
[root@node2 ~]# mount /dev/drbd0 /mnt
[root@node2 ~]# ll /mnt/
total 16
drwx------ 2 root root 1384 Oct 12 08:29 lost+found
-rw-r--r-- 1 root root 0 Oct 12 08:31 testfile
Kết quả trên cho ta thấy, dữ liệu đã được replicate sang node2.
Chúc các bạn cài đặt thành công!
Hoangtd