歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 6.5安裝KVM實踐

CentOS 6.5安裝KVM實踐

日期:2017/2/28 13:51:32   编辑:Linux教程

一,安裝CentOS6.5,使用最小化的minimal安裝二、安裝完CentOS後,使用root登錄配置網卡,使虛擬機可以使用外網上網
vi /etc/sysconifg/network-scripts/ifcfg-eth0
下圖作為參考:

保存後,重啟網絡服務
service network restart

然後測試是否能聯網
ping www.linuxidc.com

三、關閉selinux和清空iptables
修改selinux配置文件
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
設置當前selinux
setenforce 0

清空iptables
iptables -F
保存iptables規則
service iptables save

四、安裝KVM
使用yum安裝:
yum -y install qemu-kvm libvirt python-virtinst bridge-utils avahi dmidecode
安裝完成後重啟虛擬機
init 6

重啟完成後,測試kvm是否安裝成功
stat /dev/kvm
執行結果:
File: "/dev/kvm"
Size: 0 Blocks: 0 IO Block: 4096 字符特殊文件
Device: 5h/5d Inode: 9503 Links: 1 Device type: a,e8
Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 36/ kvm)
Access: 2015-06-28 16:56:11.463134124 +0800
Modify: 2015-06-28 16:56:11.463134124 +0800
Change: 2015-06-28 16:56:11.463134124 +0800

在vb上執行這個命令不會有結果, 我這個是在真機上執行的結果

測試libvirtd是否可以正常啟動
service libvirtd start
service libvirtd restart

五、配置網絡橋接
檢查系統中是否啟用了NetworkManager,最好關閉該服務,因為該服務與network有沖突。
chkconfig |grep NetworkManager
如果存在NetworkManager
chkconfig NetworkManager off
service NetworkManager stop

從ifcfg-eth0復制現有網卡的配置文件,改名為ifcfg-br0:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-br0

修改ifcfg-br0,注意紅色的兩行,其他部分基本上不用改。
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
HWADDR=08:00:27:1D:26:B2
UUID=251576f1-0ae3-4a52-b0e1-9343a7ad936d
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=stataic
IPADDR=10.0.0.156
NETMASK=255.255.255.0
GATEWAY=10.0.0.1
DNS1=202.96.64.68
DNS2=202.96.69.38

修改ifcfg-eth0,僅保存以下幾行。
vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
HWADDR=08:00:27:1D:26:B2
UUID=251576f1-0ae3-4a52-b0e1-9343a7ad936d
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BRIDGE=br0

重啟network服務
service network restart

正在關閉接口 eth0: bridge br0 does not exist!
[確定]
關閉環回接口: [確定]
彈出環回接口: [確定]
彈出界面 eth0: [確定]
彈出界面 br0: Determining if ip address 10.0.0.156 is already in use for device br0...
[確定]

執行ifconfig
br0 Link encap:Ethernet HWaddr 08:00:27:1D:26:B2
inet addr:10.0.0.156 Bcast:10.0.0.1 Mask:255.255.255.0
inet6 addr: fe80::ba97:5aff:feb7:98b5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1210 errors:0 dropped:0 overruns:0 frame:0
TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:74677 (72.9 KiB) TX bytes:7509 (7.3 KiB)

eth0 Link encap:Ethernet HWaddr 08:00:27:1D:26:B2
inet6 addr: fe80::ba97:5aff:feb7:98b5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5625 errors:0 dropped:0 overruns:0 frame:0
TX packets:359 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:425234 (415.2 KiB) TX bytes:65054 (63.5 KiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

virbr0 Link encap:Ethernet HWaddr 52:54:00:CA:22:F4
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:2449 (2.3 KiB)

配置轉發
執行以下命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
這一步雖然只有簡單的一條命令,但卻很關鍵。如果不執行這一步,所有的虛擬機將無法上網。
另外,上一步配置完橋接之後重啟network,會自動將ip_forward改為0,所以重新配置網絡後,不要忘了執行該命令。發現虛擬機無法上網的時候,也可以檢查一下ip_forward值。

六、安裝虛擬機
修改 qemu.conf 配置
vi /etc/libvirt/qemu.conf

vnc_listen = "0.0.0.0"
user = "root"
group = "root"
dynamic_ownership = 0

重啟libvirtd服務
service libvirtd restart

新建用於存放虛擬機相關文件的目錄
mkdir /kvm

使用winscp將centos6.5的安裝光盤鏡像復制到/kvm

新建用於存放虛擬機的目錄
mkdir /kvm/vm

安裝虛擬機
virt-install --name centos --ram 1024 --vcpus=1 --disk path=/kvm/vm/vm1.img,size=10 --network bridge=br0 --os-variant=rhel6 --cdrom /kvm/CentOS-6.5-x86_64-bin-DVD1.iso --vnclisten=10.0.0.156 --vncport=6900 --vnc

參數詳解:
--vcpus 分配給虛擬機CPU個數
--disk path 虛擬磁盤所在的路徑
--size 虛擬磁盤大小,單位是GB
--network bridge 指定虛擬機使用的橋接網卡
--os-variant 虛擬機的操作系統類型
--cdrom 安裝虛擬機操作系統的光盤鏡像的路徑
--vnclisten vnc的監聽IP
--vncport vnc的監聽端口
--vnc 使用vnc進行連接

然後使用vnc-viewer連接虛擬機 ,
如果用VNC VIEWER連接虛擬機一閃而過,設置vnc的 ColourLevel=rgb222
使用vnc-viewer連接10.0.0.156:6900就可以遠程安裝這台虛擬機了

在kvm虛擬機中安裝操作系統和在其他虛擬機上沒有什麼不同的地方
安裝完成後, 在kvm虛擬機中進行網卡配置後,就可以使用putty進行遠程連接了

如果需要虛擬機隨系統啟動,就執行
virsh start centos

在VirtualBox中嵌套安裝kvm時, 使用vnc遠程安裝系統是沒有問題的, 但是在啟動kvm虛擬機的過程中,非常非常的慢, 我等了二十幾分鐘也沒有啟動成功. 而且cpu的負載很高
所以在有條件的情況下, 可以使用真機進行實驗.

Virsh語法參考

virsh list 列出運行中的虛擬機
virsh start centos 啟動centos虛擬機
virsh shutdown centos 關閉centos虛擬機
virsh destroy centos 強制關閉centos虛擬機
virsh autostart centos 設置centos自動啟動
virsh undefine centos 刪除centos虛擬機
virsh suspend centos 暫停centos虛擬機
vrish resume centos 恢復centos虛擬機
virsh reboot centos 重啟centos虛擬機
virsh edit centos 編輯centos虛擬機
virsh vncdisplay centos vnc顯示

--------------------------------------分割線 --------------------------------------

KVM中Linux虛擬機的硬盤添加方法 http://www.linuxidc.com/Linux/2013-02/80067.htm

Linux入門學習教程:虛擬機體驗之KVM篇 http://www.linuxidc.com/Linux/2015-03/114462.htm

RHEL6 KVM虛擬化創建橋接網卡-網橋 http://www.linuxidc.com/Linux/2013-08/88517.htm

RedHat Linux KVM虛擬機橋接 http://www.linuxidc.com/Linux/2013-02/79934.htm

CentOS 5.6下KVM的安裝/橋接設置/虛擬機創建及運行 http://www.linuxidc.com/Linux/2012-12/76883.htm

Ubuntu下用libvirt安裝KVM虛擬機時找不到/bin/qemu-kvm問題解決 http://www.linuxidc.com/Linux/2013-08/88985.htm

RedHat6.5下安裝配置KVM虛擬機 http://www.linuxidc.com/Linux/2014-10/107972.htm

KVM虛擬化之嵌套虛擬化nested http://www.linuxidc.com/Linux/2015-05/117026.htm

--------------------------------------分割線 --------------------------------------

Copyright © Linux教程網 All Rights Reserved