差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

下次修改
前次修改
tech:pve6to7 [2021/07/31 18:37] – 建立 jonathantech:pve6to7 [2022/06/22 08:54] (目前版本) – [執行升級] jonathan
行 1: 行 1:
 ====== PVE 6 升級到 7 紀錄 ====== ====== PVE 6 升級到 7 紀錄 ======
 +<note>
 +**實際採用 PEV 6 與 PVE 7 兩組 Cluster 並存的模式移轉運行, 處理紀錄請參考 [[tech/pve6_and_pve7]]**
 +</note>
 +
 +<WRAP center round important 60%>
 +  * 參考 - https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Old_Container_and_CGroupv2
 +  * 升級 cgroup-v2 需要讓 CT 內的 OS 升級至版本 Exp. CentOS 7 -> CentOS 8
 +  * 強制設定使用舊版 cgroup 似乎不是那容易搞定 [[https://forum.proxmox.com/threads/unified-cgroup-v2-layout-upgrade-warning-pve-6-4-to-7-0.92459/page-2|參考這討論]][[https://pve.proxmox.com/pve-docs/chapter-pct.html#pct_cgroup_compat|這說明]]
 +  * 因環境有大量 CT 使用 CentOS 7, 考慮升級過程還能讓服務持續運作, 決定採用 PEV 6 與 PVE 7 兩組 Cluster 並存的模式移轉運行
 +</WRAP>
 +
 依照官方的 wiki 說明升級程序, 似乎不太困難, 因此將實際的升級程序操作紀錄在底下 依照官方的 wiki 說明升級程序, 似乎不太困難, 因此將實際的升級程序操作紀錄在底下
  
行 6: 行 17:
   - 將現在 PVE 6 所有主機都先生級到最新版本 Exp. 6.4-13 (有更新到 linux-kernel 需要重開機)   - 將現在 PVE 6 所有主機都先生級到最新版本 Exp. 6.4-13 (有更新到 linux-kernel 需要重開機)
   - 有同時安裝 PBS(Proxmox Backup Server)需要先將 PBS 升級到 2.x 參考 [[tech:pbs1to2]]   - 有同時安裝 PBS(Proxmox Backup Server)需要先將 PBS 升級到 2.x 參考 [[tech:pbs1to2]]
-  - Reliable access to all configured storage 
-  - A healthy cluster 
-  - Valid and tested backup of all VMs and CTs (in case something goes wrong) 
-  - Correct configuration of the repository 
-  - At least 4 GiB free disk space on the root mount point. 
-  - Check known upgrade issues 
- 
   - 確定可以穩定存取每一台的參數檔儲存區 (萬一有異常可以直接進去手動修改)   - 確定可以穩定存取每一台的參數檔儲存區 (萬一有異常可以直接進去手動修改)
   - 確定目前的 Cluster 是健康穩定狀態   - 確定目前的 Cluster 是健康穩定狀態
   - 驗證與測試所有 VM 與 CT 的備份都是正確 (萬一出現災難還有降災還原的機會)   - 驗證與測試所有 VM 與 CT 的備份都是正確 (萬一出現災難還有降災還原的機會)
   - 確定是正確升級存儲庫的配置   - 確定是正確升級存儲庫的配置
-  - 根目錄至少要有 1GB 的磁碟空間 +  - 根目錄至少要有 4GB 的磁碟空間 
-  - Ceph: upgrade the Ceph cluster to Nautilus after you have upgraded: Follow the guide Ceph Luminous to Nautilus +  - [[https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0#Known_upgrade_issues|看一下已知的可能升級議題]]
-  - [[https://pve.proxmox.com/wiki/Upgrade_from_5.x_to_6.0#Known_upgrade_issues|看一下已知的可能升級議題]]+
  
 ==== 執行升級 ==== ==== 執行升級 ====
-  - 所有主機都執行升級檢測工具 <code sh>pve5to6</code>正常應該只會出現個警告與一個錯誤 +  - 所有主機都執行升級檢測工具 <cli>pve6to7 --full</cli如果有使用 CT 裡面是 CentOS7/Ubuntu16 .. 會出現個警告<file> 
-    - 警告 : <file>WARN: 8 running guest(sdetected - consider migrating or stopping them.</file>正式升級時要遷移或關閉 VM 與 CT +WARN: Found at least one CT (103which does not support running in a unified cgroup v2 layout
-    - 錯誤 : <file>FAIL: corosync 2.x installed, cluster-wide upgrade to 3.x needed!</file>所以需要先進行 corosync 升級 +    Either upgrade the Container distro or set systemd.unified_cgroup_hierarchy=0 in the Proxmox VE hosts' kernel cmdlineSkipping further CT compat checks. 
-      遷移或關閉 VM 與 CT +</file> 
-      - 再次執行 pve5to6 已經沒有警告項目 +  將所有 VM/CT 移到其他主機 
-      - 關閉所有主機 HA 機制<code sh>systemctl stop pve-ha-lrm</code> +  避免升級 PVE 7 會更變 Bridge 的 MAC , 所以可以選擇以下其中一個方式處理: 
-      每個節點都執行完成關閉 pve-ha-lrm 可以執行以下命令<code sh>systemctl stop pve-ha-crm</code+    * 安裝 ifupdown2 <cli> 
-      - 設定 Corosync 3 存儲庫 <code sh>echo "deb http://download.proxmox.com/debian/corosync-3/ stretch main" > /etc/apt/sources.list.d/corosync3.list</code+apt install ifupdown2 -
-      執行更新 Corosync 3 每一台都執行一遍, 過程會看到部份主機離線, 但還是可以連上<code sh>+ifreload -
 +</cli
 +    * 在 /etc/network/interfaces 內針對 vmbr0 ... 進行指現有的 MAC , Exp. <cli> 
 +: 
 +auto vmbr0 
 +iface vmbr0 inet static 
 +    address 192.168.X.Y/24 
 +    hwaddress aa:bb:cc:12:34 
 +    # ... remaining options 
 +</cli
 +  - 更新 apt repo 設定<cli>
 apt update apt update
-apt list --upgradable 
 apt dist-upgrade apt dist-upgrade
-</code> +sed -i 's/buster\/updates/bullseye-security/g;s/buster/bullseye/g' /etc/apt/sources.list 
-      - 確認 Cluster 是否都正確<code sh>pvecm status</code> +</cli
-      如果更新都沒問題就啟動 HA 服務<code sh> +  - 進行 Debian Bullseye 與 PVE 7 更新<cli>
-systemctl start pve-ha-lrm +
-systemctl start pve-ha-crm +
-</code> +
-    - 所有主機再都執行升級檢測工具 <code sh>pve5to6</code>正常應該不會出現錯誤項目 +
-  - 主機升級前, 先將重要的 VM 與 CT 遷移到其他主機上 +
-  - 再次確認目前執行環境是 PVE 5.4 的最版本 <code sh>+
 apt update apt update
 apt dist-upgrade apt dist-upgrade
-</code> +</cli>出現<cli>Fetched 480 MB in 29s (16.7 MB/s)
-  - 修改 source.list <code sh>sed -i 's/stretch/buster/g' /etc/apt/sources.list</code> +
-  - 設定 PVE 6 的儲存庫 Exp. deb http://download.proxmox.com/debian/pve buster pve-no-subscription ((社群版本儲存庫))<code sh> +
-echo "deb http://download.proxmox.com/debian/pve buster pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list +
-</code> +
-  - 升級套件確認 <code sh> +
-apt update +
-apt list --upgradable +
-</code>可以看到預計升級的套件清單, 會包含 pve-6.2 ((pve-manager/stable 6.2-4 amd64 [upgradable from: 5.4-15])+
-  - 執行升級程序 <code sh>apt dist-upgrade</code> +
-    - 出現以下訊息, 要輸入 enter 來確認繼續升級<file>+
 W: (pve-apt-hook) !! ATTENTION !! W: (pve-apt-hook) !! ATTENTION !!
-W: (pve-apt-hook) You are attempting to upgrade from proxmox-ve '5.4-2' to proxmox-ve '6.2-1'. Please make sure to read the Upgrade notes at +W: (pve-apt-hook) You are attempting to upgrade from proxmox-ve '6.4-1' to proxmox-ve '7.1-1'. 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)       https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0
 W: (pve-apt-hook) before proceeding with this operation. W: (pve-apt-hook) before proceeding with this operation.
-W: (pve-apt-hook) +W: (pve-apt-hook)
 W: (pve-apt-hook) Press enter to continue, or C^c to abort. W: (pve-apt-hook) Press enter to continue, or C^c to abort.
-</file> +</cli>需要按下**[Enter]**才繼續更新, 接著<cli>apt-listchanges: News 
-    - 一個說明 <- 按下 q 跳開 +---------------------
-    會詢問 /etc/issue 要不要修改 <預設 N, 不過我是選 Y +
-    會詢問升級過程一有一些服務需要重新啟動, 是否自動啟動還是要詢問 <預設 No, 不過我還是選 Yes +
-    會詢問 pve-enterprise.list <預設 N, 我也是選 N +
-  重新開機就會是 PVE 6.2 +
-  如果都沒問題就可以將 corosync3 的儲存庫設定移除 <code sh> +
-rm /etc/apt/sources.list.d/corosync3.list +
-</code> +
- +
-<note warning>要注意更新過程的錯誤訊息, 如果出現 \\  +
-**zpool: symbol lookup error: /lib/libzfs.so.2: undefined symbol: efi_rescan** \\ +
-千萬不要立即重新開機, 可以嘗試執行 <code sh>apt-get install libuutil1linux:amd64=0.7.13-pve1~bpo2</code> 先修復看看, 可以執行 <code sh>zpool list</code> 看看是否有修復成功<file> +
-root@TP-PVE-249:~# zpool list +
-NAME    SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT +
-rpool   928G  1.48G   927G             0%     0%  1.00x  ONLINE  - +
-</file></note> +
- +
-<note important>萬一更新到一半發生網路斷線, 或跳離 PVE shell console 可以透過以下方式修復 \\ +
-<code sh>apt -f install</code> +
-會出現應該可以解決問題的命令.. Exp. <file> +
-E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem. +
-</file> +
-所以就改下 **dpkg --configure -a** 來繼續進行 +
-</note>+
  
 +apt (2.1.16) unstable; urgency=medium
  
 +:
 +:
 +</cli>要輸入 **q** 才會繼續更新, 出現<cli>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] ?
 +</cli>可按下**[Enter]**繼續更新, 在來會彈出一個藍色視窗問<cli> Restart services during package upgrades without asking?</cli>可選 **<Yes>**這樣更版過程就不會一直彈出重啟服務要你確認的訊息, 接著可能會出現<cli>Configuration file '/etc/sysctl.conf'
 + ==> 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.
 +*** sysctl.conf (Y/I/N/O/D/Z) [default=N] ? Y
 +</cli>可按下**Y + [Enter]**繼續更新, 再來會彈出一個藍色視窗問<cli>What do you want to do about modified configuration file sshd_config? </cli>可選**keep the local version currently installed**
 +  - 重新開機就會 PVE 7.x
 ===== 參考網址 ===== ===== 參考網址 =====
- 
   * https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0   * https://pve.proxmox.com/wiki/Upgrade_from_6.x_to_7.0
  
 {{tag>pve upgrade}} {{tag>pve upgrade}}
  
  • tech/pve6to7.1627727830.txt.gz
  • 上一次變更: 2021/07/31 18:37
  • jonathan