用 Hetzner + Proxmox Backup Server 實踐 3-2-1 備份原則的異地備援

用 Hetzner + Proxmox Backup Server 實踐 3-2-1 備份原則的異地備援

前言 如果你有認真對待自己的資料,應該聽過 3-2-1 備份原則: 3 份備份 2 種不同的儲存媒介 1 份異地備援 前兩項在家中的 Homelab 環境相對容易做到,但「異地」這個字往往是大多數人的盲點。硬碟壞掉?用 Proxmox Backup Server (PBS) 還原。系統崩潰?從 PBS 拉一份回來。但若是家裡發生火災、淹水,或是更平凡的情況——你不小心把整台 Proxmox VE 的 NVMe 連資料一起刪掉——這時候同一個屋簷下的所有備份都會跟著陪葬。 我的 Homelab 環境是一台 Proxmox VE 搭配一台 Proxmox Backup Server,跑著包含 k3s、Vaultwarden 等各種服務。在研究了很久的異地備援方案後,我決定在歐洲架設一台 PBS,讓它透過 WireGuard 隧道主動把家裡的備份「拉」過去,讓 321 中的那個「1」真正落地。 這篇文章會記錄完整的架構決策過程,從為什麼選 Hetzner、選哪個方案、到實際的設定步驟,以及中間踩過的坑。 為什麼選 Hetzner Hetzner 是一間位於德國的基礎設施供應商,在評估異地備援的雲端供應商時,我的優先考量是:便宜、隱私安全、技術友善。 GCP / AWS 的問題 第一個念頭當然是最熟悉的 GCP 或 AWS,畢竟都是主流雲端。但把兩者丟進計算機後,答案很快就出來了: 以我「最終」需要的規格: 2 vCPU / 4GB RAM VM 80GB 高速 Storage 用於 PBS 備份 500GB 慢速 Storage 用於 NAS 備份 方案 預估月費 Hetzner- CX23- 80GB Volume- BX11 Storage Box 約 $15.73 USD AWS 同級配置- t3.medium- gp3 80GB- S3 500GB 約 $50 USD GCP 同級配置 相近 光是這個差距就已經結案了。AWS 和 GCP 的小型運算實例本身就已經比 Hetzner 貴好幾倍,Block Storage 的單價更是幾乎翻倍,再加上對外流量費用(下載資料還要另外收),災難復原時光是把 500GB 拉回來就可能要多付幾十美元。 ...

proxmox ve shrink vm disk size

由於 zpool 吃超過 80%,故將其中一個 VM(k8s-worker) 的硬碟縮小(200GB=>100GB) pve: 7.2.7 zfs: zfs-2.1.5-pve1 zfs-kmod-2.1.5-pve1 確認 vm disk 剩餘空間 $ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 197G 14G 178G 7% / vm 關機 下載 gparded iso 到 pve vm 從 gparded iso 開機並縮減 disk 大小 pve server 針對 vm 的 hard disk 調整占用大小 switch(allocate storage type) case LV: lvreduce -L 5G /dev/pve/disk-name (縮小到只剩 5G) or lvreduce -L -5G /dev/pve/disk-name (縮小 5G) case qcow2: qemu-img resize --shrink <vmfile.qcow2> [+-] or size case ZFS: zfs set volsize=<new size>G rpool/vm-<vm id>-disk-<disk number> 舉例: vm(205) 的虛擬硬碟(vm-205-disk-0)放在 zpool land 上面,已經將 vm 縮小至 100GB ❯ zfs list NAME USED AVAIL REFER MOUNTPOINT land/vm-205-disk-0 236G 354G 119.3G - ❯ zfs set volsize=100G land/vm-205-disk-0 ❯ zfs list NAME USED AVAIL REFER MOUNTPOINT land/vm-205-disk-0 136G 354G 19.3G - ``` 在網頁 GUI 中修改強制刷新 disk。修改 disk 的設定,再調整回來 ...

改善 Proxmox VE/Debian 始終跑在最高頻率

這幾天把便宜撿到的 Threadripper 2950X 平台也上 Proxmox VE 玩玩了,裝完系統後才發現自己太習慣於 windows 下的電源管理,一直都沒發現 linux 下 CPU 頻率都是拉滿的狀態,找了debian 下進行電源管理的電源計畫設定教學達到降溫省電,順便做做紀錄。 此篇文章的硬體基於 root@raiven:~# neofetch _,met$$$$$gg. root@raiven ,g$$$$$$$$$$$$$$$P. ----------- ,g$$P" """Y$$.". OS: Debian GNU/Linux 10 (buster) x86_64 ,$$P' `$$$. Host: HP Z2 SFF G4 Workstation ',$$P ,ggs. `$$b: Kernel: 5.4.106-1-pve `d$$' ,$P"' . $$$ Uptime: 276 days, 9 hours, 51 mins $$P d$' , $$P Packages: 719 (dpkg) $$: $$. - ,d$$' Shell: bash 5.0.3 $$; Y$b._ _,d$P' Terminal: /dev/pts/1 Y$$. `.`"Y$$$$P"' CPU: Intel Xeon E-2278G (16) @ 5.000GHz `$$b "-.__ GPU: Intel Device 3e9a `Y$$ Memory: 48763MiB / 64099MiB `Y$$. `$$b. `Y$$b. `"Y$b._ `""" root@raiven:~# ^C 用 watch -n 1 "cat /proc/cpuinfo | grep MHz" 可以查看當下的 cpu 頻率狀態。 ...