1. 程式人生 > >centOS6安裝KVM及虛擬機

centOS6安裝KVM及虛擬機

kvm centos

KVM(Kernel-based Virtual Machine)的簡稱,是一個開源的全虛擬化的解決方案。自從 Linux2.6.20 之後集成在 Linux 的各個發行版中,KVM 虛擬化運行在 x86 架 構且需要硬件(Intel VT or AMD-V)的支持,它使用 Linux 自身的調度器進行管理,下面是在 centos5.8 上面詳細安裝 Kvm 虛擬機的詳細步驟。

1.查看宿主機的 cpu 是否支持 KVM,vmx 表示 CPU 支持 Intel VT 技術,svm 代表CPU 支持 AMD-v 技術。
技術分享圖片

2.安裝 KVM 軟件包,yum groupinstall KVM。
技術分享圖片

3.安裝橋接管理工具,yum install bridge-utils tunctl。

技術分享圖片

4.設置橋接網卡配置文件,先備份一下原來的配置文件。
技術分享圖片
4.1 編輯 ifcfg-eth0 文件.
技術分享圖片
4.2 編輯 ifcfg-br0 文件。
技術分享圖片

5.安裝 gui 管理工具,yum install virt-manager virt-viewer。
技術分享圖片

6.1 查看服務器的配置是否生效,KVM 安裝完成後需要重啟(reboot)服務器後才能被內核加載。
6.2 查看橋接網卡配置是否生效。
技術分享圖片

6.3 查看內核是否加載 KVM 模塊。
技術分享圖片
7.在服務器上面安裝 vncserver,以便通過 vncerver 來安裝虛擬機。
7.1VNC 環境需要安裝 KDE 或者 GNOME 環境,生產環境的服務器都采用最小化安裝,用 yum grouplist 可以查看系統安裝了那些組件,這裏安裝 KDE 環境。

技術分享圖片
7.2 安裝 vnc_server,yum install vnc-server。
技術分享圖片
7.3 運行 vncserver 添加客戶端 VNC 登錄需要的密碼。
技術分享圖片
7.4 修改配置文件/root/.vnc/xstartup,startkde &表示支持 KDE 組件
技術分享圖片
7.5 修改 vncserver 配置文件/etc/sysconfig/vncservers,添加如下兩行。
技術分享圖片

7.6 重啟 VNC 服務,/etc/init.d/vncserver restart。
技術分享圖片

8.1 客戶端用 VNC_viewer 連接到服務器,在開始-System-terminal 開啟終端,
輸入 virt-manager 調出虛擬系統管理器新建虛擬機。

技術分享圖片
8.2KVM 支持全虛擬化,選擇 CPU 架構和 KVM 管理程序。
技術分享圖片
8.3 選擇安裝介質為本地 ISO 文件。
技術分享圖片
8.4 選擇 ISO 文件路徑,此種方法要將 ISO 文件上傳服務器上面。
技術分享圖片
8.5 選擇 KVM 虛擬機的磁盤空間,在新建虛擬機時候自動生成.img 文件,可以用qemu-img 創建。
技術分享圖片
8.6 選擇網絡為共享的物理設備,即橋接。
技術分享圖片
8.7 選擇創建虛擬機的內存大小和虛擬 cpu 數。
技術分享圖片
8.8 虛擬機創建完畢,後面安裝系統部分省略了,和 vmware 安裝虛擬機完全一致。
技術分享圖片
9.系統安裝完畢以後,用 virsh 工具開啟虛擬機。
技術分享圖片
10.然後通過 VNC 或者 SSH 可以遠程管理虛擬機了。
技術分享圖片

總結:
KVM 虛擬機不僅需要 CPU 的支持,還需要在 BOIS 裏面開啟 VT 選項。
在終端用 virsh list 可以查看當前正在運行的虛擬機。
在 virsh #模式下面,可以用 start 機器名開啟虛擬機,用 shutdown 虛擬機名關閉虛擬機。
創建虛擬機,virt-install --name TEST001 --ram 1024 --vcpus=2 --disk
path=/data/vps/TEST001.img,size=20 --bridge=br0 --accelerate --cdrom
/opt/iso/CentOS-5.8-x86_64-bin-DVD.iso --vnc --vncport=-1。
移除虛擬機 virsh undefine TEST001。
以前一直使用 xen 對 xen 的比較熟悉,現在使用 kvm,對 kvm 的 virsh 的命令做
一個總結
查看虛擬機運行狀況
[root@localhost ~]# virsh list
Id 名稱 狀態

xxx running
yy running
開啟虛擬機
[root@localhost ~]# virsh start bi
域 bi 已開始
關閉虛擬機
[root@localhost ~]# virsh shutdown bi
域 bi 被關閉
4.克隆命令
(virt-clone -o centos64-24-02 -n centos64-24-04
-f /var/lib/libvirt/images/centos64-24-04.img)
[root@localhost ~]# virt-clone --connect=qemu:///system -o bi -n nagios
-f /var/lib/libvirt/images/nagios.img
Cloning /var/lib/libvirt/images/bi.img | 49 GB 05:03
Clone ‘nagios‘ created successfully.
常見故障:
1、在 VMware 裏克隆出來的 CentOSLinux。
ifconfig...沒有看到 eth0.。然後重啟網卡又報下面錯誤。
service network restart
Shutting down loopback insterface:
[ OK ]
Bringing up loopback insterface:
[ OK ]
Bringing up interface eth0: Device eth0 does not seem to be
present,delaying initialization. [FAILED]
解決辦法:
首先,打開/etc/udev/rules.d/70-persistent-net.rules 內容如下面例
子所示:
vi /etc/udev/rules.d/70-persistent-net.rules
This file was automatically generated by the
/lib/udev/write_net_rules
program, run by the persistent-net-generator.rules rules file.

You can modify it, as long as you keep each rule on a single
line, and change only the value of the NAME= key.
PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?",
ATTR{address}=="00:0c:29:8f:89:9
, ATTR{type}=="1", KERNEL=="eth
", NAME="eth0"
PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?",
ATTR{address}=="00:0c:29:50:bd:1
, ATTR{type}=="1", KERNEL=="eth
", NAME="eth1"
記錄下,eth1 網卡的 mac 地址 00:0c:29:50:bd:17
接下來,打開/etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network-scripts/ifcfg-eth0
將 DEVICE="eth0" 改成 DEVICE="eth1" ,
將 HWADDR="00:0c:29:8f:89:97" 改成上面的 mac 地址
HWADDR="00:0c:29:50:bd:17"

最後,重啟網絡
service network restart
或者
/etc/init.d/network restart

centOS6安裝KVM及虛擬機