centOS6安裝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及虛擬機