PVE學習筆記 虛擬機關閉或解鎖 qm unlock qm stop backup(備份) vzdump 101 102 107 108 115 114 112 104 110 --compress lzo --mailnotification always --mode snapshot --quiet 1 --storage Backup --mailto mail@domain.com 安裝agent apt install qemu-guest-agent node損壞重新上線 service rrdcached stop rm -rf /var/lib/rrdcached/* service rrdcached start 確認結果 service rrdcached status TASK ERROR: cluster not ready – no quorum?法定人數不夠時 備註說明:觀念加強,不要忘記pve是採用多數決的去中心化模式,因此當cluster中的端點數量不足時會鎖住pve的設定檔,故如果只有2台nodes時可能會遇到這個問題。 作法 pvecm status ---會看到Quorum: 2 Activity blocked pvecm expected 1 ---叢集數更動為1,可先備份/etc/pve service pve-cluster restart  ---重新啟動叢集 可以做修改或新增(重加)node EX:如需要刪除不要的node pvecm delnode (node name) 2FA取消 將 /etc/pve/user.cfg 中的使用者的訊息取消 開機諜有做raid1 or 5可容錯而其中一台損壞時 sgdisk -R newdisk olddisk (直接複製分割方案) sgdisk -G newdisk         (確保唯一) dd if=/dev/olddisk1 of=/dev/newdisk1 zpool replace rpool olddisk2 newdisk2 (可能需要使用-f強制) 如果pve出現CVE-2018-3646的漏洞提示時該如何處理 echo off > /sys/devices/system/cpu/smt/control 關閉CPU超線程 pve虛擬機直接掛載實體硬碟 ls -l /dev/disk/by-id/ vi /etc/pve/qemu-server/xxx(VMID).conf virtio0: /dev/disk/by-id/ata-ST2000DL003-9VT166_5YD1ZYK5,size=2000G #可以不用標註容量 Pve virtio 下載iso檔 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/ 識別網卡 安装ethtool apt install ethtool -y 使用網卡燈號檢查對應網卡 ethtool --identify (網路端口名稱) 備註:有些網卡不支援這種方式 如果沒有只能直接用switch接線測試。 打開端口自動啟動 & 重啟系统 確認所有網卡設備位置 lspci | grep -i 'eth' 通過ethtool識別端口對應設備位置以及系统設備名 ethtool -i [設備名稱]  #查看設備對應設備位置 ethtool [設備名稱]  #通過查看是否連接確認設備名對應實際端口,如果硬體支持可以使用ethtool --identify [設備名] 命令確認) 端口自動啟動 & 重啟系统 开启硬件直通 BIOS中打开硬件直通相关选项(VT-d & VMX) 编辑Grub nano /etc/default/grub 注释原条目,并增加开启参数 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" 如果你的pcie设备分组有问题也可以换成这一行对分组拆分(直通遇到问题都可以尝试这个) GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on pcie_acs_override=downstream" 更新grub update-grub 上传启动镜像 将镜像img扩展名修改为iso,直接通过PVE后台上传 创建虚拟机并设置直通 修改配置文件命令 nano /etc/pve/qemu-server/[虚拟机编号].conf pve虛擬機遷移指定使用網路 qm migrate <虛擬機ID> <目標節點> --online --migration_network x.x.x.0/xx 虛擬機直通PCI界面設定方式 依照amd或intel的cpu不同而編輯grub, Intel: 新增下方指令到 GRUB_CMDLINE_LINUX_DEFAULT="" 裡面 intel_iommu=on AMD: 新增下方指令到 GRUB_CMDLINE_LINUX_DEFAULT="" 裡面 amd_iommu=on 使用 update-grub 更新啟動設定。 新增下方資料到 /etc/modules #vfio #vfio_iommu_type1 #vfio_pci #vfio_virgfd 重新開機 將虛擬機從VMWare轉向PVE 方法1: 如果有訂閱 VMWare8.0 以上跟使用 PVE8.2 以上版本可以直接使用GUI介面進行轉移。 轉移的時候VM需要關機,看起來是最簡單的方式但我沒有試過,所以做之前記得做完整的資料備份。 方法2: 使用GUI介面上傳OVA到PVE在進行佈建,上船方式如下圖所示。 上傳完成後再點擊旁邊的Import進行佈建,調整成PVE可以搭配的硬體規格。 因為VMWare本身無法直接匯出OVA檔,需要使用官方工具,但如果沒有要那麼麻煩可以直接匯出OVF在用下方指令合成OVA檔 tar -cvf VM.ova VM.ovf VM.vmdk VM.mf 備註:要匯出的VM需要關機或複製一台新的做匯出,匯出的名稱最好是全英文的。 如果不想那麼麻煩其實也可以將OVF資料(含vmdk mf 等)上傳到使用PVE主機後進行布建,但這些過程就都是使用指令。 使用 scp 將資料上傳到PVE主機。 scp <來源路徑> root@:目標路徑 然後再使用qm importovf進行ovf的匯入。 qm importovf {vmid} {VM name}.ovf {target storage} 備註:可以加--format然後將格式轉成 raw ,  vmdk ,  qcow2或 --cpu x86-64-v2-AES --scsihw virtio-scsi-single等等,也可 以之後再用GUI修改比較簡易。 最後最重要如果是 Windows系統 ,要將硬碟控制器從原本的iscsi更 改成SATA或ide ,先使用 Detche 刪除該硬碟,然後硬碟會變成Unset,點擊硬碟重新設定控制器SATA或ide就可以。 方法3: 系統轉移通常最重要的是資料,可以使用clonezilla或指令qm disk import進行匯入, qm disk import {target VMID} {vmdk file} {target storage} 備註:跟qm importovf一樣後面可以加cpu format等等參數進行設定。 匯入後硬碟的設定會是unset,如果是Windows系統就改成sata或ide。 使用qemu-img將vhdx轉成qcow2 qemu-img convert -O qcow2 {原始檔案} {目標檔案} 另一種方式 qemu-img convert -f {來源格式} -O {目的格式} 來源檔案 目標檔案 將Local-Lvm合併到local 1.如果local-lvm已經有虛擬機或檔案都要移走,不然都會不見。 2.在cmd模式使用以下指 lvremove pve/data lvextend -l +100%FREE -f pve/root resize2fs /dev/mapper/pve-root  3.完成後local會增加。 4.local-lvm已經沒用需要刪除。