標籤:kvm虛擬化
安裝KVM虛擬化條件:
首先CPU要支援虛擬化(Intel是vmx,AMD是svm)
[[email protected] ~]# egrep ‘(vmx|svm)‘ --color /proc/cpuinfo
確保BIOS裡開啟VT
Intel(R) Virtualization Tech [Enabled]
安裝虛擬化套件
[[email protected] ~]# LANG=en_US-utf8
[[email protected] ~]# yum -y groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform" "Virtualization Tools"
[[email protected] ~]# /etc/init.d/libvirtd start
[[email protected] ~]# chkconfig libvirtd on
[[email protected] ~]# virt-manager
手動安裝系統...
設定HOST主機網路
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-eth0 ifcfg-br0
[[email protected] network-scripts]# cat ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=172.30.6.149
PREFIX=24
ARPCHECK=no
[[email protected] network-scripts]# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:7E:DF:4F
TYPE=Ethernet
UUID=743094da-ab6c-406d-8238-a8e51be4a515
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0 //將eth0橋接到br0
[[email protected] network-scripts]# /etc/init.d/NetworkManager stop //關閉此服務
[[email protected] network-scripts]# chkconfig NetworkManager off
[[email protected] network-scripts]# service network restart
[[email protected] network-scripts]# chkconfig network on
[[email protected] network-scripts]# reboot
配置DHCP
[[email protected] ~]# yum -y install dhcp
[[email protected] ~]# cat /etc/dhcp/dhcpd.conf
ddns-update-style interim;
filename "pxelinux.0";
next-server 172.30.6.149;
subnet 172.30.6.0 netmask 255.255.255.0 {
option routers172.30.6.149;
option domain-name"tarena.com";
option domain-name-servers172.30.1.16,172.30.6.149;
range dynamic-bootp 172.30.6.10 172.30.6.20;
}
[[email protected] ~]# service dhcpd start
[[email protected] ~]# chkconfig dhcpd on
配置TFTP
[[email protected] ~]# yum -y install tftp-server
[[email protected] ~]# grep -E "args|disable" /etc/xinetd.d/tftp
server_args= -s /tftpboot
disable= no
[[email protected] ~]# service xinetd restart
[[email protected] ~]# chkconfig xinetd on
[[email protected] ~]# netstat -ln | grep :69
udp 0 0 0.0.0.0:69 0.0.0.0:*
配置NFS
[[email protected] ~]# cat /etc/exports
/data/iso*(ro)
/var/ftp/pub/iso/CentOS/6.5*(ro)
/var/ftp/pub/iso/RedHat/5.10*(ro)
[[email protected] ~]# service rpcbind restart
[[email protected] ~]# service nfs restart
[[email protected] ~]# chkconfig rpcbind on
[[email protected] ~]# chkconfig nfs on
[[email protected] ~]# yum -y install syslinux
[[email protected] ~]# cd /var/ftp/pub/iso/RedHat/5.10/isolinux/
[[email protected] isolinux]# mkdir -p /tftpboot/pxelinux.cfg
[[email protected] isolinux]# cp initrd.img vmlinuz /tftpboot/
[[email protected] isolinux]# cp isolinux.cfg /tftpboot/pxelinux.cfg/default
[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /tftpboot/
無人值守安裝RHEL5.10
/var/lib/libvirt/images //安裝kvm虛擬機器預設存放位置
/etc/libvirt/qemu/ //kvm虛擬機器組態檔存放位置
管理命令
[[email protected] ~]# virsh list //查看已開啟虛擬機器列表
[[email protected] ~]# virsh list --all //查看所有虛擬機器列表
[[email protected] ~]# virsh version //查看版本號碼
[[email protected] ~]# virsh start kvm_snap1 //啟動kvm_snap1虛擬機器
[[email protected] ~]# virsh create /etc/libvirt/qemu/kvm_snap1.xml
[[email protected] ~]# /etc/init.d/acpid restart
[[email protected] ~]# chkconfig acpid on
[[email protected] ~]# virsh shutdown kvm_snap1 //關閉kvm_snap1虛擬機器
[[email protected] ~]# virsh destroy kvm_snap1 //強制關閉kvm_snap1虛擬機器
[[email protected] ~]# virsh autostart kvm_snap1 //設定kvm_snap1自啟動
[[email protected] ~]# virsh dumpxml kvm_snap1 > kvm_snap1.xml//匯出kvm_snap1虛擬機器組態檔
[[email protected] ~]# virsh undefine kvm_snap1//取消kvm_snap1定義
[[email protected] ~]# virsh define kvm_snap1.xml //定義kvm_snap1
[[email protected] ~]# virsh dominfo kvm_snap1//列舉kvm_snap1資訊
[[email protected] ~]# virsh edit kvm_snap1//編輯kvm_snap1設定檔
[[email protected] ~]# virt-clone -o rhel5.10 -n rhel5.10-clone -f /data/images/rhel5.10-clone.img //複製虛擬機器
-o 指定模板主機
-n 指定複製出來虛擬機器名字
-f 指定複製出來虛擬機器存放位置
使用LVM方式管理虛擬機器主機磁碟
1,建立LV
[[email protected] ~]# fdisk -l | grep /dev/sda6
/dev/sda6 6170 39163 265015296 8e Linux LVM
[[email protected] ~]# pvcreate /dev/sda6
[[email protected] ~]# vgextend vg_data /dev/sda6
[[email protected] ~]# vgdisplay | grep "Free PE"
Free PE / Size 12799 / 50.00 GiB
[[email protected] ~]# lvcreate -L 10G -n lv_kvm_node1 vg_data
2,使用建立的LV安裝Guest
[[email protected] ~]# virt-install \
--name kvm_node1 \//定義虛擬機器名字
--noautoconsole \//使用本選項指定不自動試圖串連到客戶機控制台
--ram 1024 \//指定虛擬機器記憶體大小,單位M
--arch=x86_64 \//指定CPU架構
--vcpus=1 \//指定虛擬cpu個數
--os-type=linux \//指定安裝系統類別型
--os-variant=rhel5 \//指定特定版本
--hvm \//使用全虛擬化
--accelerate \//使用核心加速功能
--disk path=/dev/vg_data/lv_kvm_node1 \
--network bridge=br0 \
--location nfs:192.168.194.253:/var/ftp/pub/iso/RedHat/5.9 \
--extra-args="ks=http://192.168.194.253/rhel-ks.cfg ip=192.168.194.10 netmask=255.255.255.0 gateway=192.168.194.253 dns=192.168.194.253 noipv6" //可以寫成指令碼
3,設定模板虛擬機器,去掉一些個性資訊(在kvm_node1操作)
[[email protected] ~]# touch /.unconfigured
4,產生快照
LVM快照
快照就是將當時的系統資訊記錄下來,就好像照相記錄一樣。未來若有任何資料更改,則未經處理資料會被放入到快照區,沒有被更改的地區則由快照區與檔案系統共用。
[[email protected] ~]# lvcreate -s -L 20G -n lv_node1 /dev/vg_data/lv_data
//指定快照大小名字
5,定義到virt-manager
[[email protected] ~]# virsh dumpxml kvm_node1 > /root/kvm_snap1.xml //虛擬機器系統的名字
[[email protected] ~]# uuidgen
d2d8fe52-d244-46e5-97fb-7da9440d785b
修改 /root/kvm_snap1.xml檔案(名字,UUID,磁碟位置,mac地址)
[[email protected] ~]# virsh define /root/kvm_snap1.xml
6,刪除虛擬機器
[[email protected] ~]# virsh undefine kvm_snap1
使用qcow2管理KVM虛擬機器磁碟
目前主要有那些格式來作為虛擬機器的鏡像:
raw預設,不支援快照
cow
qcow
qcow2qcow2的效能上接近raw裸格式的效能
vmdk VMware格式
vdi
本文出自 “周民” 部落格,請務必保留此出處http://zhmin.blog.51cto.com/5402080/1431362