Điểm:0

DRBD với đĩa meta bên ngoài

lá cờ ru

Tôi đang cố tạo chuyển đổi dự phòng với DRBD và tôi có hai phân vùng.

Phân vùng 1) /dev/sda4 được thiết lập cho các KVM mà tôi sẽ tạo. Phân vùng 2) /dev/sda5 dành cho siêu dữ liệu DRBD

Tập tin cấu hình của tôi ở bên dưới

tài nguyên r0 {
    giao thức C;
    khởi động {
            thời gian chờ wfc 15;
            degr-wfc-thời gian chờ 60;
    }
    bọc lưới {
            cram-hmac-alg sha1;
            chia sẻ bí mật "SECRET_KEY";
    }
    trên Máy chủ1{
            thiết bị/dev/drbd0;
            đĩa/dev/sda4;
            địa chỉ IP:7788;
            đĩa meta/dev/sda5;
    }
    trên Máy chủ2{
            thiết bị/dev/drbd0;
            đĩa/dev/sda4;
            địa chỉ IP:7788;
            đĩa meta/dev/sda5;
    }

}

Khi tôi chạy drbdadm create-md r0, nó chạy thành công nhưng nó tạo/dev/drbd0 trên cả hai phân vùng.

    ââsda4 8:4 0 7.2T 0 phần
    â ââdrbd0 147:0 0 7.2T 1 đĩa
    ââsda5 8:5 0 399M 0 phần
      ââdrbd0 147:0 0 7.2T 1 đĩa

Tôi hiểu rằng nó chỉ nên tạo nó trên đĩa meta là/dev/sda5. Lý do tôi thiết lập đĩa meta là để tránh ghi vào sda4. Tôi có đúng trong lý do đó hay tôi đang thiếu thứ gì đó.

Điểm:2
lá cờ nr

Tôi xác nhận đây là cách lsblk đầu ra trông giống AlmaLinux 8.5 khi sử dụng siêu dữ liệu bên ngoài với DRBD. Thiết bị DRBD chỉ là một thiết bị khối ảo duy nhất được xếp lớp trên cả hai phân vùng trong thiết lập của bạn.

Nó hoạt động như mong đợi. Nếu bạn kiểm tra các thiết bị chặn bằng các phương pháp/tiện ích khác, bạn sẽ thấy rằng bạn chỉ có một /dev/drbd0và phân vùng siêu dữ liệu bạn đã tạo có kích thước như mong đợi.

Ví dụ: cấu hình của tôi sử dụng hai ổ đĩa LVM:

tài nguyên r0 {
    giao thức C;
    khởi động {
            thời gian chờ wfc 15;
            degr-wfc-thời gian chờ 60;
    }
    bọc lưới {
            cram-hmac-alg sha1;
            chia sẻ bí mật "SECRET_KEY";
    }
    trên Máy chủ1{
            thiết bị/dev/drbd0;
            đĩa/dev/drbdpool/dữ liệu; # 1GiB lvm trên /dev/sdb
            đĩa meta /dev/drbdpool/meta; # 4MiB lvm trên /dev/sdb
            192.168.1.11:7788;
    }
    trên Máy chủ2{
            thiết bị/dev/drbd0;
            đĩa/dev/drbdpool/dữ liệu; # 1GiB lvm trên /dev/sdb
            đĩa meta /dev/drbdpool/meta; # 4MiB lvm trên /dev/sdb
            192.168.1.12:7788;
    }

Hiển thị chính xác những gì tôi mong đợi ở /proc/phân vùng:

# mèo /proc/phân vùng 
lớn nhỏ tên #blocks

   8 0 20480000 sda
   8 1 2048000 sda1
   8 2 18430976 sda2
   8 16 8388608 sdb
 253 0 4096 đm-0
 253 1 1048576 đm-1
 147 0 1048576 drbd0

blockdev --report có vẻ tốt quá:

# blockdev --report /dev/drbd0
RO RA SSZ BSZ Kích thước StartSec Thiết bị
rw 256 512 4096 0 1073741824/dev/drbd0
# blockdev --report /dev/drbdpool/meta 
RO RA SSZ BSZ Kích thước StartSec Thiết bị
rw 8192 512 4096 0 4194304/dev/drbdpool/meta
# blockdev --report /dev/drbdpool/data
RO RA SSZ BSZ Kích thước StartSec Thiết bị
rw 8192 512 4096 0 1073741824/dev/drbdpool/dữ liệu

Đây có thể là nơi lsblk đang trở nên bối rối:

# mèo /sys/khối/drbd0/size 
2097152
# mèo /sys/khối/dm-0/size 
8192
# mèo /sys/khối/dm-1/size 
2097152
# mèo /sys/block/dm-0/holders/drbd0/size 
2097152
# mèo /sys/block/dm-1/holders/drbd0/size 
2097152
lá cờ ru
OK...thì tôi bối rối không biết tại sao DRB0 lại chiếm toàn bộ đĩa của SDA4. Vì một số lý do, nó được phân bổ 7.2T. Tại sao lại như vậy nếu siêu dữ liệu được cho là trên SDA5?
Matt Kereczman avatar
lá cờ nr
Bạn đã định cấu hình DRBD để thực hiện điều đó bằng cách đặt `đĩa /dev/sda4;`. Đây là cách DRBD hoạt động: Bạn cung cấp toàn bộ đĩa/phân vùng cho DRBD, sau đó bạn sử dụng thiết bị DRBD kết quả giống như bạn làm với bất kỳ đĩa/phân vùng nào khác. Tôi cho rằng bạn sẽ muốn định dạng `/dev/drbd0` với bất kỳ hệ thống tệp nào bạn muốn sử dụng và `mount /dev/drbd0 /var/lib/libvirt/images` hoặc bất cứ nơi nào bạn đã định cấu hình libvirt để lưu trữ hình ảnh máy ảo của mình . Vì bạn đã gắn thiết bị DRBD nên mọi thứ bạn ghi vào điểm gắn kết đó sẽ được sao chép sang thiết bị ngang hàng thông qua thiết bị DRBD. Siêu dữ liệu của DRBD có trên `/dev/sda5`...
lá cờ ru
Được rồi, cái đó có lý. Tôi cho rằng DRB0 và các máy ảo sẽ nằm cạnh nhau trên SDA4 nhưng điều bạn đang nói là bất kỳ dữ liệu nào tôi sử dụng cần phải nằm trên DRBD0 đúng không?
Điểm:-1
lá cờ ru

Cuối cùng đã tìm ra điều này. Bằng cách đặt nhóm âm lượng lên trên DRBD0, mọi thứ hiện đang hoạt động.

Tôi đã gặp sự cố khi tạo nhóm âm lượng trên thiết bị và phải thêm bộ lọc vào lvm.conf

tôi đã nhận được một lỗi mà nói

Không thể sử dụng thiết bị /dev/drbd/ với các bản sao

Tôi vừa thêm cái này vào phần thiết bị

filter = [ "r|/dev/sda4|", "r|/dev/disk/|", "r|/dev/block/|", "a/.*/" ]

Mọi thứ hoạt động tuyệt vời ngay bây giờ

Matt Kereczman avatar
lá cờ nr
Phân lớp LVM trên DRBD không thay đổi bất cứ điều gì có ý nghĩa. Bạn có thể đã sử dụng nó theo cách của nó, vì không có vấn đề gì theo cách của bạn. Việc đặt LVM bên dưới DRBD là phổ biến hơn để việc phát triển thiết bị sau này dễ dàng hơn. Ngoài ra, bạn sẽ phải kích hoạt/hủy kích hoạt các VG khi chuyển đổi dự phòng với thiết lập này.
lá cờ ru
Có một vấn đề theo cách tôi đã có nó. Nó không hoạt động. Tôi không thể tạo LVM theo cách thiết lập
Matt Kereczman avatar
lá cờ nr
Đây là lần đầu tiên bạn đề cập đến LVM như một yêu cầu. Bạn sẽ gây nhầm lẫn cho những người tình cờ xem bài đăng của bạn trong tương lai nếu bạn bỏ qua những chi tiết như thế này.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.