差異處
這裏顯示兩個版本的差異處。
兩邊的前次修訂版 前次修改 下次修改 | 前次修改 | ||
tech:pvetips [2021/01/17 13:53] – [一個新安裝 node 加入 cluster] jonathan | tech:pvetips [2025/04/11 15:28] (目前版本) – [Proxmox VE(PVE) 安裝相關紀錄] jonathan | ||
---|---|---|---|
行 1: | 行 1: | ||
====== Proxmox VE(PVE) 安裝相關紀錄 ====== | ====== Proxmox VE(PVE) 安裝相關紀錄 ====== | ||
+ | * 版本資訊(Roadmap) - https:// | ||
===== 更改 Package Repositories ===== | ===== 更改 Package Repositories ===== | ||
* [[https:// | * [[https:// | ||
* 參考網址 - https:// | * 參考網址 - https:// | ||
- | ==== PVE 5 ===== | + | {{tabinclude> |
- | - <code h /etc/apt/sources.list> | + | |
- | deb http://ftp.debian.org/debian stretch main contrib | + | |
- | # PVE pve-no-subscription repository provided by proxmox.com, | + | ==== 執行命令列更新 ==== |
- | # NOT recommended for production use | + | * <cli> |
- | deb http:// | + | apt update |
+ | apt upgrade | ||
+ | </cli> | ||
- | # security updates | + | ===== PVE 主機安裝 snmpd ===== |
- | deb http:// | + | * 安裝與設定程序<cli> |
- | </code> | + | apt install snmpd -y |
- | - <code h /etc/apt/sources.list.d/ | + | cd /etc/snmp/ |
- | #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise | + | mv snmpd.conf snmpd.conf.org |
- | </code> | + | vi snmpd.conf |
+ | : | ||
+ | 依照實際需要編輯 | ||
+ | : | ||
+ | service snmpd restart | ||
+ | systemctl enable snmpd | ||
+ | </cli> | ||
+ | * 參考網址 : https://www.svennd.be/how-to-install-snmp-service-on-proxmox/ | ||
- | ==== PVE 6 ==== | + | ===== 如有使用 ZFS 可限制使用記憶體大小 ===== |
- | - <code h / | + | * 參考 |
- | deb http://ftp.tw.debian.org/debian buster main contrib | + | |
- | deb http://ftp.tw.debian.org/debian buster-updates main contrib | + | ===== PVE 主機設定 Postfix 由 GMail 寄發信件方式 ===== |
+ | * 假設預計 Relay 的 SMTP Server - smtp.gmail.com:587 (STARTTLS) 認證帳號: | ||
+ | - 安裝相關套件 < | ||
+ | apt install libsasl2-modules -y | ||
+ | </cli> | ||
+ | - 編輯 | ||
+ | : | ||
+ | # GMail Setting | ||
+ | relayhost = [smtp.gmail.com]:587 | ||
+ | # use tls | ||
+ | smtp_use_tls=yes | ||
- | deb http:// | + | # MailU Setting |
+ | #relayhost = [mail.mailu.com]:465 | ||
+ | # | ||
+ | # | ||
- | # security updates | + | # use sasl when authenticating to foreign SMTP servers |
- | deb http://security.debian.org buster/updates main contrib | + | smtp_sasl_auth_enable = yes |
- | </code> | + | # path to password map file |
- | - <code h /etc/apt/sources.list.d/pve-enterprise.list> | + | smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd |
- | #deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise | + | # list of CAs to trust when verifying server certificate |
- | </code> | + | smtp_tls_CAfile = / |
+ | # eliminates default security options which are imcompatible with gmail | ||
+ | smtp_sasl_security_options = noanonymous | ||
+ | smtp_always_send_ehlo = yes | ||
+ | </file> | ||
+ | - 編輯 | ||
+ | [smtp.gmail.com]: | ||
+ | # | ||
+ | </file> | ||
+ | | ||
+ | newaliases | ||
+ | postmap | ||
+ | cd /etc/ | ||
+ | chown postfix / | ||
+ | </ | ||
+ | | ||
+ | / | ||
+ | </cli> | ||
- | ==== 執行命令列更新 ==== | + | |
- | | + | |
- | apt-get update | + | <note> |
- | apt upgrade | + | * 如果 Google |
- | </code> | + | * 參考 - https://support.google.com/mail/? |
- | ===== 移除 Cluster | + | * ++看建立應用程式密碼畫面|{{: |
- | * [[https://pve.proxmox.com/wiki/Cluster_Manager]] <code sh> | + | </note> |
- | pvecm nodes | + | |
- | systemctl stop pve-cluster | + | |
- | systemctl stop corosync | + | |
- | pmxcfs -l | + | |
- | rm / | + | |
- | rm -rf / | + | |
- | killall pmxcfs | + | |
- | systemctl start pve-cluster | + | |
- | </code> | + | |
===== 移除 cluster 內的一個 node ===== | ===== 移除 cluster 內的一個 node ===== | ||
- | * [[http:// | + | |
+ | | ||
+ | * 先進入 cluster 內其中一台 (不能是 pve01) | ||
+ | * 執行以下的語法將 pve01 刪除<cli> | ||
pvecm nodes | pvecm nodes | ||
pvecm delnode pve01 | pvecm delnode pve01 | ||
pvecm status | pvecm status | ||
rm -rf / | rm -rf / | ||
+ | </ | ||
+ | * 進入每個 node 將 pve cluster 服務重新啟動< | ||
+ | systemctl restart corosync | ||
+ | systemctl restart pve-cluster | ||
</ | </ | ||
* <WRAP important> | * <WRAP important> | ||
- | * 為了避免之後設定相同 IP 或 hostname | + | * 設定相同 IP 或 hostname 加入 Cluster |
- | * 每個 Node 都要清除已經移除 node 的 ssh fingerprint | + | * 可以直接編輯 |
- | ssh-keygen -f "/etc/ssh/ssh_known_hosts" | + | * 再至所有 cluster 內 node 的 / |
- | ssh-keygen -f "/ | + | |
- | cd .ssh | + | |
- | grep pve01 * | + | |
- | cd / | + | |
- | grep pve01 * | + | |
- | </ | + | |
</ | </ | ||
行 76: | 行 105: | ||
</ | </ | ||
* Exp. pve02 加入 cluster, 這 cluster 其中一個 node 是 192.168.11.250 | * Exp. pve02 加入 cluster, 這 cluster 其中一個 node 是 192.168.11.250 | ||
- | * 進入 pve02 主機內, 執行以下指令 <code sh> | + | * 進入 pve02 主機內, 執行以下指令 <cli> |
pvecm add 192.168.11.250 | pvecm add 192.168.11.250 | ||
- | </code> | + | </cli> |
* 會出現需要輸入 192.168.11.250 內的 root 密碼 | * 會出現需要輸入 192.168.11.250 內的 root 密碼 | ||
* 如果沒有異常訊息就完成加入 cluster | * 如果沒有異常訊息就完成加入 cluster | ||
行 89: | 行 118: | ||
===== 有主機故障, | ===== 有主機故障, | ||
- | * 因為預設 cluster 的 quorum 要兩個才能運作, | + | * 因為預設 cluster 的 quorum 要兩個才能運作, |
pvecm expected 1 | pvecm expected 1 | ||
service pve-cluster restart | service pve-cluster restart | ||
- | </code> | + | </cli> |
* 參考網址 - http:// | * 參考網址 - http:// | ||
+ | |||
+ | |||
+ | ===== 移除 Cluster 的方式 ===== | ||
+ | * [[https:// | ||
+ | pvecm nodes | ||
+ | systemctl stop pve-cluster | ||
+ | systemctl stop corosync | ||
+ | pmxcfs -l | ||
+ | rm / | ||
+ | rm -rf / | ||
+ | killall pmxcfs | ||
+ | systemctl start pve-cluster | ||
+ | </ | ||
+ | |||
===== 更改 hostname 方式 ===== | ===== 更改 hostname 方式 ===== | ||
* 參考 - https:// | * 參考 - https:// | ||
- | |||
===== 更改主機 IP 方式 ===== | ===== 更改主機 IP 方式 ===== | ||
行 103: | 行 145: | ||
- Web UI 更改 IP : System-> | - Web UI 更改 IP : System-> | ||
- 更改 /etc/hosts 內的 IP | - 更改 /etc/hosts 內的 IP | ||
- | - 關閉 cluster 服務<code sh>service pve-cluster stop</code> | + | - 關閉 cluster 服務<cli>service pve-cluster stop</cli> |
- 修改 / | - 修改 / | ||
- 重新開機 | - 重新開機 | ||
===== 設定 SSD 硬碟當 Swap Memory 方式 ===== | ===== 設定 SSD 硬碟當 Swap Memory 方式 ===== | ||
* 當 PVE 系統安裝在 USB or HD 上時, 預設會將 Swap Memory 指定在其中的一個 Partition 上, 導致使用到 Swap Memory 效能會變很差 | * 當 PVE 系統安裝在 USB or HD 上時, 預設會將 Swap Memory 指定在其中的一個 Partition 上, 導致使用到 Swap Memory 效能會變很差 | ||
- | * 先查看目前系統記憶體使用狀況 <code sh> | + | * 先查看目前系統記憶體使用狀況 <cli> |
free -m | free -m | ||
swapon -s | swapon -s | ||
- | </code> | + | </cli> |
==== 建立 Linux Swap 方式 ==== | ==== 建立 Linux Swap 方式 ==== | ||
- | * 假設 SSD 所在 /dev/sdc , 透過 fdisk 建立 16GB 的 Swap Memory Partition <code sh> | + | * 假設 SSD 所在 /dev/sdc , 透過 fdisk 建立 16GB 的 Swap Memory Partition <cli> |
fdisk /dev/sdc | fdisk /dev/sdc | ||
- | </code> | + | </cli> |
- 建立 16GB Partition< | - 建立 16GB Partition< | ||
Command (m for help): n | Command (m for help): n | ||
行 138: | 行 180: | ||
Syncing disks. | Syncing disks. | ||
</ | </ | ||
- | - 使用 mkswap 讓系統知道 /dev/sdc1 是 Swap Memory Partition <code sh> | + | - 使用 mkswap 讓系統知道 /dev/sdc1 是 Swap Memory Partition <cli> |
mkswap /dev/sdc1 | mkswap /dev/sdc1 | ||
- | </code> | + | </cli> |
- | - 讓 /dev/sdc1 的 Swap Memory 立即生效< | + | - 讓 /dev/sdc1 的 Swap Memory 立即生效< |
swapon /dev/sdc1 | swapon /dev/sdc1 | ||
- | </code> | + | </cli> |
- 使用 swapon -s 列出目前的 Swap Memory <cli> | - 使用 swapon -s 列出目前的 Swap Memory <cli> | ||
: | : | ||
行 149: | 行 191: | ||
/ | / | ||
</ | </ | ||
- | - 確認 /dev/sdc1 的 id <code sh>blkid | grep swap</ | + | - 確認 /dev/sdc1 的 id <cli> |
+ | blkid | grep swap | ||
/dev/sdc1: UUID=" | /dev/sdc1: UUID=" | ||
/dev/zd0: UUID=" | /dev/zd0: UUID=" | ||
行 159: | 行 202: | ||
: | : | ||
</ | </ | ||
- | - 重新啟動 pve node <code sh> | + | - 重新啟動 pve node <cli> |
sync; | sync; | ||
- | </code> | + | </cli> |
* 參考 - https:// | * 參考 - https:// | ||
==== 建立 ZFS Swap 方式 ==== | ==== 建立 ZFS Swap 方式 ==== | ||
* 假設 SSD 所在的 zfs pool 為 rpool | * 假設 SSD 所在的 zfs pool 為 rpool | ||
- | - 關閉所有swap:< | + | - 關閉所有swap:< |
- | - 建立 16GB ZFS swap: <code sh> | + | - 建立 16GB ZFS swap: <cli> |
zfs create -V 16G -b $(getconf PAGESIZE) -o compression=zle \ | zfs create -V 16G -b $(getconf PAGESIZE) -o compression=zle \ | ||
-o logbias=throughput -o sync=always \ | -o logbias=throughput -o sync=always \ | ||
-o primarycache=metadata -o secondarycache=none \ | -o primarycache=metadata -o secondarycache=none \ | ||
-o com.sun: | -o com.sun: | ||
- | </code> | + | </cli> |
- | - 格式化swap分區:< | + | - 格式化swap分區:< |
- | - 增加新的swap到 /etc/fstab :<code sh>echo / | + | - 增加新的swap到 /etc/fstab :<cli>echo / |
- | - 啟用所有swap:< | + | - 啟用所有swap:< |
- | - 調整Swap優先權:< | + | - 調整Swap優先權:< |
echo " | echo " | ||
sysctl -p | sysctl -p | ||
- | </code> | + | </cli> |
* 參考 - https:// | * 參考 - https:// | ||
行 186: | 行 229: | ||
* [[https:// | * [[https:// | ||
- [[https:// | - [[https:// | ||
- | - [[https:// | + | - [[https:// |
pvcreate /dev/sdb1 | pvcreate /dev/sdb1 | ||
vgcreate vg-ssd /dev/sdb1 | vgcreate vg-ssd /dev/sdb1 | ||
vgdisplay vg-ssd | vgdisplay vg-ssd | ||
- | </code> | + | </cli> |
- | - 因為 LVM thin 需要一些 VG 空間(至少 30 PE), 所以建立 lv 時必須保留 VG 一些空間給 LVM thin pool 使用 Exp. VG Free PE / Size 76310 / 298.09 GB, 保留 100 PE : 76310-100=76210< | + | - 因為 LVM thin 需要一些 VG 空間(至少 30 PE), 所以建立 lv 時必須保留 VG 一些空間給 LVM thin pool 使用 Exp. VG Free PE / Size 76310 / 298.09 GB, 保留 100 PE : 76310-100=76210< |
lvcreate -l 76210 -n ssd vg-ssd | lvcreate -l 76210 -n ssd vg-ssd | ||
- | </code> | + | </cli> |
- | - 將 LVM 轉換成 LVM thin <code sh> | + | - 將 LVM 轉換成 LVM thin <cli> |
lvconvert --type thin-pool vg-ssd/ssd | lvconvert --type thin-pool vg-ssd/ssd | ||
- | </code> | + | </cli> |
- 再透過 PVE web 介面 Datacenter -> Storage -> Add -> LVM-Thin | - 再透過 PVE web 介面 Datacenter -> Storage -> Add -> LVM-Thin | ||
- 輸入 ID Exp. ssd | - 輸入 ID Exp. ssd | ||
行 206: | 行 249: | ||
* pvcreate /dev/sdb1 | * pvcreate /dev/sdb1 | ||
* vgcreate vg-ssd /dev/sdb1 | * vgcreate vg-ssd /dev/sdb1 | ||
- | * vgdisplay vg-ssd | + | * vgdisplay vg-ssd <cli> |
- | <code sh> | + | |
vgremove vg-ssd | vgremove vg-ssd | ||
pvremote /dev/sdb1 | pvremote /dev/sdb1 | ||
- | </code> | + | </cli> |
</ | </ | ||
行 217: | 行 259: | ||
===== 將一顆實體 硬碟 加入 VM 使用 ===== | ===== 將一顆實體 硬碟 加入 VM 使用 ===== | ||
* [[https:// | * [[https:// | ||
- | - 先確認實體硬碟的廠牌、型號與序號 <code sh> | + | - 先確認實體硬碟的廠牌、型號與序號 <cli> |
ls -l / | ls -l / | ||
- | </code> | + | </cli> |
- 確認要加入的實體硬碟連結 Exp. ata-TOSHIBA_DT01ACA300_Z3MH9S1GS | - 確認要加入的實體硬碟連結 Exp. ata-TOSHIBA_DT01ACA300_Z3MH9S1GS | ||
- | - 加入 VM Exp. VM 編號 106 <code sh> | + | - 加入 VM Exp. VM 編號 106 <cli> |
qm set 106 -virtio2 / | qm set 106 -virtio2 / | ||
- | </code> | + | </cli> |
- | - 檢查是否 VM 106 的設定檔有出現實體硬碟設定< | + | - 檢查是否 VM 106 的設定檔有出現實體硬碟設定< |
cat / | cat / | ||
- | </ | ||
: | : | ||
virtio2: / | virtio2: / | ||
行 240: | 行 281: | ||
* 主要問題是 vm 目前的主機端認為遷移目標主機有問題, | * 主要問題是 vm 目前的主機端認為遷移目標主機有問題, | ||
* 參考網址 - https:// | * 參考網址 - https:// | ||
- | * 解決方式 - 連入遷移主機可以看到目標主機是離線狀態(實際上並沒有離線), | + | * 解決方式 - 連入遷移主機可以看到目標主機是離線狀態(實際上並沒有離線), |
systemctl restart pve-cluster corosync | systemctl restart pve-cluster corosync | ||
- | </code> | + | </cli> |
+ | |||
+ | ===== migration 出現 volume ' | ||
+ | * 主要問題是 vm/ct 的硬碟檔名已出現在遷移目標的主機內, | ||
+ | * 解決方式 - 連入遷移主機將檔案移除即可, | ||
+ | root@aac:~# zfs list | ||
+ | NAME USED AVAIL | ||
+ | local-zfs | ||
+ | local-zfs/ | ||
+ | : | ||
+ | local-zfs/ | ||
+ | : | ||
+ | local-zfs/ | ||
+ | rpool 1.32G | ||
+ | rpool/ | ||
+ | rpool/ | ||
+ | rpool/ | ||
+ | root@aac:~# zfs destroy -r local-zfs/ | ||
+ | </cli> | ||
===== migration 出現 Host key verification failed 問題 ===== | ===== migration 出現 Host key verification failed 問題 ===== | ||
行 259: | 行 318: | ||
Warning: Permanently added ' | Warning: Permanently added ' | ||
</ | </ | ||
+ | <WRAP center round tip 60%> | ||
+ | * 如果是因為之前有移除與新增設定相同 IP 或 hostname 的節點, 因為之前的 ssh fingerprint / authorized_keys 在各節點都還有殘存, | ||
+ | </ | ||
+ | |||
===== online migration 使用本機硬碟的 VM ===== | ===== online migration 使用本機硬碟的 VM ===== | ||
行 264: | 行 327: | ||
* PVE Cluster 內的 node 有相同名稱的 Local Storage Exp. ssd-zfs | * PVE Cluster 內的 node 有相同名稱的 Local Storage Exp. ssd-zfs | ||
* VM 不能設定 Replication 設定 | * VM 不能設定 Replication 設定 | ||
- | * 在 VM 所在的節點 shell 下以下的命令< | + | * 在 VM 所在的節點 shell 下以下的命令< |
root@TP-PVE-250: | root@TP-PVE-250: | ||
- | </code> | + | </cli> |
* 會出現先將 VM Disk 複製過去目標節點, | * 會出現先將 VM Disk 複製過去目標節點, | ||
* 參考網址 : https:// | * 參考網址 : https:// | ||
+ | |||
+ | ===== migration 使用第二張網卡的設定方式 ===== | ||
+ | * 因為 migration 過程可能會需要使用大量頻寬, | ||
+ | * 參考 - http:// | ||
+ | * Exp. 第二張網卡網路的 Subnet 是 192.168.100.0/ | ||
+ | : | ||
+ | migration: secure, | ||
+ | </ | ||
===== 設定使用 iSCSI 的 LVM Storage 方式 ===== | ===== 設定使用 iSCSI 的 LVM Storage 方式 ===== | ||
* 先確認已經有 iSCSI 的分享來源 Exp. [[tech/ | * 先確認已經有 iSCSI 的分享來源 Exp. [[tech/ | ||
* 登入 PVE Node 掛載 iSCSI Volume | * 登入 PVE Node 掛載 iSCSI Volume | ||
- | - 先確認 iSCSI 分享的 target <code sh> | + | - 先確認 iSCSI 分享的 target <cli> |
iscsiadm -m discovery -t sendtargets -p 192.168.11.246 | iscsiadm -m discovery -t sendtargets -p 192.168.11.246 | ||
- | </ | + | |
192.168.11.246: | 192.168.11.246: | ||
</ | </ | ||
- | - 登錄 iSCSI target <code sh> | + | - 登錄 iSCSI target <cli> |
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl: | iscsiadm -m node -T iqn.2005-10.org.freenas.ctl: | ||
- | </ | + | |
Logging in to [iface: default, target: iqn.2005-10.org.freenas.ctl: | Logging in to [iface: default, target: iqn.2005-10.org.freenas.ctl: | ||
Login to [iface: default, target: iqn.2005-10.org.freenas.ctl: | Login to [iface: default, target: iqn.2005-10.org.freenas.ctl: | ||
</ | </ | ||
- | - 設定開機可以自動登錄 iSCSI <code sh> | + | - 設定開機可以自動登錄 iSCSI <cli> |
iscsiadm -m node -p 192.168.11.246 -o update -n node.startup -v automatic | iscsiadm -m node -p 192.168.11.246 -o update -n node.startup -v automatic | ||
- | </code> | + | </cli> |
- 如果有其他 PVE Node 每一台都執行以上兩個步驟 | - 如果有其他 PVE Node 每一台都執行以上兩個步驟 | ||
+ | < | ||
+ | 如果 iscsi 的連線要移除, | ||
+ | iscsiadm -m node -T iqn.2005-10.org.freenas.ctl: | ||
+ | </ | ||
+ | </ | ||
* 將 iSCSI 的 Volume 建立成為 LVM partition | * 將 iSCSI 的 Volume 建立成為 LVM partition | ||
- 執行後可以使用 fdisk -l 看到 PVE Node 多出來一個 Disk Exp. /dev/sdg < | - 執行後可以使用 fdisk -l 看到 PVE Node 多出來一個 Disk Exp. /dev/sdg < | ||
行 297: | 行 373: | ||
I/O size (minimum/ | I/O size (minimum/ | ||
</ | </ | ||
- | - 使用 fdisk /dev/sdg 建立 LVM partition <code sh> | + | - 使用 fdisk /dev/sdg 建立 LVM partition <cli> |
fdisk /dev/sdg | fdisk /dev/sdg | ||
- | </code> | + | </cli> |
- Command (m for help): g (建立GPT Partition Table) | - Command (m for help): g (建立GPT Partition Table) | ||
- Command (m for help): n (建立新的 Partition ) | - Command (m for help): n (建立新的 Partition ) | ||
行 305: | 行 381: | ||
- Command (m for help): p (列出新建立的 Partition 是否正確) | - Command (m for help): p (列出新建立的 Partition 是否正確) | ||
- Command (m for help): w (沒問題就 w 寫入) | - Command (m for help): w (沒問題就 w 寫入) | ||
- | - 使用 pvcreate 建立 LVM 的 Physical Volume(PV) <code sh> | + | - 使用 pvcreate 建立 LVM 的 Physical Volume(PV) <cli> |
pvcreate /dev/sdg1 | pvcreate /dev/sdg1 | ||
- | </code> | + | </cli> |
- | - 使用 vgcreate 建立 LVM 的 Volume Group (VG) <code sh> | + | - 使用 vgcreate 建立 LVM 的 Volume Group (VG) <cli> |
vgcreate vg-pve /dev/sdg1 | vgcreate vg-pve /dev/sdg1 | ||
- | </code> | + | </cli> |
- 在 PVE Web UI -> Datacenter -> Storage -> Add -> LVM {{: | - 在 PVE Web UI -> Datacenter -> Storage -> Add -> LVM {{: | ||
- 在彈出的 Add:LVM 視窗內 {{ : | - 在彈出的 Add:LVM 視窗內 {{ : | ||
行 331: | 行 407: | ||
* https:// | * https:// | ||
+ | ===== CT(lxc) 設定掛載 CIFS 網路磁碟方式 ===== | ||
+ | - 這問題主要是預設建立 CT 會是 UnPrivilegied 模式, 所以建立時必須要將 UnPrivilegied 打勾拿掉 | ||
+ | - 建立之後還要將 Features 的 CIFS 打勾 {{: | ||
+ | - 這樣就可以將 cifs 掛載上去 Exp. < | ||
+ | # UNCONFIGURED FSTAB FOR BASE SYSTEM | ||
+ | // | ||
+ | </ | ||
+ | * 參考網址 : | ||
+ | * https:// | ||
===== 中斷 Backup 的處理方式 ===== | ===== 中斷 Backup 的處理方式 ===== | ||
* 正常只要透過 UI 的 Tasks-> | * 正常只要透過 UI 的 Tasks-> | ||
* 但有時無法順利中斷, | * 但有時無法順利中斷, | ||
- | * 可以在PVE主機端透過以下語法進行: | + | * 可以在PVE主機端透過以下語法進行: |
vzdump -stop | vzdump -stop | ||
ps -ef | grep vzdump | ps -ef | grep vzdump | ||
qm unlock 111 | qm unlock 111 | ||
- | </code> | + | </cli> |
* 參考網址 : | * 參考網址 : | ||
* https:// | * https:// | ||
+ | <note tip> | ||
+ | **對備份到共用目錄 exp. NFS 無法中斷的處理方式** | ||
+ | * 參考 - https:// | ||
+ | * 先確認 vzdump 程式是否 stat 出現 ' | ||
+ | root@PVE-13: | ||
+ | 2991321 ? Ds 0:01 task UPID: | ||
+ | 3158042 pts/0 S+ 0:00 grep vzdump | ||
+ | </ | ||
+ | * 如果不想重開機, | ||
+ | root@PVE-13:/# | ||
+ | root@PVE-13:/ | ||
+ | omv-nfs | ||
+ | root@PVE-13:/ | ||
+ | umount.nfs4: | ||
+ | root@PVE-13:/ | ||
+ | root@PVE-13:/ | ||
+ | root | ||
+ | </ | ||
+ | </ | ||
===== 設定自動 Snapshot 的方式 ===== | ===== 設定自動 Snapshot 的方式 ===== | ||
<note warning> | <note warning> | ||
行 350: | 行 453: | ||
</ | </ | ||
* 使用套件 [[https:// | * 使用套件 [[https:// | ||
- | * 安裝語法 <code sh> | + | * 安裝語法 <cli> |
wget https:// | wget https:// | ||
dpkg -i eve4pve-autosnap_0.1.8_all.deb | dpkg -i eve4pve-autosnap_0.1.8_all.deb | ||
- | </code> | + | </cli> |
- | * 建立 vm ID: 115 每小時自動快照一次, | + | * 建立 vm ID: 115 每小時自動快照一次, |
eve4pve-autosnap create --vmid=115 --label=' | eve4pve-autosnap create --vmid=115 --label=' | ||
- | </code> | + | </cli> |
* 這樣每小時 VM 115 就會自動產生一份快照 ++參考 PVE 管理畫面|{{: | * 這樣每小時 VM 115 就會自動產生一份快照 ++參考 PVE 管理畫面|{{: | ||
* 參考網址 : | * 參考網址 : | ||
行 369: | 行 472: | ||
</ | </ | ||
* 查看原因是前一天自動備份時出現異常, | * 查看原因是前一天自動備份時出現異常, | ||
- | * 可以在 PVE 主機端透過以下語法解開 lock 狀態: Exp. CT id=115<code sh> | + | * 可以在 PVE 主機端透過以下語法解開 lock 狀態: Exp. CT id=115<cli> |
pct unlock 115 | pct unlock 115 | ||
- | </code> | + | </cli> |
* 完成後就可以刪除 CT 115 的 snapshot 以及進行 backup | * 完成後就可以刪除 CT 115 的 snapshot 以及進行 backup | ||
行 382: | 行 485: | ||
* 參考網址 : | * 參考網址 : | ||
* https:// | * https:// | ||
+ | |||
+ | ===== CT 啟動失敗出現 run_buffer: 321 Script exited with status 2 的解決方式 ===== | ||
+ | * 更新 PVE 系統重開後, | ||
+ | run_buffer: 321 Script exited with status 2 | ||
+ | lxc_init: 847 Failed to run lxc.hook.pre-start for container " | ||
+ | __lxc_start: | ||
+ | TASK ERROR: startup for container ' | ||
+ | </ | ||
+ | * 只要在 PVE 主機內安裝 binutils 即可解決這問題< | ||
+ | apt install binutils | ||
+ | </ | ||
+ | |||
+ | * 參考網址 : | ||
+ | * https:// | ||
===== Replication 異常解決方式 ===== | ===== Replication 異常解決方式 ===== | ||
行 393: | 行 510: | ||
* 解決方式 | * 解決方式 | ||
- 將備份時間錯開, | - 將備份時間錯開, | ||
- | - 中斷正在 freeze 的程序< | + | - 中斷正在 freeze 的程序< |
ps -ef | grep free | ps -ef | grep free | ||
kill < | kill < | ||
- | </ | + | |
root@nuc:~# ps -ef | grep free | root@nuc:~# ps -ef | grep free | ||
root 13352 11857 0 20:06 pts/8 00:00:00 grep free | root 13352 11857 0 20:06 pts/8 00:00:00 grep free | ||
行 415: | 行 532: | ||
* zpool list : 查看有哪些 ZFS pool | * zpool list : 查看有哪些 ZFS pool | ||
* zfs list : 查看有哪些 ZFS dataset | * zfs list : 查看有哪些 ZFS dataset | ||
- | * zfs destroy : 將不要的 ZFS dataset 刪除掉 Exp. <code sh>zfs destroy -r rpool/ | + | * zfs destroy : 將不要的 ZFS dataset 刪除掉 Exp. <cli>zfs destroy -r rpool/ |
- | * zfs create | + | * zfs create |
- | * 安裝 iSCSI Target 服務<code sh> | + | * 安裝 iSCSI Target 服務<cli> |
apt-get install tgt | apt-get install tgt | ||
- | </code> | + | </cli> |
* 設定 iSCSI Target Exp. | * 設定 iSCSI Target Exp. | ||
* 儲存路徑 : 上面 zfs create 建立的 rpool/v400 對應路徑 - / | * 儲存路徑 : 上面 zfs create 建立的 rpool/v400 對應路徑 - / | ||
行 434: | 行 551: | ||
</ | </ | ||
</ | </ | ||
- | * 啟動與設定 iSCSI Target 服務開機自動啟動< | + | * 啟動與設定 iSCSI Target 服務開機自動啟動< |
service tgt start | service tgt start | ||
systemctl enable tgt | systemctl enable tgt | ||
- | </code> | + | </cli> |
* 參考網址 : | * 參考網址 : | ||
* https:// | * https:// | ||
行 536: | 行 653: | ||
===== Guest VM 安裝 Agent ===== | ===== Guest VM 安裝 Agent ===== | ||
* 安裝程序 : | * 安裝程序 : | ||
- | * CentOS VM <code sh> | + | * CentOS VM <cli> |
yum install qemu-guest-agent | yum install qemu-guest-agent | ||
- | </code> | + | systemctl start qemu-guest-agent |
- | * Debian VM <code sh> | + | </cli> |
+ | * Debian | ||
apt install qemu-guest-agent | apt install qemu-guest-agent | ||
- | </code> | + | systemctl start qemu-guest-agent |
+ | </cli> | ||
+ | * Alpine VM < | ||
+ | apk add qemu-guest-agent | ||
+ | </ | ||
+ | : | ||
+ | # Specifies the device path for the communications back to QEMU on the host | ||
+ | # Default: / | ||
+ | GA_PATH="/ | ||
+ | </ | ||
+ | rc-update add qemu-guest-agent | ||
+ | rc-service qemu-guest-agent restart | ||
+ | </ | ||
+ | * Freebsd < | ||
+ | pkg install qemu-guest-agent | ||
+ | sysrc qemu_guest_agent_enable=" | ||
+ | service qemu-guest-agent start | ||
+ | </ | ||
+ | * Windows VM | ||
+ | - 先下載 [[https:// | ||
+ | - 進入光碟路徑內找到 **virtio-win-gt-x64** 與 **guest-agent/ | ||
+ | - 重新啟動 Windows VM | ||
* PVE 端設定 VM -> Option -> Qemu Agent -> [v]Enabled | * PVE 端設定 VM -> Option -> Qemu Agent -> [v]Enabled | ||
* {{: | * {{: | ||
行 550: | 行 689: | ||
* 參考網址 - https:// | * 參考網址 - https:// | ||
- | ===== CT(Centos7) | + | ===== 解決 VM 時間無法和 Host 同步問題 ===== |
+ | * 主要發生在 Alpine VM 內的系統時間無法和 PVE 主機時間相同的議題 | ||
+ | * 解決方案 : 在 vmid.conf 內加入 args: -rtc clock=vm, | ||
+ | agent: 1 | ||
+ | args: -rtc clock=vm, | ||
+ | boot: order=scsi0; | ||
+ | cores: 2 | ||
+ | cpu: x86-64-v2-AES | ||
+ | ide2: none, | ||
+ | memory: 2048 | ||
+ | meta: creation-qemu=8.1.2, | ||
+ | name: pve-rproxy-internet | ||
+ | net0: virtio=BC: | ||
+ | numa: 0 | ||
+ | onboot: 1 | ||
+ | ostype: l26 | ||
+ | scsi0: ssd-zfs: | ||
+ | scsihw: virtio-scsi-single | ||
+ | smbios1: uuid=595b1cc9-fbf0-4c16-a580-401bee86ac25 | ||
+ | sockets: 1 | ||
+ | tags: service | ||
+ | vmgenid: 58a2ec03-e357-4aa9-8567-9e58ec447890 | ||
+ | </ | ||
+ | |||
+ | ===== CT 忘記 root 密碼重設方式 ===== | ||
+ | * 參考網址 - https:// | ||
+ | * 執行方式 < | ||
+ | pct enter < | ||
+ | passwd | ||
+ | <new password> | ||
+ | exit | ||
+ | </ | ||
+ | ++++之前 (Centos7) 處理方式| | ||
* 參考網址 - https:// | * 參考網址 - https:// | ||
* 執行方式 : | * 執行方式 : | ||
行 557: | 行 728: | ||
- 輸入 password root 重設 root 密碼 | - 輸入 password root 重設 root 密碼 | ||
* 參考以下實際操作畫面 {{: | * 參考以下實際操作畫面 {{: | ||
- | ===== PVE 主機安裝 snmpd ===== | + | ++++ |
- | * 安裝與設定程序< | + | |
- | apt-get install snmpd | + | |
- | cd / | + | |
- | mv snmpd.conf snmpd.conf.org | + | |
- | vi snmpd.conf | + | |
- | : | + | |
- | 依照實際需要編輯 | + | |
- | : | + | |
- | service snmpd restart | + | |
- | systemctl enable snmpd | + | |
- | </ | + | |
- | * 參考網址 : https:// | + | |
- | + | ||
- | ===== PVE 主機設定 Postfix 由 GMail 寄發信件方式 ===== | + | |
- | * 假設預計 Relay 的 SMTP Server - smtp.gmail.com: | + | |
- | - 安裝相關套件 <code sh> | + | |
- | apt-get install libsasl2-modules | + | |
- | </ | + | |
- | - 編輯 / | + | |
- | : | + | |
- | # GMail Setting | + | |
- | relayhost = [smtp.gmail.com]: | + | |
- | # use tls | + | |
- | smtp_use_tls=yes | + | |
- | # use sasl when authenticating to foreign SMTP servers | + | |
- | smtp_sasl_auth_enable = yes | + | |
- | # path to password map file | + | |
- | smtp_sasl_password_maps = hash:/ | + | |
- | # list of CAs to trust when verifying server certificate | + | |
- | smtp_tls_CAfile = / | + | |
- | # eliminates default security options which are imcompatible with gmail | + | |
- | smtp_sasl_security_options = noanonymous | + | |
- | smtp_always_send_ehlo = yes | + | |
- | </ | + | |
- | - 編輯 / | + | |
- | [smtp.gmail.com]: | + | |
- | </ | + | |
- | - 更改檔案權限 <code sh> | + | |
- | postmap / | + | |
- | cd / | + | |
- | chown postfix / | + | |
- | </ | + | |
- | - 讓 postfix 新設定生效 <code sh> | + | |
- | / | + | |
- | </ | + | |
- | + | ||
- | * 參考網址 : http:// | + | |
- | + | ||
- | < | + | |
- | * 如果 Google 的帳號有設定二階段認證, | + | |
- | * 參考 - https:// | + | |
- | * ++看建立應用程式密碼畫面|{{: | + | |
- | </ | + | |
===== 設定 VM 的開機與關機順序 ===== | ===== 設定 VM 的開機與關機順序 ===== | ||
* PVE Web UI -> 選定 VM -> Options -> Start/ | * PVE Web UI -> 選定 VM -> Options -> Start/ | ||
行 625: | 行 743: | ||
* 新增完成後就點下 Order Certificate Now 就會自動進行申請 SSL 憑證與佈署到 PVE 的自動程序, | * 新增完成後就點下 Order Certificate Now 就會自動進行申請 SSL 憑證與佈署到 PVE 的自動程序, | ||
* 接著在瀏覽器網只用 domain name 就不會出現憑證警告訊息 \\ {{: | * 接著在瀏覽器網只用 domain name 就不會出現憑證警告訊息 \\ {{: | ||
+ | |||
+ | ===== VM 寫入效能調整議題 ===== | ||
+ | * 參考 - https:// | ||
+ | * 原則上 Disk Cache 使用預設 none 模式即可(Host Page Cache: | ||
+ | * 也可調整為 writeback 模式後(Host Page Cache: | ||
+ | |||
+ | ===== Move Disk 出現 timeout 議題 ===== | ||
+ | * 參考 - https:// | ||
+ | * 當 VM Hard Disk 透過 Disk Action -> Move Storage 到 NFS 的 Storage Exp. pvs-253-nfs 結果等 60 秒出現 timed out 類似以下的訊息< | ||
+ | create full clone of drive scsi0 (zfs-raid: | ||
+ | Formatting '/ | ||
+ | TASK ERROR: storage migration failed: unable to create image: ' | ||
+ | </ | ||
+ | * 主要的原因就是 pve-253-nfs 這 Storage 速度太慢, | ||
+ | pvesm set pbs-253-nfs --preallocation off | ||
+ | </ | ||
+ | |||
+ | ===== 讓 PVE 6 安裝 CentOS7 的 CT 移轉至 PVE 7 的妥協做法 ===== | ||
+ | * [[https:// | ||
+ | |||
+ | ===== 清除舊版 kernel 的做法 ====== | ||
+ | * 參考 - https:// | ||
+ | * 雖然每次升級後透過 apt autoremove 會自動移除掉不需要的舊版 kernel 但仍然會殘留一些不需要的 kernel 版本在系統內.. Exp. pve-kernel-5.4: | ||
+ | * 所以可透過 [[https:// | ||
+ | bash -c " | ||
+ | </ | ||
+ | |||
+ | ==== PVE ISO 安裝無法啟動 XWindow 的解決方式 ==== | ||
+ | * 參考 - https:// | ||
+ | * 對於比較新的硬體可能 ISO 內還未支援 X driver, 所以會出現中斷在以下的訊息, | ||
+ | Starting the installer GUI - see tty2 (CTRL-ALT-F2) for any errors... | ||
+ | </ | ||
+ | : | ||
+ | (EE) | ||
+ | Fatal server error: | ||
+ | (EE) Cannot run in framebuffer mode. Please spacify busIDs | ||
+ | (EE) | ||
+ | : | ||
+ | </ | ||
+ | * 切回 Console 畫面編輯 X Driver config file | ||
+ | * 先以 lspci | grep -i vga 來確認 vga pci 編號< | ||
+ | root@TN1-PVE-103: | ||
+ | 00:02.0 VGA compatible controller: Intel Corporation Device a780 (rev 04) | ||
+ | </ | ||
+ | * 編輯 config 檔案 Exp. / | ||
+ | Section " | ||
+ | Identifier " | ||
+ | Driver " | ||
+ | BusID " | ||
+ | EndSection | ||
+ | </ | ||
+ | * 重啟 XWindows <cli> | ||
+ | xinit -- -dpi 96 >/ | ||
+ | </ | ||
+ | |||
===== 相關頁面 ===== | ===== 相關頁面 ===== | ||
{{topic> | {{topic> | ||
- | {{tag> | + | {{tag> |