歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux配置 >> centos下KVM安裝詳解

centos下KVM安裝詳解

日期:2017/2/27 14:58:48   编辑:Linux配置

一. Centos5.4安裝升級

開啟SELinux(如果SELinux被禁用,virt-install將不會正常工作)
system-config-securitylevel-tui

二. KVM安裝

安裝KVM有兩種方式:

1通過YUM安裝,在有INTERNET接入的地方可以使用,使用方法比較簡單。

(a)檢查CPU是否支持硬件虛擬化-運行命令
egrep '(vmx|svm)' --color=always /proc/cpuinfo
(如果輸出的結果包含 vmx,它是 Intel;如果包含 svm,它是 AMD。如果你甚麼都得不到,那應你的系統並沒有支持虛擬化的處理。)
(b)安裝KVM和virtinst(一個創建虛擬機的工 具),我們運行
yum install kvm kmod-kvm qemu libvirt python-virtinst
然後重新啟動系統:
Reboot

2 通過CentOS自帶光盤中的RPM包進行安裝

安裝KVM需要以下一些包:
kmod-kvm x86_64 83-164.el5_5.15
kvm x86_64 83-164.el5_5.15
libvirt i386 0.6.3-33.el5_5.1
libvirt x86_64 0.6.3-33.el5_5.1
python-virtinst noarch 0.400.3-9.el5
qemu x86_64 0.9.0-4
所需的依存包為:
bridge-utils x86_64 1.1-2
celt051 x86_64 0.5.1.3-0.el5
e4fsprogs-libs i386 1.41.9-3.el5
e4fsprogs-libs x86_64 1.41.9-3.el5
etherboot-zroms-kvm x86_64 5.4.4-13.el5.centos
iscsi-initiator-utils x86_64 6.2.0.871-0.16.el5
libvirt-python x86_64 0.6.3-33.el5_5.1
log4cpp x86_64 1.0-9.el5
qcairo x86_64 1.8.7.1-3.el5
qffmpeg-libs x86_64 0.4.9-0.16.20080908.el5_5
qpixman x86_64 0.13.3-4.el5
qspice-libs x86_64 0.3.0-54.el5_5.1
xen-libs i386 3.0.3-105.el5_5.5
xen-libs x86_64 3.0.3-105.el5_5.5
xz-libs i386 4.999.9-0.3.beta.20091007git.el5
xz-libs x86_64 4.999.9-0.3.beta.20091007git.el5
將其放在一個文件夾內,使用rpm –ivh *.rpm命令來進行安裝。或者使用rpm -i ( or --install) options file1.rpm file2.rpm... fileN.rpm 將每個RPM包列出進行安裝。

3 驗證KVM是否安裝完成

使用下列命令檢查KVM是否成功安裝
virsh -c qemu:///system list
將會顯示如下結果:
[root@server1 ~]# virsh -c qemu:///system list
Id Name State
----------------------------------

[root@server1 ~]#

如果在這裡顯示的是一個錯誤的信息,說明有些東西出現了問題。

4. 配置網橋

下面我們需要在我們的服務器上設置一個網橋,就可以使我們的虛擬機從其他主機中讀取數據。
要做到這一點,我們安裝bridge-utils工具
yum install bridge-utils
或者在CentOS中找到bridge-utils_x86_64 1.1-2.rpm包進行安裝。
你亦會需要 tunctl。
這個現已收錄在 RPMForge 軟件庫內。因此,只要啟用這個軟件庫,你便可以這樣簡易地安裝它
yum install tunctl
編輯/etc/udev/rules.d/90-kvm-rules。當安裝 rpm 後,被創建的文件有以下內容:
KERNEL=="kvm", NAME="%k", GROUP="kvm", MODE="0660"
理論上,加以下面這行:
KERNEL=="tun", NAME="net/%k", GROUP="kvm", MODE="0660"
應該會將正確的權限賦予 /dev/net/tun,但事實並不是這樣。雖然這是一個臨時方法,但你亦可以在 /etc/rc.local 加入
chown root:kvm /dev/net/tun
chmod 0660 /dev/net/tun
這樣做一定有效。假如你只會偶爾地使用 kvm,你可以創建一個藏有上述數行的腳本,將它存儲為 tunperms.sh(或更好的名稱)。然後當你有需要用橋接網絡時,以 root 身份或 root 權限去執行它。

安裝完成後配置一個網橋從/etc/sysconfig/network-scripts/ifcfg-eth0參考BOOTPROTO, BROADCAST, IPADDR, NETMASK和NETWORK等值來創建文件/etc/sysconfig/network-scripts/ifcfg-br0 :
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=192.168.200.255
IPADDR=192.168.200.180
NETMASK=255.255.255.0
NETWORK=192.168.200.0
ONBOOT=yes
修改/etc/sysconfig/network-scripts/ifcfg-eth0 as follows (取消注釋BOOTPROTO, BROADCAST, IPADDR, NETMASK, 和NETWORK 最後添加 BRIDGE=br0):
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
#BOOTPROTO=static
#BROADCAST=192.168.200.255
HWADDR=**:**:**:**:**:**
#IPADDR=192.168.200.180
#NETMASK=255.255.255.0
#NETWORK=192.168.200.0
ONBOOT=yes
BRIDGE=br0
重新啟動網絡...
/etc/init.d/network restart
... 運行
ifconfig
現在應該顯示網橋(br0):
[root@server1 ~]# ifconfig
br0 Link encap:Ethernet HWaddr **:**:**:**:**:**
inet addr:192.168.200.180 Bcast:192.168.200.255 Mask:255.255.255.0
inet6 addr: ****/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:**errors:0 dropped:0 overruns:0 frame:0
TX packets:** errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes: TX bytes:

5. 裝入模塊

用 modprobe 將對應你的結構的 kvm 模塊裝入。如果是 Intel 處理器:
modprobe kvm-intel
如果是 AMD 處理器:
modprobe kvm-amd
假如一切須利的話,你的系統現在應該已經裝入了 kvm 模塊。你可以執行這個指令來檢查:
/sbin/lsmod | grep kvm
將那些會執行 kvm 的用戶加進 kvm 群組內。假如用戶的名稱是 john,那麼:
usermod -G kvm -a john
如果你是以 john 的身分,通過 su - 或 sudo 來轉用 root 的權限並執行以上指令,你也許須要完全注銷,然後再登錄才會看見新的群組在指令殼內生效。
執行 modprobe 後,你可以重新開機來確定這個模塊能被裝入,而 /dev/kvm 設備亦被 udev 賦予正確權限。現在你應該接有 /etc/sysconfig/modules/kvm.modules 這個腳本。當開機完成後,請如上使用 /sbin/lsmod 這個指令來檢查模塊有否被裝入。你應該同時看見一個 kvm 及一個 kvm-intel(或 kvm-amd)的模塊。
假如你想避免重新開機,你可以用下列兩個指令為 /dev/kvm 這個設備設置所需的權限:
chown root:kvm /dev/kvm
chmod 0660 /dev/kvm
在下設開機時,udev 會將正確權限賦予這個設備。

6. kvm管理端安裝virt-viewer 或者virt-manager

使用下列命令安裝virt-manager:
yum install virt-manager

或者使用rpm包進行安裝:
virt-manager x86_64_0.6.1-12.el5
依存安裝包:
bridge-utils x86_64_1.1-2
e4fsprogs-libs x86_64 _1.41.9-3.el5
gnome-python2-gnomekeyring x86_64_2.16.0-3.el5
gtk-vnc_x86_64_0.3.8-3.el5
gtk-vnc-python_x86_64_0.3.8-3.el5
iscsi-initiator-utils_x86_64_6.2.0.871-0.16.el5
libvirt _x86_64_0.6.3-33.el5_5.1
libvirt-python_x86_64_0.6.3-33.el5_5.1
python-virtinst noarch 0.400.3-9.el5
qemu x86_64_0.9.0-4
xen-libs_x86_64_3.0.3-105.el5_5.5
xz-libs_x86_64_4.999.9-0.3.beta.20091007git.el5
7.GuestOs安裝
Virt-install具體用法,請參考man virt-install
(a)以光驅方式安裝(win2003)
(I)virt-install --connect qemu:///system --name win01 --ram 1024 --disk path=/var/lib/libvirt/images/win2k3.img,size=10 --network bridge:br0 --accelerate --vnc --noautoconsole --cdrom /dev/cdrom-hda


Starting install...
Creating domain... | 0 B 00:02
Domain installation still in progress. You can reconnect to
the console to complete the installation process.
(II)kvm管理端開啟virt-manager後,通過Remote tunnel over ssh連接方式連接到kvm服務器.當執行完I步後,將會運行一個win01 Domain,在Virtual Machine Manager選中這個新建的Domain,右擊選中Open,輸入認證密碼後,便可以打開一個console可以遠程安裝系統了。
(b)以iso安裝(確保selinux關閉,至到我搞懂為至)
virt-install --connect qemu:///system --name debian --ram 1024 --vcpus=4 --disk path=/var/lib/libvirt/images/debian.img,size=10 --network bridge:br0 --accelerate --vnc --noautoconsole --cdrom /mnt/debian.iso
8管理kvm客戶機
可以通過 virsh命令管理KVM客戶機,"virtual shell"。連接到virtual shell,運行
virsh --connect qemu:///system
下面就是virtual shell的顯示界面:
[root@server1 ~]# virsh --connect qemu:///system
Welcome to virsh, the virtualization interactive terminal.

Type: 'help' for help with commands
'quit' to quit

virsh #
現在你可以在virtual shell中輸入命令來管理你的客戶 機,運行:
help
獲得更多的命 令:

list
顯示所有正在運行的客戶機;
list --all
顯示所有客戶機,正在運行的和沒有運行的:
virsh # list --all
Id Name State
----------------------------------
2 vm10 running

virsh #

如果你修改了一個客戶機的xml文件(位於/etc/libvirt/qemu/ 目錄),你必須重新定義客戶機:
define /etc/libvirt/qemu/vm10.xml
請注意,無論你何時在/etc/libvirt/qemu/ 中修改了客戶機的XML文件,你必須重新運行define 命令!
啟動和停止客戶機,運行:
start vm10
停止一個客戶機,運行
shutdown vm10
立即中斷一個客戶機(類似直接關電源),運行
destroy vm10
掛起一個客戶機:
suspend vm10
恢復客戶機:
resume vm10
這些都是最重要的命令.
輸入
quit
退出virtual shell.
Copyright © Linux教程網 All Rights Reserved