Proxmox Ceph - 在單獨的網路上逾時

Proxmox Ceph - 在單獨的網路上逾時

我已經在 4 個節點上安裝了具有 Proxmox 的全新作業系統。每個節點有 2xNVMe 和 1xHD,1 個公用網路卡,1 個私有網路卡。在公共網路上,有一個額外的wireguard介面運行用於PVE集群通訊。私有介面應該僅用於即將到來的分散式儲存。

# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc mq state UP group default qlen 1000
    link/ether 6c:b3:11:07:f1:18 brd ff:ff:ff:ff:ff:ff
    inet 10.255.255.2/24 brd 10.255.255.255 scope global enp3s0
       valid_lft forever preferred_lft forever
    inet6 fe80::6eb3:11ff:fe07:f118/64 scope link 
       valid_lft forever preferred_lft forever
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether b4:2e:... brd ff:ff:ff:ff:ff:ff
    inet 168..../26 brd 168....127 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 2a01:.../128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::b62e:99ff:fecc:f5d0/64 scope link 
       valid_lft forever preferred_lft forever
4: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
    link/ether a2:fd:6a:c7:f0:be brd ff:ff:ff:ff:ff:ff
    inet6 2a01:....::2/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::..:f0be/64 scope link 
       valid_lft forever preferred_lft forever
6: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    inet 10.3.0.10/32 scope global wg0
       valid_lft forever preferred_lft forever
    inet6 fd01:3::a/128 scope global 
       valid_lft forever preferred_lft forever

節點正常,PVE 叢集如預期運作。

# pvecm status
Cluster information
-------------------
Name:             ac-c01
Config Version:   4
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Tue Dec 15 22:36:44 2020
Quorum provider:  corosync_votequorum
Nodes:            4
Node ID:          0x00000002
Ring ID:          1.11
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   4
Highest expected: 4
Total votes:      4
Quorum:           3  
Flags:            Quorate 

Membership information
----------------------
    Nodeid      Votes Name
0x00000001          1 10.3.0.4
0x00000002          1 10.3.0.10 (local)
0x00000003          1 10.3.0.13
0x00000004          1 10.3.0.16

PVE 防火牆在叢集中處於活動狀態,但有一條規則,即所有 PVE 節點都可以在任何介面上的任何連接埠上透過任何協定相互通訊。這是真的 - 我可以在所有 IP 上的所有節點之間執行 ping、ssh 等操作。

然後我安裝了ceph。

pveceph install

在第一個節點上,我用以下命令初始化了 ceph

pveceph init -network 10.255.255.0/24
pveceph createmon

這樣可行。

在第二個 - 我嘗試了相同的(我不確定,是否需要設置選項-network- 我嘗試了有和沒有)。這也有效。

但 pveceph createmon 在任何節點上都會失敗:

# pveceph createmon
got timeout

我還可以訪問任何節點上的連接埠 10.255.255.1:6789。無論我嘗試什麼 - 我在任何節點上都會遇到“超時”,然後是節點1。另外,停用防火牆也沒有任何效果。

當我刪除該-network選項時,我可以運行所有命令。看起來它無法透過第二個介面進行通訊。不過介面還是不錯的。

當我將網路設定為10.3.0.0/24cluster-network時10.255.255.0/24,它也可以工作,但我希望所有 ceph 通訊都通過10.255.255.0/24.怎麼了?

答案1

僅供參考,官方文件提到巨型幀帶來了重要的性能改進:

https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/4/html/configuration_guide/ceph-network-configuration#verifying-and-configuring-the-mtu-value_conf

https://ceph.io/en/news/blog/2015/ceph-loves-jumbo-frames/

我就是其中之一,在更改我們設定的 6 個節點(3 個儲存節點、3 個運算節點)上的 MTU 後,讀/寫效能提高了約 1400%。

不,這不是一個錯字。我們dd在 Linux VM 中測試時的讀取/寫入速度從 110 MB/s 提高到了 1.5-1.6 GB/s(1 Gbps 公共網路、10 Gbps 專用網路、SATA SSD 上的 OSD)。

注意:更改所有網路介面(公共和私有)上的 MTU 似乎非常重要!在我們的例子中,僅在專用網路卡上更改它會使整個系統變得混亂。

來自 Redhat 的文檔:

重要的

紅帽 Ceph 儲存要求通訊路徑中的所有網路設備(公共網路和叢集網路的端對端)具有相同的 MTU 值。

我希望這可以幫助別人!乾杯

答案2

問題是 - MTU 9000 是一個問題。即使我透過專用網路運行完整的 Proxmox 集群,也會出現錯誤。

ip link set enp3s0 mtu 1500

所以,Ceph 存在巨型幀的問題。

相關內容