2019 Proxmox VE 中文使用者社團年會
Proxmox VE
功能概觀、案例分享與實用工具
耀達電腦股份有限公司 / 技術總監
中華民國軟體自由協會 / 理事長
晟鑫科技股份有限公司 / 開源解決方案顧問
資策會數位教育研究所 / 講師
2019 臺灣資安大會 / 講者
2018, 2019 國際資訊安全組織臺灣高峰會 / 講者
台中自由軟體愛好者社群 (TFC) / 共同創辦人
1
! !
2
多機叢集管理
各種儲存協定
備份還原功能
好用管理介面
主機線上遷移
多種認證機制
虛擬機與容器
支援二次開發
3
KVM
LXC
ZFS
Ceph
( )
Traditional Chinese
LXC
Storage
KVM
Cluster
Node
EC B 0E BI
- 6 0E BI
E C 0E BI m
C St
C St
0 B 9
E
PAM / PVE / AD / LDAP
e
- G B
B G fR
EA x
0 6E EA u x
0 AC c
A
複寫功能建基於 ZFS 檔案系統
F 9B L v
B ar o
4
容器
Container
Photo by https://github.com/waja/container_solutions/blob/master/container_solutions.md
LXC
KVM
LXC 節省資源
以 Nextcloud 為例
LXC
KVM
2.53GB
156MB
…
1 A
1 A
168G ▶ 73G
B 0 A 9 B9 9
超融合
Hyper-Converged Infrastructure
pve-ceph
Node A
Hypervisor
Storage
Manager
VM/CT
Node B Node C
Guest
VM/CT
Hypervisor
Storage
Manager
VM/CT
Hypervisor
Storage
Manager
VM/CT
pve-cluster
Photo by https://pve.proxmox.com/pve-docs/chapter-pveceph.html
叢集
Cluster
Node A
任一節點都能管理
Node B
Node C
Nodes ≦ 32
Proxmox VE 建議
Nodes ≦ 64
Proxmox VE 最大
(低網路延遲為關鍵)
高可用性
High Availability
Cluster and 3↑ Nodes
Share Storage or Replication
HA 先決條件
優先順序
HA 運作模式
接手啟動
HA 群組設定
HA 虛擬機或容器設定
儘管知道腦裂的風險,
還是想做兩節點 HA?
方法一:script 手動切換
https://github.com/jasoncheng7115/it-scripts/tree/master/proxmoxve
https://github.com/rkoberholtz/proxmox-2n-ha-monitor
方法二:monitor 自動切換
升級
Upgrade
" 一鍵升級 "
2.3
6.0
https://www.ithome.com.tw/tech/130492
y n b k hK
Proxmox VE 6.1
Linux Kernel 5.3 核心升級 (from 5.0)
Cluster 穩定性提升 (corosync & kronosnet)
2FA 雙因素驗證支援硬體式 TOTP Key
ifupdown2 免重開機套用網路設定
noVNC 縮放模式可由 [我的設定] 統一調整
Mobile UI 支援 2FA TOTP 登入
HA 增加遷移失敗後移回原節點之策略
PCIe Passthrough 支援至 16 個裝置 (原4個)
Proxmox VE 6.1
VM/CT 銷毀時一併處理備份與複寫
VM/CT 重新啟動可套用新設定 (原本要關機)
CT 增加 reboot 重新啟動
CT 支援能力更新 (CentOS 8 & Ubuntu 19.10)
SPICE Client 與 VM 間共享資料夾
SPICE USB Device 支援 USB 3
SPICE 加入 Audio Device 設定介面
Backup 支援啟用 IOThreads 的 VM
更多…https://pve.proxmox.com/wiki/Roadmap#Proxmox_VE_6.1
防火牆
Firewall
LXCKVM
安裝在客體機?
pve-firewall
更好運作效能
避免客體竄改
集中管理設定
pve-firewall 實際案例
pve-firewall 設定內容
pve-firewall 使用教學
http://blog.jason.tools/2019/09/2020-ironman-13.html
跨平台複寫
Cross-Platform Replication
ZFS Replication?
➡
Proxmox VE ➡ FreeNAS
# ( snap2 Proxmox VE )
# zfs send -v rpool/data/vm-100-disk-0@snap2 | ssh
freenas.server zfs recv -d -v stor5/vm
# ( snap3 Proxmox VE )
# zfs send -v -i snap2 rpool/data/vm-100-disk-
0@snap3 | ssh freenas.server zfs recv -d -v stor5/vm
Proxmox VE ⬅ FreeNAS
# FreeNAS FreeNAS
# zfs send -v stor5/vm/data/vm-100-disk-0@snap3 |
ssh pve.server zfs recv -d -v rpool/data
# ( Proxmox VE )
# zfs rename rpool/data/vm/data/vm-100-disk-0 rpool/
data/vm-100-disk-0
# zfs destroy -R rpool/data/vm
# ( Proxmox VE )
# zfs send -v rpool/data/vm/data/vm-100-disk-
0@snap3 | zfs recv -v rpool/data/vm-100-disk-0
# zfs destroy -R rpool/data/vm
限制
Limitation
上限
Nodes≦64
Guests≦900
達到上限解決方案
1. 分拆 Cluster
2. 考慮 OpenStack
需要資源調度機制
1. 利用 PVE API 開發
2. 參考 Script 調整
Proxmox Balancer Script
https://github.com/kcl-nmssys/python-proxmoxbalancer
Proxmox Balancer Script
依據節點虛擬機器計算分數
1 Core = 5 1 GB = 1
Proxmox Balancer Script
依據節點機器分數平衡調配
Score disparity > 30
往來移轉其它方案
1. 同為 KVM 最為容易

oVirt, Red Hat Virtualization,

OpenStack, Synology VMM…
2. 多種儲存格式可用

QCOW2, VMDK, RAW
5
國內建置實例
(1)
2 Nodes
VM Replication
1. VM 每 5 分鐘複寫,每次 6 秒內完
成 (搭配高速 SSD)
2. 叢集雙節點,節點 A 故障時手動執
行 Script 於節點 B 啟動 VM
國內建置實例
(2)
6 Nodes
FreeNAS
FreeNAS
Duplicati
Send
ZFS
ZFSSend
FreeNAS
❶
❷
❸ Cloud❹
3 /
2 /
1 /
60+x
客體機數量
七年
自 2012 年上線運作
海外建置實例
19 Nodes
VM Replication
19 Nodes…
1. VM 每 12 小時複寫,AP 本身已做高
可用能力
2. 叢集啟用 HA 機制,節點故障時自動
在指定目標節點啟動 VM
規劃評估案例
5 Nodes
1 service network
3 separate networks
6
pK g sMVT dwP
.B 2 dwP lN i


blog.jason.tools
1


slide.jason.tools
2
參
考
E D

Proxmox VE 功能概觀、案例分享與實用工具 [2019/12/07] @Proxmox VE 中文使用者社團 2019 年會