Tôi đang sử dụng CentOS7 và tôi hiện có nút HA hai cụm đang chạy máy điều hòa nhịp tim (1.1.23-1.el7_9.1) và DRBD (kmod-drbd90-9.0.22-3.el7_9). Phân vùng sao lưu cho ổ đĩa DRBD được mã hóa LUKS. Chúng tôi đang thêm máy chủ thứ ba vào ngăn xếp, nhưng sau khi cập nhật cấu hình, ổ đĩa drbd trên máy chủ mới không kết nối.
Trạng thái
Trạng thái hiện tại, như được hiển thị bởi hộp mới là:
[root@svr3]# trạng thái drbdadm
vai trò drbd0: Trung học
đĩa: Không nhất quán
kết nối svr1: Đang kết nối
kết nối svr2: Đang kết nối
Từ chính, trạng thái hiển thị là:
[root@svr1]# trạng thái drbdadm
vai trò drbd0: Chính
đĩa: UpToDate
vai trò svr2: Phụ
đĩa ngang hàng: UpToDate
kết nối svr3: Độc lập
Cấu hình DRBD
Cấu hình hiện tại cho drbd0
tài nguyên là:
tài nguyên drbd0 {
giao thức C;
thiết bị/dev/drbd0;
đĩa /dev/sdb1;
meta-đĩa nội bộ;
trên svr1 {
địa chỉ 10.10.11.1:7789;
nút-id 1;
}
trên svr2 {
địa chỉ 10.10.11.2:7789;
nút-id 2;
}
trên svr3 {
địa chỉ 10.10.11.3:7789;
nút-id 3;
}
lưới kết nối {
máy chủ svr1 svr2 svr3;
}
}
Trước khi thêm svr3, cấu hình trên svr1 và svr2 như sau:
tài nguyên drbd0 {
giao thức C;
thiết bị/dev/drbd0;
đĩa /dev/sdb1;
meta-đĩa nội bộ;
trên svr1 {
địa chỉ 10.10.11.1:7789;
nút-id 1;
}
trên svr2 {
địa chỉ 10.10.11.2:7789;
nút-id 2;
}
lưới kết nối {
máy chủ svr1 svr2;
}
}
Các đĩa DRBD đã được tạo với tập lệnh sau trên tất cả các hộp:
drbdadm tạo-md --force drbd0
drbdadm lên drbd0
Chỉ trên đĩa chính, phần sau cũng được chạy để thiết lập đĩa:
dd if=/dev/zero of=/dev/sdb1 bs=128M đếm=10
drbdadm chính --force drbd0
cryptsetup -q --keyfile /path/to/keyfile luksFormat /dev/drbd0
cryptsetup --key-file /path/to/keyfile luksOpen /dev/drbd0 luks-drbd
mkfs.ext4 /dev/mapper/luks-drbd
Cấu hình máy tạo nhịp tim
Các tài nguyên DRBD trong máy tạo nhịp tim đã được định cấu hình bằng tập lệnh sau. Tài nguyên PCS không thay đổi vì nó được thiết lập ban đầu để cho phép nút thứ ba trong tương lai.
tài nguyên máy tính tạo drbd0_data ocf:linbit:drbd drbd_resource=drbd0
cái chủ tài nguyên drbd0_clone drbd0_data \
master-max=1 master-node-max=1 clone-max=3 clone-node-max=1 \
thông báo = đúng
tài nguyên máy tính tạo drbd0_luks ocf:vendor:luks \
--group=drbd_resources
pcs tạo tài nguyên drbd0_fs ocf:heartbeat:Filesystem \
device=/dev/mapper/luks-drbd thư mục=/mnt/data fstype=ext4 \
--group=drbd_resources
đơn đặt hàng ràng buộc của chiếc quảng cáo drbd0_data sau đó bắt đầu drbd_resources
pcs ràng buộc colocation thêm drbd_resources \
với drbd0_clone INFINTITY with-rsc-role=Master
thứ tự ràng buộc chiếc drbd0_luks sau đó drbd0_fs
(Các drbd0_luks
tài nguyên là tài nguyên tùy chỉnh mà chúng tôi cung cấp về cơ bản chạy cryptsetup luksOpen|luksClose
trên phân vùng LUKS nếu thích hợp).
Trạng thái máy tạo nhịp tim hiển thị như sau:
Trực tuyến: [ svr1 svr2 svr3 ]
Tài nguyên đang hoạt động:
Bộ chính/phụ: drbd0_clone [drbd0_data]
Bậc thầy: [ svr1 ]
Nô lệ: [ svr2 svr3 ]
Nhóm tài nguyên: drbd_resources
drbd0_luks (ocf::vendor::luks): Đã bắt đầu svr1
drbd0_fs (ocf::heartbeat::Filesystem): Đã bắt đầu svr1
Nỗ lực kết nối
Tôi đã thử nhiều lần lặp lại quy trình sau:
[root@svr1]# drbdadm ngắt kết nối drbd0
[root@svr2]# drbdadm ngắt kết nối drbd0
[root@svr3]# drbdadm ngắt kết nối drbd0
[root@svr3]# drbdadm connect --discard-my-data drbd0
[root@svr1]# drbdadm kết nối drbd0
drbd0: Lỗi: (162) Yêu cầu cấu hình không hợp lệ
Lệnh 'drbdsetup connect drbd0 3' kết thúc bằng mã thoát 10
[root@svr2]# drbdadm kết nối drbd0
drbd0: Lỗi: (162) Yêu cầu cấu hình không hợp lệ
Lệnh 'drbdsetup connect drbd0 3' kết thúc bằng mã thoát 10
Sau này, đầu ra của trạng thái drbdadm
như hình ở đầu bài.Tôi gặp lỗi tương tự nếu tôi cố chạy drbdadm điều chỉnh drbd0
trên svr1 hoặc svr2.
Nếu tôi cố chạy drbdadm xuống drbd0
trong khi drbd0_luks
resource được bật, tôi nhận được thông tin sau:
[root@svr1]# drbdadm xuống drbd0
drbd0: Thay đổi trạng thái không thành công: (-12) Thiết bị được mở bởi ai đó
thông tin bổ sung từ kernel:
/dev/drbd0 được mở bởi cryptsetup (pid 11777) lúc 2021-11-01 16:50:51
Lệnh 'drbdsetup down drbd0' kết thúc bằng mã thoát 11
Nếu tôi vô hiệu hóa drbd0_luks
tài nguyên, tôi có thể chạy drbdadm xuống drbd0
, nhưng điều chỉnh
lệnh không thành công như sau:
[root@svr1]# drbdadm điều chỉnh drbd0
0: Lỗi: (162) Yêu cầu cấu hình không hợp lệ
Lệnh 'drbdsetup đính kèm 0 /dev/sdb1 /dev/sdb1 internal' được kết thúc bằng mã thoát 10
vì vậy tôi cho rằng ít nhất tôi cũng cần nhiều như vậy để thiết lập và chạy. Tại thời điểm này, tôi chỉ đang nắm lấy ống hút, nhưng tôi không chắc ống hút chính xác tiếp theo sẽ với lấy là gì.