如何將 Proxmox 遷移到其他伺服器上

How to migrate Proxmox to another server

在Proxmox伺服器遷移時,有以下幾種主要方法:

方法一:備份與還原

  • 在原始Proxmox伺服器上透過Web介面建立虛擬機器備份
  • 使用scp指令將備份檔案複製到新伺服器:
scp /var/lib/vz/dump/* root@new-server:/var/lib/vz/dump/
  • 在新伺服器上使用qmrestore指令還原備份

方法二:使用Proxmox叢集

  • 在舊伺服器上建立Proxmox叢集
  • 將新伺服器加入叢集
  • 透過Web介面執行線上遷移功能,選擇目標節點並開始遷移

方法三:使用Proxmox Backup Server

  1. 安裝並設定Proxmox Backup Server
  2. 在原始伺服器上設定備份儲存空間
  3. 建立虛擬機器備份
  4. 在新伺服器上設定相同的備份儲存空間
  5. 從備份還原虛擬機器

遷移前注意事項

  • 確保新舊伺服器之間有良好的網路連線
  • 確認新伺服器有足夠的CPU、記憶體和儲存空間
  • 檢查新舊伺服器的Proxmox版本是否相容
  • 建議先進行完整備份以確保資料安全

驗證遷移結果

  • 檢查虛擬機器是否能正常啟動和運作
  • 確認網路設定是否正確
  • 測試所有關鍵功能是否正常運作

這些方法各有優點,可根據實際需求選擇最適合的遷移策略。建議在執行遷移前先進行完整備份,以確保資料安全。

how to use Proxmox qmrestore command to restore dump vm

基本語法

qmrestore指令用於還原Proxmox虛擬機器備份,基本語法為:

qmrestore <備份檔案路徑> <VM ID> [選項]

常用指令範例

  1. 在原始儲存位置還原虛擬機器:
qmrestore /var/lib/vz/dump/vzdump-qemu-100.vma.lzo 100
  1. 強制覆蓋現有虛擬機器:
qmrestore /var/lib/vz/dump/vzdump-qemu-100.vma.lzo 100 --force true
  1. 指定儲存位置還原:
qmrestore /var/lib/vz/dump/vzdump-qemu-100.vma.lzo 100 --storage local

重要選項說明

  • –force: 允許覆蓋現有虛擬機器
  • –storage: 指定預設儲存位置
  • –unique: 分配唯一隨機乙太網路位址
  • –bwlimit: 設定I/O頻寬限制(KiB/s)
  • –pool: 將虛擬機器加入指定資源池

注意事項

  • VM ID必須是介於100到999999999之間的整數
  • 如果未指定儲存位置,系統會使用原始儲存位置進行還原
  • 還原時間取決於虛擬機器大小和主機資源
  • 在Proxmox Backup Server上可使用–liverestore選項在背景還原的同時立即啟動虛擬機器

Cannot access my proxmox server and it shows “port 22: Connection refused”

當遇到Proxmox顯示"port 22: Connection refused"錯誤時,可以依照以下步驟進行排除:

檢查SSH服務狀態

執行以下指令檢查SSH服務是否正常運作:

sudo netstat -anp | grep sshd

如果沒有顯示監聽在port 22的結果,表示SSH服務未正常運作。

基本故障排除步驟

  1. 重新安裝SSH服務:
sudo apt-get purge openssh-server
sudo apt-get install openssh-server
  1. 確認防火牆設定:
sudo ufw allow 22
  1. 重啟SSH服務:
service sshd restart

進階檢查項目

  • 檢查/etc/hosts檔案中的IP設定是否正確
  • 確認SSH金鑰是否有問題,可能需要清除known_hosts:
ssh-keygen -f "/etc/ssh/ssh_known_hosts" -R "您的主機名稱"

特殊情況處理

如果是在使用noVNC主控台時出現連線問題:

/usr/bin/ssh -e none -o 'HostKeyAlias=主機名稱' root@主機IP /bin/true

這個指令可以重新建立SSH連線信任關係。

其他注意事項

  • 確認網路連線是否正常(可以使用ping測試)
  • 檢查SSH設定檔(/etc/ssh/sshd_config)是否有特殊限制
  • 確認系統防火牆規則是否正確設定

如果以上方法都無法解決,建議檢查系統日誌(/var/log/auth.log)以獲取更詳細的錯誤信息。

it shows ufw: command not found

當系統顯示"ufw: command not found"錯誤時,表示系統尚未安裝UFW防火牆。以下是解決方法:

安裝UFW

在Ubuntu/Debian系統上執行以下指令安裝UFW:

sudo apt-get update
sudo apt-get install ufw -y

確認安裝

安裝完成後,執行以下指令確認UFW是否正確安裝:

sudo ufw status

基本設定

安裝完成後,建議執行以下基本設定:

  1. 允許SSH連線(請在啟用防火牆前設定):
sudo ufw allow ssh
  1. 啟用防火牆:
sudo ufw enable

常見問題處理

  • 如果安裝後仍顯示指令找不到,請嘗試登出後重新登入
  • 確認使用者具有sudo權限
  • 檢查系統套件來源是否正確設定

How to allow sftp access for Proxmox server

安裝SSH伺服器

首先確保已安裝OpenSSH伺服器:

sudo apt update
sudo apt install openssh-server

設定SSH配置

編輯SSH設定檔:

sudo nano /etc/ssh/sshd_config

確保以下設定存在且未被註解:

Subsystem sftp internal-sftp
PermitRootLogin yes

建立SFTP使用者

  1. 建立新使用者:
sudo adduser sftpuser
  1. 建立SFTP目錄:
sudo mkdir -p /home/sftpuser/files
sudo chown sftpuser:sftpuser /home/sftpuser/files
sudo chmod 700 /home/sftpuser/files

限制SFTP使用者存取

在/etc/ssh/sshd_config檔案末尾加入:

Match User sftpuser
    ForceCommand internal-sftp
    PasswordAuthentication yes
    ChrootDirectory /home/sftpuser
    PermitTunnel no
    AllowAgentForwarding no
    AllowTcpForwarding no
    X11Forwarding no

重啟SSH服務

sudo systemctl restart sshd

連線資訊

使用任何SFTP客戶端(如FileZilla)連線:

  • 主機: sftp://您的Proxmox_IP
  • 使用者名稱: sftpuser
  • 密碼: 設定的密碼
  • 連接埠: 22 (預設SSH連接埠)

注意事項

  • 確保防火牆允許SSH/SFTP連線
  • 建議使用強密碼保護帳戶安全
  • 如果遇到連線問題,檢查sshd_config設定是否正確
  • 某些行動瀏覽器可能無法建立HTTP連線

how to enable root user access via SFTP to the proxmox server

設定SSH配置檔案

編輯/etc/ssh/sshd_config檔案:

nano /etc/ssh/sshd_config

加入或修改以下設定:

PermitRootLogin yes
Subsystem sftp internal-sftp

建立SFTP設定

在/etc/ssh/sshd_config.d/目錄下建立新的設定檔:

cat >> /etc/ssh/sshd_config.d/root-sftp.conf <<EOF
Match User root
    ForceCommand internal-sftp
    PasswordAuthentication yes
    ChrootDirectory /
    X11Forwarding no
    AllowTcpForwarding no
    AllowAgentForwarding no
    PermitTunnel no
EOF

重新啟動SSH服務

systemctl restart sshd

連線資訊

使用SFTP客戶端(如FileZilla)連線:

  • 主機: sftp://您的Proxmox_IP
  • 使用者名稱: root
  • 密碼: root密碼
  • 連接埠: 22

安全性注意事項

  • 建議使用強密碼保護root帳戶
  • 確保防火牆設定允許SSH/SFTP連線
  • 建議限制root的SFTP存取範圍
  • 某些行動瀏覽器可能無法建立連線