็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿงฑ Proxmox VE ้˜ฒๅ‘†่ˆ‡้ซ˜ๅฏ็”จ่จญ่จˆ:้ฟๅ…็ฏ€้ปžๅคฑ่ฏ、็ฃ็ขŸๅคฑๆ•ˆ่ˆ‡ Quorum ๆމ้ปž็š„ๅฎŒๆ•ดๆŒ‡ๅ—

    ๐Ÿงฑ Proxmox VE ้˜ฒๅ‘†่ˆ‡้ซ˜ๅฏ็”จ่จญ่จˆ:้ฟๅ…็ฏ€้ปžๅคฑ่ฏ、็ฃ็ขŸๅคฑๆ•ˆ่ˆ‡ Quorum ๆމ้ปž็š„ๅฎŒๆ•ดๆŒ‡ๅ—

    ๆžถ่จญ Proxmox VE ๅข้›†(Cluster)ๆ™‚,ๆœ€ๅธธ้‡ๅˆฐ็š„ๅ•้กŒๅŒ…ๅซ: ็ฏ€้ปžๅคฑ่ฏ、Quorum ๆถˆๅคฑ、่™›ๆ“ฌๆฉŸ็„กๆณ•็งป่ฝ‰、้ซ˜ๅฏ็”จ(HA)ๅคฑๆ•ˆ、Ceph OSD ๆމ้ปž、SSD ่ฎ€ๅฏซๅฟซๆŽ›

    ๆœฌๆ–‡ๅฐ‡็”จๆœ€ๅฎŒๆ•ด็š„ๆ–นๅผๆ•ด็†ๅ‡บ「Proxmox ้˜ฒๅ‘†่ˆ‡้ซ˜ๅฏ็”จๆžถๆง‹ๆœ€ไฝณๅฏฆๅ‹™」,็›ฎๆจ™ๆ˜ฏ่ฎ“ไฝ ็š„ๅข้›† ๆฐธ้ ็ถญๆŒ็ฉฉๅฎš,ไธๆœƒๅ› ็‚บๅ–ฎ้ปžๅ•้กŒๅฐŽ่‡ดๆ•ดๅ€‹็’ฐๅขƒๅœๆ“บ


    ๐Ÿ“Œ ไธ€、Proxmox Cluster ๆ˜“ๅฃž็š„็œŸๆญฃๅŽŸๅ› 

    ๅนพไนŽๆ‰€ๆœ‰ Proxmox ๅข้›†ๅ•้กŒ,้ƒฝๅฏ่ขซๆญธ้กž็‚บไธ‰ๅคง้กž:

    • ็ถฒ่ทฏๅ•้กŒ:Corosync ๅปถ้ฒ、Bond ๆจกๅผ้Œฏ่ชค、VLAN ้…็ฝฎ้Œฏ่ชค、MTU ไธไธ€่‡ด
    • ๅ„ฒๅญ˜ๅ•้กŒ:Ceph ๅ–ฎ้ปž、OSD ๆމ้ปž、SSD ๅฃฝๅ‘ฝ้Ž็Ÿญ、ZFS over-provision ้Ž้ซ˜
    • ็ฏ€้ปžๅ•้กŒ:ๆ™‚้–“ไธๅŒๆญฅ、CPU C-State、Power Saving ้€ ๆˆๅก้ “ๆˆ–ๅปถ้ฒ

    Proxmox ๅข้›†ๆœ€ๆ€•็š„ๆ˜ฏ: ็ถฒ่ทฏๅปถ้ฒ + ๅ„ฒๅญ˜ไธ็ฉฉ = Corosync ้Ž่ผ‰ = Quorum ๆމ้ปž = ๆ•ดๅ€‹ๅข้›†็„กๆณ•ๆ“ไฝœ


    ๐Ÿ“Œ ไบŒ、ๅปบ่ญฐ็š„ Proxmox HA ็ถฒ่ทฏๆžถๆง‹(ASCII ็คบๆ„)

    3 Nodes Cluster(ๅปบ่ญฐ 3、5、7 ๅฐ,ไธ่ฆ 2 ๅฐ)
    ---------------------------------------------
    
           (Corosync / Cluster Network)
         10.0.0.0/24 —— ไฝŽๅปถ้ฒ็จ็ซ‹็ถฒๆฎต
    
      +-----------+      +-----------+      +-----------+
      |   Node1   |      |   Node2   |      |   Node3   |
      | vmbr0 mgmt|      | vmbr0 mgmt|      | vmbr0 mgmt|
      +-----+-----+      +-----+-----+      +-----+-----+
            |                   |                   |
            +--------Bond0------+--------Bond0------+----- (Cluster Net)
                    (LACP / Active-Backup)
      

    ้‡้ปž:

    • Cluster Network(Corosync)ๅฟ…้ ˆ่ˆ‡ VM Traffic ๅˆ†้›ข
    • ๅปบ่ญฐๅ…ฉๅผต็ถฒๅกๅš Bond0 (active-backup) ๆˆ– LACP
    • Cluster/HA/Corosync ไธ่ฆ่ท‘ๅœจ VLAN trunk ่ฃก,ๅปถ้ฒๆœƒๆ›ด้ซ˜
    • ไธ‰ๅฐไปฅไธŠๆ‰่ƒฝๆœ‰ Quorum(2 ๅฐไธ€ๅฎšๆœƒๅ•้กŒๅคš)

    ๐Ÿ“Œ ไธ‰、Proxmox ๅฟ…ๅš็š„็ฉฉๅฎš่ชฟๆ ก(้˜ฒๅ‘†่จญๅฎš)

    1. ้—œ้–‰ CPU C-State(้ฟๅ…ๅก้ “่ˆ‡ Corosync spike)

    # ๅœจ BIOS ไธญ้—œ้–‰ไธ‹ๅˆ—:
    Intel SpeedStep
    C1E Support
    C-State
    Package C-State limit (่จญ็‚บ C0)
      

    2. ้–‹ๅ•Ÿ chrony(ๆ™‚้–“ไธๅŒๆญฅๆœƒๅฐŽ่‡ดๅข้›†ๅคฑ่ฏ)

    apt install chrony -y
    systemctl enable chronyd --now
      

    3. Cluster Network ไฝฟ็”จๅฐˆ็ทš(้ฟๅ…ๅปถ้ฒ)

    ping -f 10.0.0.12
    # ๅฆ‚ๆžœๅปถ้ฒ่ถ…้Ž 1ms ๅฐฑไธๅปบ่ญฐ่ท‘ HA
      

    4. Corosync ่จญๅฎš่ชฟๆ•ด

    /etc/pve/corosync.conf
    rrp_mode: passive
    token: 3000
    consensus: 6000
    join: 60
      

    token/consensus ๅŠ ้•ทๅฏไปฅ้ฟๅ…「็žฌๆ–ทๅฐฑๆމ cluster」ๅ•้กŒ。


    ๐Ÿ“Œ ๅ››、่จˆๅŠƒ Ceph ็š„้˜ฒๅ‘†่จญ่จˆ(้ฟๅ… OSD、MON ๆމ้ปž)

    Ceph ๆ˜ฏๆ•ดๅ€‹ๅข้›†ไธญๆœ€ๅฎนๆ˜“ๅ› ็กฌ้ซ”ๅ•้กŒ่€Œ้€ฃ้Ž–ๅดฉๅฃž็š„้ƒจๅˆ†。

    1. ๆฏๅฐ่‡ณๅฐ‘่ฆๆœ‰ 1 MON、1 MGR

    Node1 → MON + MGR
    Node2 → MON + MGR
    Node3 → MON + MGR
      

    2. OSD ๅปบ่ญฐ่‡ณๅฐ‘ 6 ้ก†(ๆฏ็ฏ€้ปž 2 ้ก†)

    • SSD / NVMe ๅปบ่ญฐ Enterprise ็ดš(DWPD>1)
    • ไธ่ฆ็”จ TLC/QLC ๅฎถ็”จ SSD,OSD ๆฅตๆ˜“ๆๅฃž

    3. Ceph Network ไธ€ๅฎš่ฆ็จ็ซ‹(ไธ่ฆ่ท‘ๅœจ mgmt)

    Public Network:   10.10.0.0/24
    Cluster Network:  10.11.0.0/24
      

    4. ่จญๅฎšๅฅๅบทๆชขๆธฌ

    ceph osd set-require-min-compat-client luminous
      

    ๐Ÿ“Œ ไบ”、้ฟๅ… Quorum ๆމ้ปž:ๅข้›†ๆœ€้‡่ฆ็š„้˜ฒๅ‘†

    Proxmox ๅข้›†ๅคฑ่ฏ็š„ 70% ้ƒฝ่ˆ‡ Quorum ๆœ‰้—œ。

    1. ไฝฟ็”จ「ๅฅ‡ๆ•ธ็ฏ€้ปž」

    3 ๅฐ → ๆœ€ไฝŽๅฏ้‹ไฝœ:2
    5 ๅฐ → ๆœ€ไฝŽๅฏ้‹ไฝœ:3
    7 ๅฐ → ๆœ€ไฝŽๅฏ้‹ไฝœ:4
      

    2. ๅƒ่ฌไธ่ฆ้€™ๆจฃๅš:

    • ❌ ๅ…ฉ็ฏ€้ปž cluster(้žๅธธๅฎนๆ˜“ split-brain)
    • ❌ Cluster Network ๆ”พๅœจ VLAN trunk
    • ❌ ็”จๅฎถ็”จ switch
    • ❌ ไฝฟ็”จ QLC/TLC SSD ็•ถ OSD

    3. ้–‹ๅ•Ÿ QDevice(็ตฆๅ…ฉ็ฏ€้ปž็”จ็š„,ๆˆ–็”จๆ–ผๆๅ‡ๅฏ็”จๆ€ง)

    pvecm qdevice setup 
      

    QDevice ๆœฌ่ณชๆ˜ฏ「ๆŠ•็ฅจๆฉŸๅ™จ」,่ฎ“ Quorum ไธๅฎนๆ˜“ๆމ。


    ๐Ÿ“Œ ๅ…ญ、ๅฆ‚ไฝ•้ฟๅ…็ฏ€้ปžๆމ็ทš(Node lost)

    Proxmox ็ฏ€้ปžๆމ็ทšๅธธ่ฆ‹ๅŽŸๅ› :

    • ็ถฒ่ทฏ delay > 5ms(ๆœ€ๅธธ่ฆ‹)
    • NTP ไธๅŒๆญฅ
    • CPU ็œ้›ปๆจกๅผ
    • Bond ่จญ็ฝฎ้Œฏ่ชค(802.3ad ๆ› port、hash ไธไธ€่‡ด)
    • Cluster Network ๆทท้›œ VM Traffic

    ๅปบ่ญฐๆชขๆŸฅๆ–นๅผ

    # ๆชขๆŸฅ corosync ็‹€ๆ…‹
    pvecm status
    
    # ๆชขๆŸฅๅปถ้ฒ
    corosync-cfgtool -s
    
    # ๆชขๆŸฅ็ฏ€้ปž log
    journalctl -f
      

    ๐Ÿ“Œ ไธƒ、Proxmox HA ๅฟ…ๅš็š„「ๅฎŒๆ•ด้˜ฒๅ‘†้…็ฝฎ」

    ไปฅไธ‹็‚บไผๆฅญ็”จ็š„ๆœ€ไฝณ HA ้…็ฝฎ:

    1. Cluster Network ๅฐˆ็ทš + Bond0
    2. Management Network (vmbr0) ๅˆ†้›ข
    3. Ceph Public/Cluster network ๅˆ†้›ข
    4. ็ฏ€้ปž CPU C-State ้—œ้–‰
    5. ๅ…จ้ƒจไฝฟ็”จ Enterprise SSD / NVMe(DWPD>1)
    6. Bios ่จญ็ฝฎๅ›บๅฎšๆจกๅผ(Performance、ๅœ็”จ็œ้›ป)
    7. ๅ•Ÿ็”จ chrony,ๆ‰€ๆœ‰็ฏ€้ปžๅฎŒๅ…จๅŒๆญฅ
    8. ็ฆ็”จๅ…ฉๅฐ cluster,่‡ณๅฐ‘ไธ‰ๅฐ

    ๐Ÿ“Œ ๅ…ซ、็ฏ„ไพ‹:ๆœ€ไฝณ Proxmox Cluster ไธ‰็ถฒๅŠƒๅˆ†(ไผๆฅญ็‰ˆ)

    vmbr0 → Management
    vmbr1 → Ceph Public (10.10.0.x)
    vmbr2 → Ceph Cluster (10.11.0.x)
    bond0 → Corosync (Cluster Net)
      

    ้€™็จฎๆžถๆง‹็š„ๅ„ช้ปž:

    • ็ฎก็†、Ceph、Cluster ๅˆ†้›ข,ไธไบ’็›ธๅนฒๆ“พ
    • ๅปถ้ฒๆฅตไฝŽ,HA ไธๆœƒไบ‚่ทณ
    • ไปปไฝ•ไธ€ๅ€‹็ถฒ่ทฏๅ‡บๅ•้กŒไธๆœƒๆ‹–ๅžฎๅข้›†

    ๐Ÿ“Œ ไน、ๅธธ่ฆ‹็š„้Œฏ่ชคๆžถๆง‹(ๅ‹™ๅฟ…้ฟๅ…)

    • ❌ ๅ†ๅคง็š„็’ฐๅขƒๅชๆœ‰ 2 ๅ€‹ Node
    • ❌ Ceph + ็ฎก็† + VM + Corosync ๅ…จ้ƒจ่ท‘ๅŒไธ€็ถฒๅก
    • ❌ VLAN Trunk ๅ…ง่ท‘ Corosync
    • ❌ Home Switch ็•ถๆ ธๅฟƒไบคๆ›ๅ™จ
    • ❌ ไฝฟ็”จ SATA SSD ้‹ช Ceph

    ๐Ÿ“Œ ๅ、็ธฝ็ต(ไฝ ๆ‡‰่ฉฒ้€™ๆจฃๅš)

    ๅฆ‚ๆžœ่ฆ่ฎ“ Proxmox Cluster ๆฐธ้ ไธๆމ、ๆฐธ้ ไธๅฃž,ไฝ ๅฟ…้ ˆ้ตๅฎˆไปฅไธ‹ๅŽŸๅ‰‡:

    • ✔ Cluster Network ไธ€ๅฎš็จ็ซ‹
    • ✔ Corosync ๅปถ้ฒ้œ€ๅฐๆ–ผ 2ms
    • ✔ Ceph ้œ€ไฝฟ็”จ Enterprise SSD
    • ✔ ๅฟ…่ฆๆ™‚ๅ•Ÿ็”จ QDevice
    • ✔ ้—œ้–‰ BIOS ็ฏ€่ƒฝๆฉŸๅˆถ
    • ✔ ๅฟ…ๅฎšไฝฟ็”จๅฅ‡ๆ•ธ็ฏ€้ปž

    ๅšๅˆฐ้€™ไบ›,ไฝ ็š„ Proxmox ๅข้›†ๅฐ‡่ƒฝๅœจ็กฌ้ซ”ๆ•…้šœ、็ถฒ่ทฏ็žฌๆ–ท、็”š่‡ณ OSD ๆๆฏ€็š„ๆƒ…ๆณไธ‹,ไป็„ถไฟๆŒ้ซ˜ๅฏ็”จๆ€งไธฆๅฟซ้€Ÿๆขๅพฉ。

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš