不過,如果要談在 TUI 環境下來管理妳的 VM ,不從建置開始談好像有點不完整,所以這邊還是從如何建置一台全新的 VM guest 開始談起。
以下都是從我的筆電使用 ssh 遠端連線到 VM Server 進行實作,使用到的工具有『virsh』、『virt-install』及『vinagre』。
妳可以選擇進到『virsh』或是在 TUI 使用 Command 來建置 VM guest ,不過事實上是同一件事,這邊是選擇 進到『virsh』。
所要建置的VM guest 規劃如下,
a.OS : Ubuntu 10.04.3 Server
b.Architecture : X86_64
c.CPU *1 / RAM : 1024 MB
d.HD : Format : qcow2 size: 8G
e.Network : Bridge:br0
1. 建立虛擬硬碟
如果不需要指定虛擬硬碟的格式可以跳過這一步。
a. 列出現有 Storage Pool 清單
主要是要確認一下 Storage Pool 的名稱,因為我打算將虛擬硬碟的映像放在『VM-Image』這個 Storage Pool 中。
virsh # pool-list --all 名稱 狀態 自動啟動 ----------------------------------------- default 啟用 yes image 啟用 yes VM-Image 啟用 yes Iso 非啟用中 yes |
b. 產生虛擬硬碟
virsh # vol-create-as --format qcow2 VM-Image test.qcow2.img 8G Vol test.qcow2.img created |
也可以使用『kvm-image』來產生虛擬硬碟,不過要到使用『virt-install 』建置 VM quest 之後 『virsh』才能管理這顆虛擬硬碟。
max@riyu:~$ kvm-img create -f qcow2 /media/SDA3/VmImage/disk.qcow2.img 8G Formatting '/media/SDA3/VmImage/disk.qcow2.img', fmt=qcow2 size=8589934592 encryption=off cluster_size=0 |
確認一下
virsh # vol-list VM-Image 名稱 Path ----------------------------------------- test.qcow2.img /media/SDA3/VmImage/test.qcow2.img |
2. 建置 VM guest
依照規劃需要下一串又臭又長的命令來作這件事。
退出『virsh』後,使用如下命令來建置一台 VM guest
max@riyu:~$ virt-install \ > --connect qemu:///system \ > --name=Test \ > --vcpus=1 \ > --arch=x86_64 \ > --ram=1024 \ > --os-type=linux \ > --virt-type=kvm \ > --cdrom=/media/SDC7/001.LinuxISO/ubuntu-10.04.3-server-amd64.iso \ > --disk path=/media/SDA3/VmImage/test.qcow2.img,size=8 \ > --force \ > --network bridge=br0,model=virtio \ > --vnc --vncport=5900 Traceback (most recent call last): File "/usr/lib/python2.6/logging/handlers.py", line 71, in emit if self.shouldRollover(record): File "/usr/lib/python2.6/logging/handlers.py", line 144, in shouldRollover msg = "%s\n" % self.format(record) File "/usr/lib/python2.6/logging/__init__.py", line 648, in format return fmt.format(record) File "/usr/lib/python2.6/logging/__init__.py", line 439, in format s = self._fmt % record.__dict__ UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 1: ordinal not in range(128) Starting install... Creating domain... 0 B 00:00 Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package. Domain installation still in progress. You can reconnect to the console to complete the installation process. |
接下來要透過 VNC 進到剛出生的 VM quest 來進行作業系統的安裝,不過要從遠端主機透過VNC 連到 VM quest 還需要動一些手腳而且有點安全上的疑慮,所以這邊就直接利用 ssh 的『
X11Forwarding
』將從 VM Server 透過 VNC 連到 VM quest 的畫面送到我的筆電。3. 重新連線到 VM Server
要記得開啟 『
X11Forwarding
』。max@minako:~$ ssh -X max@10.0.0.100 |
4. 從 VM Server 端啟動『vinagre』
max@riyu:~$ vinagre localhost:5900 |
由於這次連線已經啟動了『
X11Forwarding
』,所以『vinagre』的執行畫面會送回筆電。之後就跟一般安裝作業系統的程序一樣,作業系統安裝完畢,妳就有一台 VM 可以用啦。
virsh # list Id 名稱 狀態 ---------------------------------- 6 Test 執行中 |