Score:2

Proxmox เกี่ยวกับปัญหาประสิทธิภาพและความเสถียรของ Ceph / ข้อสงสัยเกี่ยวกับการกำหนดค่า

ธง uz

เราเพิ่งติดตั้งคลัสเตอร์ของเซิร์ฟเวอร์ 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

คำถาม:

  1. สถาปัตยกรรมของเราถูกต้องหรือไม่?
  2. ควรเข้าถึง Ceph Monitors และ Managers ผ่านเครือข่ายสาธารณะหรือไม่ (ซึ่งเป็นสิ่งที่การกำหนดค่าเริ่มต้นของ Proxmox มอบให้เรา)
  3. มีใครทราบบ้างว่าสิ่งรบกวน/ความไม่เสถียรเหล่านี้มาจากไหน และจะแก้ไขได้อย่างไร

[แก้ไข]

  1. ถูกต้องหรือไม่ที่จะใช้ขนาดพูลเริ่มต้นที่ 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
us flag
คุณได้ตรวจสอบคลัสเตอร์ ceph ระหว่างการขัดจังหวะเหล่านี้หรือไม่ คุณสังเกตเห็นอะไรไหม เช่น MON daemons ล้มเหลว หากเป็นกรณีนี้ ไคลเอ็นต์ทั้งหมดจะต้องเชื่อมต่อใหม่อีกครั้งในวันจันทร์ถัดไปเพื่อสร้างเซสชันใหม่ ซึ่งอาจทำให้เกิดเหตุการณ์เช่นนั้นได้ อีกสิ่งหนึ่งคือการแลกเปลี่ยนที่ใช้ซึ่งอาจทำให้เกิดการขัดจังหวะได้ โดยเฉพาะอย่างยิ่ง OSD นั้นรองรับการใช้งานการแลกเปลี่ยนได้ดี ฉันแนะนำให้มองใกล้และตรวจสอบส่วนประกอบทั้งหมดอย่างละเอียดเพื่อให้เข้าใจถึงที่มาของการขัดจังหวะเหล่านี้ เครือข่ายสาธารณะสำหรับไคลเอนต์นั้นถูกต้อง
uz flag
ใช่ ฉันได้ตรวจสอบสถานะ ceph ซึ่งปกติดีจนกระทั่งมีข้อผิดพลาดที่กล่าวถึงในการแก้ไข (ดูด้านบน) มี MON หนึ่งโหนดบนโหนดหน่วยเก็บข้อมูลทั้ง 3 โหนด และ 1 MDS บนโหนด 2 และ 3 การใช้ RAM ของโหนดอยู่ที่ประมาณ 10GB จากทั้งหมด 16 โหนดที่มี โดยพื้นฐานแล้วจะไม่มีการใช้งานสว็อป คำถามที่ 4 (ฉันเพิ่งเพิ่ม) อาจมีอิทธิพลต่อสิ่งนี้หรือไม่ ขอบคุณสำหรับความช่วยเหลือของคุณ
us flag
พูลขนาด 3 นั้นดี คุณไม่สามารถกู้คืนไปยังโฮสต์อื่นได้หากโดเมนที่ล้มเหลวของคุณเป็นโฮสต์ (ซึ่งเป็นค่าเริ่มต้นและแนะนำ) แต่คุณต้องรอจนกว่าจะกู้คืนได้ คุณมีเอาต์พุต `ceph osd tree` จากเวลาที่ล้มเหลวหรือไม่? หรือยังอยู่ในสถานะนี้?
uz flag
เพิ่งเพิ่มเอาต์พุต `ceph osd tree` ด้านบน ยังอยู่ในสถานะนี้ ดูเหมือนว่าจะเชื่อมโยงกับ CephFS ไม่ใช่ RBD แต่ฉันไม่แน่ใจ...
us flag
ข้อความ MDS แจ้งว่าคุณไม่มี daemon ที่สแตนด์บายเพื่อเข้าควบคุม CephFS ในกรณีที่ one daemon ของคุณทำงานล้มเหลว คุณมักจะต้องการให้มันซ้ำซ้อน แต่นั่นไม่ใช่ปัญหาที่นี่ สำหรับฉันมันยังคงดูเหมือนปัญหาเครือข่ายระหว่าง OSD เหล่านั้น
us flag
อีกหนึ่งคำถาม: คุณใช้คลาสอุปกรณ์ที่แตกต่างกัน (hdd/ssd) ในกฎความสนใจของคุณหรือไม่ เพราะนั่นอาจสร้างความแตกต่างในด้านประสิทธิภาพเมื่อ PG บางตัวอยู่บน HDD และตัวอื่นๆ บน SSD แต่อยู่ในกลุ่มเดียวกัน หากคุณไม่แยกความแตกต่าง คุณก็จะมี PG ส่วนใหญ่อยู่ใน HDD เช่นกัน เนื่องจากมีความจุมากกว่าและน้ำหนักการกดทับจึงสูงกว่า
uz flag
คุณพูดถูก ปัญหามาจากปัญหาเครือข่าย อย่างไรก็ตาม สวิตช์ไม่ได้กรอง/แยกเครือข่ายอย่างถูกต้อง ซึ่งทำให้ทั้งระบบทำงานผิดปกติ เครือข่ายได้รับการแก้ไขแล้ว แต่คลัสเตอร์ Ceph ยังไม่กู้คืน...
uz flag
เพื่อตอบคำถามอื่นๆ ของคุณเกี่ยวกับคลาสอุปกรณ์: เราได้สร้างแผนที่ CRUSH สองแบบที่แตกต่างกันสำหรับอุปกรณ์แต่ละประเภท เพื่อสร้าง 1 พูลพร้อม SSD และ 1 พูลพร้อม HDD (ซึ่งยังช่วยให้สามารถปรับแต่งภายใน VM ของเราได้อีกด้วย)
us flag
แต่คลัสเตอร์กำลังฟื้นตัวจริงหรือ คุณเห็นความคืบหน้าหรือไม่?

โพสต์คำตอบ

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