KVM / QEMU:在沒有 GUI 的情況下連接到 VM
簡短版(解決方案如下):
我有一台 Windows 電腦。我有一個 Debian 伺服器(沒有桌面環境)。我有一個通過 KVM/QEMU 在 Debian 伺服器上執行的 Ubuntu VM。
問:如何連接到 Ubuntu VM 並開始安裝過程?
長版(解決方案如下):
情況
我對 Linux 有一些經驗,但我對 Linux 上的虛擬化還是很陌生。我想在我的 Debian 伺服器上創建多個虛擬機。我通過 ssh 從我的 Windows PC 連接到 Debian 伺服器。Debian 伺服器沒有安裝任何桌面環境。我使用了以下教程https://www.howtoforge.com/virtualization-with-kvm-on-a-debian-squeeze-server,但在第 3 步它告訴我安裝 virt-manager 這是一個圖形工具。正如預期的那樣,我無法通過 ssh 啟動 virt-manager。
問題
我如何連接到 VM 並安裝作業系統以及 sshd 伺服器。我想在初始安裝後通過 ssh 連接到我的虛擬機。
可能的解決方案 A
我發現我可以通過 VNC 連接到虛擬機,一些教程告訴我使用埠轉發從 Windows SSH 到 Debian,然後在 Windows 上啟動 VNC 客戶端。但是它不會連接到 VNC,因為我不知道如何配置 VM 或 virsh 以使用正確的埠。
可能的解決方案 B
這個 Ubuntu 教程展示了一種通過控制台直接連接的方法: https ://help.ubuntu.com/community/KVM/Access 我想使用這種方法,但它需要新貴,我不想解除安裝我的 systemd-sysv。該教程是為 Ubuntu 9.4 製作的
可能的解決方案 C
如果我有一個可以自動執行 sshd 伺服器的 Ubuntu.iso,我可以通過 ssh 直接連接到安裝程序。但我還沒有找到或知道如何創建一個。
解決方案:
我找到了解決這個問題的方法。
- 檢查 KVM 是否會在系統上執行。你的 CPU 應該支持 vmx 或 svm
egrep '(vmx|svm)' --color=always /proc/cpuinfo
- 在執行 Debian 的物理機上安裝 KVM
sudo apt-get install kvm qemu-kvm libvirt-bin virtinst
- 測試 virtinst 安裝並退出
virsh -c qemu:///system list
- 可選:安裝 Bridge 介面,Google教程在這裡。
- 從網站wia wget下載iso文件
wget http://link.to.your.linux.distro.iso
- 使用以下命令安裝新 VM
virt-install --connect qemu:///system --name your_vm_name --memory 512 --cdrom /srv/vmimage/ubuntu-14.04.4-server-amd64.iso --disk size=8 --noautoconsole --os-type linux --accelerate --network=bridge:br0 --hvm --graphics vnc,port=5900,listen=0.0.0.0
我不是專家,但嘗試解釋一些選項:
–disk size=8:將創建一個大小為 8 GB 的磁碟 –network=bridge:br0:VM 將通過橋接器訪問 Internet介面已創建,如果您有一個,請將br0
替換為您的網橋名稱 –graphics vnc,port=5900,listen=0.0.0.0:使用 VNC 協議在埠 5900 上顯示圖形。現在你應該看到這樣的輸出:
Domain installation still in progress. You can reconnect to the console to complete the installation process.
- 很好,您的虛擬機現在正在執行,您只需要連接到它。切換到你的 Windows 機器(或任何你用來 ssh 到 Debian 伺服器的東西) 在 Windows 上你需要一些 VNC 工具,我使用了 TightVNC Viewer。安裝它。
- 你需要一些 ssh shell,我建議在 Windows 下安裝 Git Scm。
- 在 Windows 上:通過 Git Scm 打開一個 Shell 並切換到您的 TightVNC 目錄。
- 現在通過 command 打開從 Windows 到 Debian 伺服器的埠轉發
ssh -L 5900:localhost:5900 -N -f yourusername@yourserverip
。將 yourusername 和 yourserverip 替換為 Debian 使用者名和 IP。這將使您的 VNC 查看器可以連接到虛擬機- 現在啟動 tvnviewer.exe 並連接到 127.0.0.1:5900。您的新虛擬機應該會打開一個新視窗。利潤,你成功了:)
KVM 及其衍生產品在其影片子系統中有一個 VNC 伺服器。因此,您必須使用 VNC 客戶端(任何廣泛可用的客戶端),使用 VNC 連接配置您的 KVM VM 機器(我通常通過為程序提供一個
--graphics vnc,port=5900,listen=0.0.0.0
選項來完成此virt-install
操作)並使用它來遠端安裝您想要的任何作業系統。這是訪問“本地控制台”的一般方法。