นี่เป็นครั้งแรกที่ฉันกำหนดค่า DRBD (drbd-utils 8.9.10-2) บน Ubuntu 18.04 ด้วย systemd-networkd (ใช้ netplan)
โดยทั่วไปการตั้งค่าดูเหมือนจะประสบความสำเร็จ ฉันมีทรัพยากรหนึ่งรายการที่ถูกซิงค์ผ่านโฮสต์สองแห่งผ่านอินเทอร์เฟซเฉพาะ NIC ของ node1 และ node2 เชื่อมต่อโดยตรง (ไม่มีสวิตช์) NIC อื่นใช้สำหรับทรัพยากร Hearbeat และ ressources เช่นเว็บเซิร์ฟเวอร์
ตอนนี้เป็นส่วนที่ใช้งานไม่ได้:
เมื่อฉันถอดสายเคเบิลของการเชื่อมต่อเครือข่าย drdb โดยเฉพาะโหนดจะเข้าสู่โหมด StandAlone แทนที่จะเป็น WFConnection บันทึกแสดงว่าพยายามเข้าสู่ WFConnection แต่ล้มเหลวและหลังจากนั้นกลับเข้าสู่ StandAlone:
Apr 17 09:08:01 gts-test-node2 systemd-networkd[284]: ens192: Flags change: -UP -LOWER_UP -RUNNING
Apr 17 09:08:01 gts-test-node2 systemd-networkd[284]: Sent message type=signal sender=n/a destination=n/a path=/org/freedesktop/network1/link/_33 interface=org.freedesktop.DBus.Properties member=PropertiesChanged cookie=21 reply_cookie=0 signature=sa{sv}as error-name=n/a error-message=n/a
Apr 17 09:08:01 gts-test-node2 systemd-networkd[284]: LLDP: Stopping LLDP client
Apr 17 09:08:01 gts-test-node2 systemd-networkd[284]: ens192: Stopped LLDP.
Apr 17 09:08:01 gts-test-node2 systemd-networkd[284]: ens192: Lost carrier
Apr 17 09:08:01 gts-test-node2 systemd-networkd[284]: ens192: State is configured, dropping config
Apr 17 09:08:01 gts-test-node2 systemd-networkd[284]: ens192: Removing address: 192.168.0.2/24 (valid forever)
Apr 17 09:08:01 gts-test-node2 systemd-timesyncd[388]: Network configuration changed, trying to establish connection.
Apr 17 09:08:01 gts-test-node2 systemd-timesyncd[388]: Synchronized to time server 91.189.94.4:123 (ntp.ubuntu.com).
Apr 17 09:08:02 gts-test-node2 corosync[480]: Apr 17 09:08:02 warning [TOTEM ] Incrementing problem counter for seqid 7082 iface 192.168.0.2 to [1 of 10]
Apr 17 09:08:02 gts-test-node2 corosync[480]: [TOTEM ] Incrementing problem counter for seqid 7082 iface 192.168.0.2 to [1 of 10]
Apr 17 09:08:02 gts-test-node2 corosync[480]: Apr 17 09:08:02 warning [TOTEM ] Incrementing problem counter for seqid 7084 iface 192.168.0.2 to [2 of 10]
Apr 17 09:08:02 gts-test-node2 corosync[480]: [TOTEM ] Incrementing problem counter for seqid 7084 iface 192.168.0.2 to [2 of 10]
Apr 17 09:08:02 gts-test-node2 kernel: drbd storage1: PingAck did not arrive in time.
Apr 17 09:08:02 gts-test-node2 kernel: drbd storage1: peer( Primary -> Unknown ) conn( Connected -> NetworkFailure ) pdsk( UpToDate -> DUnknown )
Apr 17 09:08:02 gts-test-node2 kernel: drbd storage1: ack_receiver terminated
Apr 17 09:08:02 gts-test-node2 kernel: drbd storage1: Terminating drbd_a_storage1
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: Connection closed
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: conn( NetworkFailure -> Unconnected )
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: receiver terminated
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: Restarting receiver thread
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: receiver (re)started
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: conn( Unconnected -> WFConnection )
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: bind before listen failed, err = -99
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: conn( WFConnection -> Disconnecting )
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: Connection closed
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: conn( Disconnecting -> StandAlone )
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: State change failed: Need a connection to start verify or resync
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: mask = 0x1f0 val = 0x80
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: old_conn:StandAlone wanted_conn:WFConnection
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: receiver terminated
Apr 17 09:08:03 gts-test-node2 kernel: drbd storage1: Terminating drbd_r_storage1
ข้อผิดพลาดนี้เป็นเรื่องใหม่สำหรับฉันและไม่เคยเกิดขึ้นกับ Ubuntu 16.04 ซึ่งifupdown
ใช้แทนsystemd-networkd
:
การผูกก่อนการฟังล้มเหลว err = -99
หากฉันsystemctl stop systemd-networkd
ก่อนที่จะถอดสายเคเบิลพฤติกรรมนั้นถูกต้อง -> ยังคงอยู่ใน WFConnection แต่ฉันต้องการใช้ systemd-networkd และไม่กำหนดค่าทุกอย่างให้กลับไปที่ "วิธีเก่า"
การตัดการเชื่อมต่อสายเคเบิลได้รับการจำลองในสองวิธีที่แตกต่างกันด้วยผลลัพธ์เดียวกัน:
ip link set ens190 down
หรือยกเลิกการเชื่อมต่ออินเตอร์เฟส
ไม่มีใครมีความคิดว่ากระบวนการของsystemd-networkd
(หรืออาจnetworkd-dispatcher
หรืออื่น ๆ ?) ทำให้เกิดพฤติกรรมไม่เหมาะสมนี้? ฉันไม่พบสิ่งใดบนอินเทอร์เน็ตที่เกี่ยวข้องกับหัวข้อนี้
ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก