Proxmox
Ceph:是否可以在活動池上設置較低的“大小”參數?
我有一個使用 Ceph 作為主要 VM 儲存後端的 5 節點 Proxmox 集群。Ceph 池目前配置
size
為 5(每個 OSD 每個節點 1 個數據副本)和min_size
1。由於size
設置較高,池中的大部分可用空間被用於儲存不必要的副本(Proxmox 5-node集群可以同時支持不超過 2 個節點故障),因此我的目標是size
通過更改池本身的設置將參數減少到 3,從而增加可用池空間。我瀏覽了 Proxmox 和 Ceph 文件,但找不到有關減少
size
實時池參數的資訊。我確實找到了設置size
參數的命令,但不確定我可能遇到的任何潛在問題,或者是否可以減少size
實時池上的參數。不幸的是,我也無法執行任何測試,因為該池正在生產中執行。我已經考慮過簡單地創建一個具有適當參數的新池,但如果可以的話,我寧願節省將數據從一個池遷移到另一個池的時間。
提前致謝。
編輯:
root@node1:~# ceph osd pool ls detail pool 4 'ceph-5' replicated size 5 min_size 1 crush_rule 0 object_hash rjenkins pg_num 512 pgp_num 512 autoscale_mode warn last_change 42673 flags hashpspool,selfmanaged_snaps stripe_width 0 application rbd
在糾刪碼池中,您無法減小池的大小,這僅適用於複製池。由於您提到 min_size 1 您可能有一個複制池。您可以通過添加
ceph osd pool ls detail
問題來確認嗎?如有必要,屏蔽任何敏感數據。更改池的大小不應該太具有侵略性,但當然很大程度上取決於實際負載和性能,因為它會導致一些數據移動。順便說一句,不要使用 min_size 1 而是使用 2,即使 size 為 3。如果某些磁碟/伺服器發生故障並且您只剩下 1 個副本但客戶端仍然能夠寫入集群,則您可能會面臨數據失去的風險。當 min_size 為 2 時,只要只剩下 1 個副本,I/O 就會停止,直到您恢復。但數據失去的風險降低了。