ฉันใช้โหนด Docker Swarm ชุดเล็กบน Raspberry Pis และใช้ glusterfs เป็นที่เก็บข้อมูลที่ใช้ร่วมกันสำหรับไดรฟ์ข้อมูลนักเทียบท่า ตอนแรกฉันตั้งค่านี้ในขณะที่อยู่บน Ubuntu Server 21.04 (hirsute) ซึ่งมี gluster 9.0 รวมอยู่ในแพ็คเกจเริ่มต้น วิธีนี้ใช้ได้ผลดี โดยมีเพียงการกระตุกเป็นครั้งคราวในโวลุ่มที่เมานต์ ดูเหมือนว่าการอัปเดตบางอย่างจะใช้อย่างเงียบ ๆ ในพื้นหลัง

อย่างไรก็ตาม ตั้งแต่อัปเกรดโหนดทั้ง 3 โหนดเป็น 21.10 (งมงาย) และ gluster 9.2 ฉันก็ไม่มีปัญหาอะไรเมื่อคอนเทนเนอร์บางตัวเริ่มทำงานและโต้ตอบกับไฟล์ของพวกเขา .glusterfs บนโหนดที่คอนเทนเนอร์กำลังทำงานอยู่ (และเกิดขึ้นกับโหนดใดๆ ก็ตาม) ดูเหมือนจะขัดข้องด้วยข้อความบันทึกด้านล่างจาก journalctl สำหรับหน่วยการต่อเชื่อมที่เกี่ยวข้อง:

Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: pending frames:
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: frame : type(0) op(0)
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: frame : type(0) op(0)
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: frame : type(1) op(LK)
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: frame : type(0) op(0)
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: frame : type(0) op(0)
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: frame : type(1) op(OPEN)
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: frame : type(1) op(OPEN)
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: patchset: git://git.gluster.org/glusterfs.git
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: signal received: 11
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: time of crash:
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: 2021-12-12 05:18:42 +0000
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: configuration details:
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: argp 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: backtrace 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: dlfcn 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: libpthread 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: llistxattr 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: setfsid 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: spinlock 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: epoll.h 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: xattr.h 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: st_atim.tv_nsec 1
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: package-string: glusterfs 9.2
Dec 12 05:18:42 node1 mnt-gfs-docker1[12330]: ---------
Dec 12 05:20:39 node1 systemd[1]: Unmounting /mnt/gfs/docker1...
Dec 12 05:20:39 node1 systemd[1]: mnt-gfs-docker1.mount: Deactivated successfully.
Dec 12 05:20:39 node1 systemd[1]: Unmounted /mnt/gfs/docker1.
Dec 12 05:20:39 node1 systemd[1]: mnt-gfs-docker1.mount: Consumed 6h 49min 33.197s CPU time.

เนื่องจากฉันเพิ่งเริ่มใช้ gluster นี้ ไม่มีอะไรในนี้ที่ฉันเข้าใจว่าทำไมสิ่งนี้ถึงเกิดขึ้น และฉันไม่พบข้อมูลเฉพาะเจาะจงเกี่ยวกับสิ่งที่อาจเกิดขึ้นในขณะที่ทำให้เกิดสิ่งนี้ ฉันได้ตรวจสอบสถานะการรักษาของโวลุ่มแล้ว และไม่มีไฟล์ที่รอดำเนินการ และหลังจากการฮีลแบบเต็ม ไม่มีการซิงค์ใดๆ (แม้ว่าจะมีคอนเทนเนอร์สองสามคอนเทนเนอร์ยังคงทำงานอยู่ก็ตาม)

tldr; ปริมาณ gluster ยังคงยกเลิกการต่อเชื่อม/หยุดทำงานบนโหนดไคลเอ็นต์ แม้ว่าจะดูเหมือนไม่มีปัญหากับอิฐ gluster พื้นฐาน โดยไม่มีรายการบันทึกที่ชัดเจน แม้ว่าจะไม่ได้พบปัญหาในรายการด้านบนก็ตาม

อะไรเป็นสาเหตุของสิ่งนี้และฉันจะป้องกันได้อย่างไร

no answer