Score:0

DRBD พร้อมเมตาดิสก์ภายนอก

ธง ru

ฉันกำลังพยายามสร้างเฟลโอเวอร์ด้วย DRBD และฉันมีสองพาร์ติชัน

พาร์ติชัน 1) /dev/sda4 ถูกตั้งค่าสำหรับ KVM ที่ฉันจะสร้าง พาร์ติชัน 2) /dev/sda5 สำหรับข้อมูลเมตา DRBD

ไฟล์ปรับแต่งของฉันอยู่ด้านล่าง

ทรัพยากร r0 {
    โปรโตคอล C;
    เริ่มต้น {
            wfc-หมดเวลา 15;
            degr-wfc-หมดเวลา 60;
    }
    สุทธิ {
            อัด-hmac-alg sha1;
            ความลับที่ใช้ร่วมกัน "SECRET_KEY";
    }
    บนเซิร์ฟเวอร์ 1{
            อุปกรณ์ /dev/drbd0;
            ดิสก์ /dev/sda4;
            ที่อยู่ IP:7788;
            เมตาดิสก์ /dev/sda5;
    }
    บนเซิร์ฟเวอร์ 2{
            อุปกรณ์ /dev/drbd0;
            ดิสก์ /dev/sda4;
            ที่อยู่ IP:7788;
            เมตาดิสก์ /dev/sda5;
    }

}

เมื่อฉันเรียกใช้ drbdadm create-md r0 มันทำงานได้สำเร็จ แต่มันสร้าง /dev/drbd0 บนพาร์ติชันทั้งสอง

    ââsda4 8:4 0 7.2T 0 ส่วน
    â ââdrbd0 147:0 0 7.2T 1 ดิสก์
    ââsda5 8:5 0 399M 0 ส่วน
      ââdrbd0 147:0 0 7.2T 1 ดิสก์

ฉันเข้าใจว่าควรสร้างมันบนเมตาดิสก์ซึ่งก็คือ /dev/sda5 เท่านั้น เหตุผลที่ฉันตั้งค่าเมตาดิสก์เพื่อหลีกเลี่ยงการเขียนไปยัง sda4 ฉันถูกต้องในเหตุผลนั้นหรือฉันขาดอะไรไป

Score:2
ธง nr

ฉันยืนยันว่าเป็นเช่นนี้ lsblk เอาต์พุตจะดูบน AlmaLinux 8.5 เมื่อใช้ข้อมูลเมตาภายนอกกับ DRBD อุปกรณ์ DRBD เป็นเพียงอุปกรณ์บล็อกเสมือนตัวเดียวที่ซ้อนทับทั้งสองพาร์ติชันในการตั้งค่าของคุณ

มันทำงานได้ตามที่คาดไว้ หากคุณตรวจสอบอุปกรณ์บล็อกโดยใช้วิธีการ/ยูทิลิตี้อื่นๆ คุณจะเห็นว่าคุณมีเพียงเครื่องเดียว /dev/drbd0และพาร์ติชันข้อมูลเมตาที่คุณสร้างจะมีขนาดตามที่คุณคาดไว้

ตัวอย่างเช่น การกำหนดค่าของฉันโดยใช้ไดรฟ์ข้อมูล LVM สองรายการ:

ทรัพยากร r0 {
    โปรโตคอล C;
    เริ่มต้น {
            wfc-หมดเวลา 15;
            degr-wfc-หมดเวลา 60;
    }
    สุทธิ {
            อัด-hmac-alg sha1;
            ความลับที่ใช้ร่วมกัน "SECRET_KEY";
    }
    บนเซิร์ฟเวอร์ 1{
            อุปกรณ์ /dev/drbd0;
            ดิสก์ /dev/drbdpool/data; # 1GiB lvm บน /dev/sdb
            เมตาดิสก์ /dev/drbdpool/meta; # 4MiB lvm บน /dev/sdb
            192.168.1.11:7788;
    }
    บนเซิร์ฟเวอร์ 2{
            อุปกรณ์ /dev/drbd0;
            ดิสก์ /dev/drbdpool/data; # 1GiB lvm บน /dev/sdb
            เมตาดิสก์ /dev/drbdpool/meta; # 4MiB lvm บน /dev/sdb
            192.168.1.12:7788;
    }

แสดงให้เห็นอย่างชัดเจนว่าฉันคาดหวังอะไร /proc/พาร์ติชัน:

# cat /proc/พาร์ติชัน 
ชื่อรอง #blocks ที่สำคัญ

   8 0 20480000 สดา
   8 1 2048000 sda1
   8 2 18430976 sda2
   8 16 8388608 สบพ
 253 0 4096 dm-0
 253 1 1048576 dm-1
 147 0 1048576 drbd0

blockdev -- รายงาน ดูดีเกินไป:

# blockdev --report /dev/drbd0
RO RA SSZ BSZ StartSec ขนาดอุปกรณ์
rw 256 512 4096 0 1073741824 /dev/drbd0
# blockdev --report /dev/drbdpool/เมตา 
RO RA SSZ BSZ StartSec ขนาดอุปกรณ์
rw 8192 512 4096 0 4194304 /dev/drbdpool/เมตา
# blockdev --report /dev/drbdpool/data
RO RA SSZ BSZ StartSec ขนาดอุปกรณ์
rw 8192 512 4096 0 1073741824 /dev/drbdpool/data

ซึ่งน่าจะเป็นที่ lsblk เริ่มสับสน:

# cat /sys/block/drbd0/ขนาด 
2097152
# cat /sys/block/dm-0/ขนาด 
8192
# cat /sys/block/dm-1/ขนาด 
2097152
# cat /sys/block/dm-0/holders/drbd0/size 
2097152
# cat /sys/block/dm-1/holders/drbd0/size 
2097152
ru flag
ตกลง...จากนั้นฉันก็สับสนว่าทำไม DRB0 จึงใช้ดิสก์ทั้งหมดของ SDA4 ด้วยเหตุผลบางประการจึงมีการจัดสรร 7.2T เหตุใดจึงเป็นเช่นนี้หากข้อมูลเมตาควรอยู่ใน SDA5
Matt Kereczman avatar
nr flag
คุณกำหนดค่า DRBD ให้ทำเช่นนั้นโดยการตั้งค่า `disk /dev/sda4;' นี่คือวิธีการทำงานของ DRBD: คุณให้ดิสก์/พาร์ติชันทั้งหมดแก่ DRBD จากนั้นคุณใช้อุปกรณ์ DRBD ที่เป็นผลลัพธ์ เช่นเดียวกับที่คุณทำกับดิสก์/พาร์ติชันอื่นๆ ฉันคิดว่าคุณจะต้องการจัดรูปแบบ `/dev/drbd0` ด้วยระบบไฟล์ที่คุณต้องการใช้และ `เมานต์ /dev/drbd0 /var/lib/libvirt/images` หรือทุกที่ที่คุณกำหนดค่า libvirt เพื่อจัดเก็บอิมเมจ VM ของคุณ . เนื่องจากคุณได้ติดตั้งอุปกรณ์ DRBD ทุกสิ่งที่คุณเขียนลงในจุดเชื่อมต่อนั้นจะถูกจำลองไปยังเพียร์ผ่านอุปกรณ์ DRBD ข้อมูลเมตาของ DRBD อยู่บน `/dev/sda5`...
ru flag
ตกลง ... นั่นสมเหตุสมผลแล้ว ฉันคิดว่า DRB0 และ VM จะอยู่เคียงข้างกันบน SDA4 แต่สิ่งที่คุณกำลังพูดคือข้อมูลใดๆ ที่ฉันใช้จำเป็นต้องอยู่ด้านบนของ DRBD0 ถูกต้องหรือไม่
Score:-1
ธง ru

ในที่สุดก็คิดออก เมื่อวางกลุ่มวอลุ่มไว้ที่ด้านบนของ DRBD0 ทุกอย่างก็ทำงานได้แล้ว

ฉันพบปัญหาเมื่อสร้างกลุ่มวอลุ่มบนอุปกรณ์ และต้องเพิ่มตัวกรองใน lvm.conf

ฉันได้รับข้อผิดพลาดที่กล่าวว่า

ไม่สามารถใช้อุปกรณ์ /dev/drbd/ กับรายการที่ซ้ำกันได้

ฉันเพิ่งเพิ่มสิ่งนี้ลงในส่วนอุปกรณ์

ตัวกรอง = [ "r|/dev/sda4|", "r|/dev/disk/|", "r|/dev/block/|", "a/.*/" ]

ตอนนี้ทุกอย่างทำงานได้ดี

Matt Kereczman avatar
nr flag
การวางเลเยอร์ LVM บน DRBD ไม่ได้เปลี่ยนความหมายอะไรเลย คุณสามารถใช้มันได้อย่างที่เป็นอยู่ เพราะไม่มีปัญหาในแบบที่คุณมี เป็นเรื่องปกติมากกว่าที่จะวาง LVM ไว้ข้างใต้ DRBD เพื่อให้ง่ายต่อการขยายอุปกรณ์ในภายหลัง นอกจากนี้ คุณจะต้องเปิดใช้งาน/ปิดใช้งาน VG เมื่อเกิดข้อผิดพลาดด้วยการตั้งค่านี้
ru flag
มีปัญหาในแบบที่ฉันเป็น มันไม่ได้ผล ฉันไม่สามารถสร้าง LVM ด้วยวิธีการตั้งค่าได้
Matt Kereczman avatar
nr flag
นี่เป็นครั้งแรกที่คุณกล่าวถึง LVM เป็นข้อกำหนด คุณจะสร้างความสับสนให้กับคนที่เจอโพสต์ของคุณในอนาคตหากคุณละเว้นรายละเอียดเช่นนี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา