เราเพิ่งติดตั้งคลัสเตอร์ของเซิร์ฟเวอร์ Proxmox 6 เครื่อง โดยใช้ 3 โหนดเป็นที่เก็บ Ceph และ 3 โหนดเป็นโหนดคำนวณ
เรากำลังประสบปัญหาที่แปลกประหลาดและวิกฤตเกี่ยวกับประสิทธิภาพและความเสถียรของคลัสเตอร์ของเรา
การเข้าถึงเว็บ VM และ Proxmox มักจะหยุดทำงานโดยไม่ทราบสาเหตุ ตั้งแต่ไม่กี่วินาทีไปจนถึงไม่กี่นาที เมื่อเข้าถึงผ่านคอนโซล SSH, RDP หรือ VNC โดยตรง
แม้แต่โฮสต์ Proxmox ก็ดูเหมือนจะไม่สามารถเข้าถึงได้ดังที่เห็นได้ในการจับภาพการตรวจสอบนี้ สิ่งนี้ยังสร้างปัญหาคลัสเตอร์ Proxmox กับบางเซิร์ฟเวอร์ที่ขาดการซิงค์
ตัวอย่างเช่น เมื่อทดสอบ ping ระหว่างโหนดโฮสต์ มันจะทำงานอย่างสมบูรณ์โดยการ ping ไม่กี่ครั้ง หยุดทำงาน ดำเนินการต่อ (โดยไม่เพิ่มเวลา pingback - ยังคง <1 มิลลิวินาที) หยุดทำงานอีกครั้ง เป็นต้น
เรามีปัญหาด้านประสิทธิภาพในตอนแรก แต่ปัญหาเหล่านั้นได้รับการแก้ไขแล้วโดยการปรับ MTU ของ NIC เป็น 9000 (ปรับปรุงการอ่าน/เขียน +1300%) ตอนนี้เราต้องทำให้เสถียร เพราะตอนนี้ยังไม่พร้อมสำหรับการผลิต
การกำหนดค่าฮาร์ดแวร์
เรามีสถาปัตยกรรมเครือข่ายคล้ายกับที่อธิบายไว้ในเอกสารอย่างเป็นทางการของ Ceph โดยมีเครือข่ายสาธารณะ 1 Gbps และเครือข่ายคลัสเตอร์ 10 Gbps
สิ่งเหล่านี้เชื่อมต่อกับการ์ดเครือข่ายจริงสองใบสำหรับแต่ละเซิร์ฟเวอร์จาก 6 เซิร์ฟเวอร์
โหนดเซิร์ฟเวอร์ที่เก็บข้อมูล:
- CPU: Xeon E-2136 (6 คอร์, 12 เธรด), 3.3 GHz, Turbo 4.5 GHz
- แรม: 16GB
- พื้นที่จัดเก็บ:
- 2x RAID 1 256 GB NVMe, LVM
- โลจิคัลวอลุ่มรากของระบบ: 15 GB (ว่างประมาณ 55%)
- สลับ: 7.4 GB
- WAL สำหรับ OSD2: 80 GB
- 4 TB SATA SSD (OSD1)
- ฮาร์ดดิสก์ SATA 12 TB (OSD2)
- ตัวควบคุมอินเทอร์เฟซเครือข่าย:
- Intel Corporation I350 Gigabit: เชื่อมต่อกับเครือข่ายสาธารณะ 1 Gbps
- Intel Corporation 82599 10 Gigabit: เชื่อมต่อกับเครือข่ายคลัสเตอร์ 10 Gbps (ภายใน)
โหนดเซิร์ฟเวอร์คอมพิวเตอร์:
- CPU: Xeon E-2136 (6 คอร์, 12 เธรด), 3.3 GHz, Turbo 4.5 GHz
- แรม: 64GB
- พื้นที่จัดเก็บ:
- 2x RAID 1 256GB SATA SSD
- โลจิคัลวอลุ่มรากของระบบ: 15 GB (ว่างประมาณ 65%)
ซอฟต์แวร์: (บนทั้ง 6 โหนด)
- Proxmox 7.0-13 ติดตั้งบน Debian 11
- Ceph v16.2.6 ติดตั้งด้วย Proxmox GUI
- Ceph Monitor ในแต่ละโหนดหน่วยเก็บข้อมูล
- ตัวจัดการ Ceph บนโหนดหน่วยเก็บข้อมูล 1 + 3
การกำหนดค่า Ceph
ceph.conf ของคลัสเตอร์:
[ทั่วโลก]
auth_client_required = ใบรับรอง
auth_cluster_required = ใบรับรอง
auth_service_required = ใบรับรอง
cluster_network = 192.168.0.100/30
fsid = 97637047-5283-4ae7-96f2-7009a4cfbcb1
mon_allow_pool_delete = จริง
mon_host = 1.2.3.100 1.2.3.101 1.2.3.102
ms_bind_ipv4 = จริง
ms_bind_ipv6 = เท็จ
osd_pool_default_min_size=2
osd_pool_default_size=3
public_network = 1.2.3.100/30
[ลูกค้า]
พวงกุญแจ = /etc/pve/priv/$cluster.$name.keyring
[mds]
พวงกุญแจ = /var/lib/ceph/mds/ceph-$id/พวงกุญแจ
[mds.asrv-pxdn-402]
โฮสต์ = asrv-pxdn-402
mds สแตนด์บายสำหรับชื่อ = pve
[mds.asrv-pxdn-403]
โฮสต์ = asrv-pxdn-403
mds_standby_for_name = หน้าที่
[mon.asrv-pxdn-401]
public_addr = 1.2.3.100
[mon.asrv-pxdn-402]
public_addr = 1.2.3.101
[mon.asrv-pxdn-403]
public_addr = 1.2.3.102
คำถาม:
- สถาปัตยกรรมของเราถูกต้องหรือไม่?
- ควรเข้าถึง Ceph Monitors และ Managers ผ่านเครือข่ายสาธารณะหรือไม่ (ซึ่งเป็นสิ่งที่การกำหนดค่าเริ่มต้นของ Proxmox มอบให้เรา)
- มีใครทราบบ้างว่าสิ่งรบกวน/ความไม่เสถียรเหล่านี้มาจากไหน และจะแก้ไขได้อย่างไร
[แก้ไข]
- ถูกต้องหรือไม่ที่จะใช้ขนาดพูลเริ่มต้นที่ 3 เมื่อคุณมีโหนดหน่วยเก็บข้อมูล 3 โหนด ตอนแรกฉันถูกล่อลวงโดยใช้ 2 แต่ไม่พบตัวอย่างที่คล้ายกันและตัดสินใจใช้การกำหนดค่าเริ่มต้น
ปัญหาที่สังเกตเห็น
- เราสังเกตเห็นว่า arping ส่งคืน ping จากที่อยู่ MAC สองแห่ง (NIC สาธารณะและ NIC ส่วนตัว) ซึ่งไม่สมเหตุสมผลเนื่องจากเป็น NIC ที่แยกจากกันซึ่งเชื่อมโยงโดยสวิตช์แยกต่างหาก
นี่อาจเป็นส่วนหนึ่งของปัญหาเครือข่าย
- ระหว่างงานสำรองข้อมูลบน VM เครื่องใดเครื่องหนึ่ง (สำรองข้อมูลไปยัง Proxmox Backup Server ระยะไกล) ดูเหมือนว่าจะส่งผลกระทบต่อคลัสเตอร์ VM ติดอยู่ในโหมดสำรอง/ล็อก แม้ว่าการสำรองข้อมูลจะเสร็จสิ้นอย่างถูกต้อง (มองเห็นและเข้าถึงได้บนเซิร์ฟเวอร์สำรองข้อมูล)
- ตั้งแต่ปัญหาการสำรองข้อมูลครั้งแรก Ceph ได้พยายามสร้างตัวเองใหม่ แต่ไม่สามารถดำเนินการดังกล่าวได้ อยู่ในสถานะเสื่อมโทรม แสดงว่าไม่มี MDS daemon อย่างไรก็ตาม ฉันตรวจสอบอีกครั้งและมี MDS daemons ที่ใช้งานได้บนโหนดหน่วยเก็บข้อมูล 2 และ 3
มันกำลังสร้างตัวเองขึ้นมาใหม่จนกระทั่งติดอยู่ในสถานะนี้
นี่คือสถานะ:
root@storage-node-2:~# ceph -s
กลุ่ม:
รหัส: 97637047-5283-4ae7-96f2-7009a4cfbcb1
สุขภาพ: HEALTH_WARN
มี MDS daemons ที่สแตนด์บายไม่เพียงพอ
การเต้นของหัวใจ OSD ช้าที่ด้านหลัง (ยาวที่สุด 10055.902ms)
การเต้นของหัวใจ OSD ช้าที่ด้านหน้า (ยาวที่สุด 10360.184ms)
ความซ้ำซ้อนของข้อมูลที่ลดลง: 141397/1524759 ออบเจ็กต์ลดลง (9.273%), 156 pgs ถูกลดขนาดลง, 288 pgs มีขนาดเล็กลง
บริการ:
จันทร์: 3 ภูต, องค์ประชุม asrv-pxdn-402,asrv-pxdn-401,asrv-pxdn-403 (อายุ 4m)
mgr: asrv-pxdn-401 (ใช้งานตั้งแต่ 16m)
mds: 1/1 ภูตขึ้นไป
osd: 6 osds: 4 up (ตั้งแต่ 22h), 4 in (ตั้งแต่ 21h)
ข้อมูล:
ปริมาณ: 1/1 ดีต่อสุขภาพ
สระ: 5 สระ 480 หน้า
วัตถุ: 691.68k วัตถุ 2.6 TiB
การใช้งาน: 5.2 TiB ใช้แล้ว 24 TiB / 29 TiB ประโยชน์
pgs: 141397/1524759 วัตถุลดลง (9.273%)
192 แอคทีฟ+คลีน
156 ใช้งาน+ขนาดเล็ก+เสื่อมคุณภาพ
132 แอคทีฟ+ตัวเล็ก
[แก้ไข 2]
root@storage-node-2:~# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 43.65834 เริ่มต้นรูต
-3 14.55278 โฮสต์ asrv-pxdn-401
0 hdd 10.91409 osd.0 ขึ้น 1.00000 1.00000
3 ssd 3.63869 osd.3 ขึ้น 1.00000 1.00000
-5 14.55278 โฮสต์ asrv-pxdn-402
1 hdd 10.91409 osd.1 ขึ้น 1.00000 1.00000
4 ssd 3.63869 osd.4 ขึ้น 1.00000 1.00000
-7 14.55278 โฮสต์ asrv-pxdn-403
2 hdd 10.91409 osd.2 ลง 0 1.00000
5 ssd 3.63869 osd.5 ลง 0 1.00000