跳到主內容

Proxmox VE 5x to 6x 升級

Proxmox VE 已經釋放出新版的 6 版,改版內容如下或者連到官方看修改什麼內容 官方 wiki 公告內容

官方最新消息 Proxmox VE 6.0 available with Ceph Nautilus and Corosync 3

此版改版內容


  • Based on Debian Buster 10.0
  • Pre-upgrade checklist tool `pve5to6` - available on Proxmox VE 5.4 and V 6.0
    • Running `pve5to6` checks for common pitfalls known to interfere with a clean upgrade process.
  • Corosync 3.0.2 using Kronosnet as transport
    • Default transport method now uses unicast, this can simplify setups where the network had issues with multicast.
    • New Web GUI Network selection widget avoids making typos when choosing the correct link address.
    • Currently, there is no multicast support available (it's on the kronosnet roadmap).
  • LXC 3.1
  • Ceph Nautilus 14.2.x
    • Better performance monitoring for rbd images through `rbd perf image iotop` and `rbd perf image iostat`.
    • OSD creation, based on ceph-volume: integrated support for full disk encryption of OSDs.
    • More robust handling of OSDs (no more mounting and unmounting to identify the OSD).
    • ceph-disk has been removed: After upgrading it is not possible to create new OSDs without upgrading to Ceph Nautilus.
    • Support for PG split and join: The number of placement groups per pool can now be increased and decreased. There is even an optional plugin in ceph-manager to automatically scale the number of PGs.
    • New messenger v2 protocol brings support for encryption on the wire (currently this is still experimental).
    • See http://docs.ceph.com/docs/nautilus/releases/nautilus/ for the complete release notes.
  • Improved Ceph administration via GUI
    • A cluster-wide overview for Ceph is now displayed in the 'Datacenter View' too.
    • The activity and state of the placement groups (PGs) is visualized.
    • The version of all Ceph services is now displayed, making detection of outdated services easier.
    • Configuration settings from the config file and database are displayed.
    • You can now select the public and cluster networks in the GUI with a new network selector.
    • Easy encryption for OSDs with a checkbox.
  • ZFS 0.8.1
    • Native encryption for datasets with comfortable key-handling by integrating the encryption directly into the `zfs` utilities. Encryption is as flexible as volume creation and adding redundancy - the gained comfort w.r.t. dm-crypt is comparable to the difference between mdadm+lvm to zfs.
    • Allocation-classes for vdevs: you can add a dedicated fast device to a pool which is used for storing often accessed data (metadata, small files).
    • TRIM-support - use `zpool trim` to notify devices about unused sectors.
    • Checkpoints on pool level.
    • See https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.8.0 and https://github.com/zfsonlinux/zfs/releases/tag/zfs-0.8.1 for the complete release notes.
  • Support for ZFS on UEFI and on NVMe devices in the installer
    • You can now install Proxmox VE with its root on ZFS on UEFI booted systems.
    • You can also install ZFS on NVMe devices directly from the installer.
    • By using `systemd-boot` as bootloader all pool-level features can be enabled on the root pool.
  • Qemu 4.0.0
    • Live migration of guests with disks backed by local storage via GUI.
    • Added support for more Hyper-V enlightenments improving Windows performance in a virtual machine under Qemu/KVM.
    • Mitigations for the performance impact of recent Intel CPU vulnerabilities.
    • More VM CPU-flags can be set in the web interface.
    • Newer virtual PCIe port hardware for machine type q35 in version >= 4.0. This fixes some passthrough issues.
    • Support for custom Cloudinit configurations:
      • You can create a custom Cloudinit configuration and store it as snippet on a storage.
      • The `qm cloudinit dump` command can be used to get the current Cloudinit configuration as a starting point for extensions.
  • Firewall improvements
    • Improved detection of the local network so that all used corosync cluster networks get automatically whitelisted.
    • Improved firewall behavior during cluster filesystem restart, e.g. on package upgrade.
  • Mount options for container images
    • You can now set certain performance and security related mount options for each container mountpoint.
  • Linux Kernel
    • Updated 5.0 Kernel based off the Ubuntu 19.04 "Disco" kernel with ZFS.
    • Intel in-tree NIC drivers are used:
      • Many recent improvements to the kernel networking subsystem introduced incompatibilities with the out of tree drivers provided by Intel, which sometimes lag behind on support for new kernel versions. This can lead to a change of the predictable network interface names for Intel NICs.
  • Automatic cleanup of old kernel images
    • Old kernel images are not longer marked as NeverAutoRemove - preventing problems when /boot is mounted on a small partition.
    • By default the following images are kept installed (all others can be automatically removed with `apt autoremove`):
      • the currently running kernel
      • the version being newly installed on package updates
      • the two latest kernels
      • the latest version of each kernel series (e.g. 4.15, 5.0)
  • Guest status display in the tree view: Additional states for guests (migration, backup, snapshot, locked) are shown directly in the tree overview.
  • Improved ISO detection in the installer: The way how the installer detects the ISO was reworked to include more devices, alleviating problems of detection on certain hardware.
  • Pool level backup: It is now possible to create a backup task for backing up a whole pool. By selecting a pool as backup target instead of an explicit list of guests, new members of the pool are automatically included, and removed guests are automatically excluded from the backup task.
  • New User Settings and Logout menu.
  • Automatic rotation of authentication key every 24h: by limiting the key lifetime to 24h the impact of key leakage or a malicious administrator are reduced.
  • The nodes Syslog view in the GUI was overhauled and is now faster.
  • Sheepdog is no longer maintained, and thus not supported anymore as Storage plugin.
  • `ceph-disk` has been removed in Ceph Nautilus - use `ceph-volume` instead.
  • Improved reference documentation
  • Upgrade documentation: https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0
  • Countless bug fixes and package updates (for all details see bugtracker and GIT)

5版更新到6版


如何更新到 6 版,官方有建議先更新到 5 版最新版次之後再進行更新到 6 版,目前 5 版最新版次為 5.4-11

更新 5 版指令

apt update && apt dist-upgrade -y
更新完建議重開機
init 6

先下「pve5to6 」檢清更新的清單,執行結果如下

# pve5to6

= CHECKING VERSION INFORMATION FOR PVE PACKAGES =

Checking for package updates..
PASS: all packages uptodate

Checking proxmox-ve package version..
PASS: proxmox-ve package has version >= 5.4-2

Checking running kernel version..
PASS: expected running kernel '4.15.18-18-pve'.

= CHECKING CLUSTER HEALTH/SETTINGS =

SKIP: standalone node.

= CHECKING HYPER-CONVERGED CEPH STATUS =

SKIP: no hyper-converged ceph setup detected!

= CHECKING CONFIGURED STORAGES =

PASS: storage 'local-zfs' enabled and active.
PASS: storage 'local' enabled and active.

= MISCELLANEOUS CHECKS =

INFO: Checking common daemon services..
PASS: systemd unit 'pveproxy.service' is in state 'active'
PASS: systemd unit 'pvedaemon.service' is in state 'active'
PASS: systemd unit 'pvestatd.service' is in state 'active'
INFO: Checking for running guests..
PASS: no running guest detected.
INFO: Checking if the local node's hostname 'TN2-PVE-03' is resolvable..
INFO: Checking if resolved IP is configured on local node..
PASS: Resolved node IP '172.16.2.3' configured and active on single interface.
INFO: Checking KVM nesting support, which breaks live migration for VMs using it..
PASS: KVM nested parameter not set.

= SUMMARY =

TOTAL:    13
PASSED:   11
SKIPPED:  2
WARNINGS: 0
FAILURES: 0

pveupdate6-01.png

叢集要先更新到 Corosync 3


如果有做叢集的話最好要一起更新,因為此版本會跟舊版是無法共存的,不能只更新一台不然會有問題。

首先要先停用 HA 服務

systemctl stop pve-ha-lrm

Only after the above was done for all nodes, run the following on each node
systemctl stop pve-ha-crm

新增加 Proxmox Corosync 3 來源庫

echo "deb http://download.proxmox.com/debian/corosync-3/ stretch main" > /etc/apt/sources.list.d/corosync3.list

更新來源庫

apt update

顯示要更新的清單

apt list --upgradeable

pveupdate6-02.png

有兩種方法更新 Corosync:

  • 節點逐步更新
  • 同時更新所有節點

注意:在更新期間所有的節點,不要做何任的 VM 及 CT 更新

所有節點先預載 Corosync-3

 apt dist-upgrade --download-only

直接更新

 apt dist-upgrade -y

檢查目前的狀態

pvecm status

pveupdate6-03.png

重新啟動剛剛停用的服務

systemctl start pve-ha-lrm && systemctl start pve-ha-crm

下此指令幫您修改 「sources.list」內容把 「 Debian 」來源庫更新到 「 Buster 」 

sed -i 's/stretch/buster/g' /etc/apt/sources.list

「sources.list」  內容

修改前

deb http://ftp.tw.debian.org/debian stretch main contrib

deb http://ftp.tw.debian.org/debian stretch-updates main contrib

# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian stretch pve-no-subscription

# security updates
deb http://security.debian.org stretch/updates main contrib

修改後

deb http://ftp.tw.debian.org/debian buster main contrib

deb http://ftp.tw.debian.org/debian buster-updates main contrib

# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve buster pve-no-subscription

# security updates
deb http://security.debian.org buster/updates main contrib

如果有使用 Ceph 服務更新如下,此來源庫會自動幫你從 pve 官方文件庫下載本機上並且是獨新的檔案,不需要手動添加來源庫

echo "deb http://download.proxmox.com/debian/ceph-luminous buster main" > /etc/apt/sources.list.d/ceph.list

更新到 6 版


以上流程跑完之後就可以開始更新到 6 版 

apt update && apt dist-upgrade -y

跑到一半會出現此訊息,只要按下 enter 繼續更新

W: (pve-apt-hook) !! ATTENTION !!
W: (pve-apt-hook) You are attempting to upgrade from proxmox-ve '5.4-2' to proxmox-ve '6.0-2'. Please make sure to read the Upgrade notes at
W: (pve-apt-hook)       https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0
W: (pve-apt-hook) before proceeding with this operation.
W: (pve-apt-hook)
W: (pve-apt-hook) Press enter to continue, or C^c to abort.

pveupdate6-04.png

執行到一半會出新要更新的清單,給您看只要 enter 到最下面之後按下 q 離開就會繼續更新。

pveupdate6-05.png

再來會出現一個畫面選擇語系,就預設就可以了。

更新詢問訊息,只要預設就可以了直接按下 Enter 鍵即可

Configuration file '/etc/issue'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** issue (Y/I/N/O/D/Z) [default=N] ? 

顯示會修改一更設定檔,選擇 yes 就可以繼續更新

pveupdate6-06.png

更新到最後詢問,這是在訊詢訂閱的設定檔,直接預設按下 Enter   鍵即可

Configuration file '/etc/apt/sources.list.d/pve-enterprise.list'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** pve-enterprise.list (Y/I/N/O/D/Z) [default=N] ? 

pveupdate6-07.png

更新完之後記得要重啟 PVE 主機

更新完後,再將剛剛我們建立的 「 corosync 」來源庫刪除

rm /etc/apt/sources.list.d/corosync3.list

 

參考相關網頁: