KVM创建虚拟机,并制作成镜像

需求

 在命令行,利用kvm创建虚拟机
 利用虚拟机镜像文件,开出虚拟机

步骤

1、最小化安装操作系统

# cat /etc/issue
CentOS release 6.6 (Final) 

最小化安装(安装过程略)

2、安装kvm

查看宿主机的cpu是否支持KVM

  # grep -E -o '(vmx|svm)' --color=auto /proc/cpuinfo

vmx表示CPU支持Intel VT 技术,svm代表CPU支持AMD-v技术

安装kvm虚拟机

  # LANG=C yum -y groupinstall Virtualization

安装完成后,查看kvm模块是已经被加载

  # lsmod | grep kvm
    kvm_amd                40735  0 
    kvm                   337772  1 kvm_amd

安装桥接工具并桥接网卡

# yum -y install bridge-utils tunctl
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0  ifcfg-eth0.bak
# cp ifcfg-eth0 ifcfg-br0

br0网卡配置

#cat ifcfg-br0

DEVICE=br0
HWADDR=B8:AC:6F:12:66:3C
TYPE=Ethernet
UUID=16036f05-47b0-46e7-9fc3-b7cafe2d7a14
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.10.233
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
TYPE=Bridge

eth0网卡配置

# cat ifcfg-eth0

DEVICE=eth0
HWADDR=B8:AC:6F:12:66:3C
TYPE=Ethernet
UUID=16036f05-47b0-46e7-9fc3-b7cafe2d7a14
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0

3、安装libvirt虚拟化管理工具

# yum -y install virt-manager virt-viewer libvirt libvirt-python python-virtinst
# service libvirtd start    
# chkconfig libvirtd on
# virsh list
 Id    名称                         状态
----------------------------------------------------

4、安装VNC

# yum -y install tigervnc-server
# vncserver    //设置vnc密码

配置vnc

# echo 'VNCSERVERS="1:root"' >>  /etc/sysconfig/vncservers
# echo  'VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd -localhost"'    >>     /etc/sysconfig/vncservers
# /etc/init.d/vncserver restart
# chkconfig vncserver on

5、安装虚拟机

创建磁盘文件

# qemu-img create centos6.6.img 100G
# qemu-img info centos6.6.img       //默认为raw格式
 image: centos6.6.img
 file format: raw
 virtual size: 100G (107374182400 bytes)
 disk size: 0
 Formatting 'centos6.6.img', fmt=raw size=107374182400 

创建虚拟机

#virt-install --name=centos6.6  --ram 4096  --vcpus=2 \
--disk path=/data0/centos6.6.img,size=100  \
--accelerate --cdrom /mnt/CentOS-6.6-x86_64-bin-DVD1.iso \
--graphics vnc,listen=192.168.10.233,port=5920  \
--network bridge=br0  --force  --autostart

查看虚拟机状态

# virsh list
 Id    名称                         状态
----------------------------------------------------
 1     centos6.6                      running

查看vnc链接端口,并通过vnc连接安装操作系统

# virsh vncdisplay centos6.6
 192.168.10.233:20

配置操作系统

    sed -i '/^HWADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0
    sed -i '/^UUID/d' /etc/sysconfig/network-scripts/ifcfg-eth0
    echo -n > /etc/udev/rules.d/70-persistent-net.rules
    echo -n > /lib/udev/rules.d/75-persistent-net-generator.rules

    #上面四条命令是为了用此系统做镜像,再建立虚拟机的时候,可以获得mac和IP。

转换镜像文件格式

操作系统完成后,关闭虚拟机

# virsh list --all
    Id    名称                         状态
----------------------------------------------------
 -     centos6.6                      关闭

转换镜像格式(将raw格式转为为qcow2格式)

# qemu-img convert -O qcow2 centos6.6.img  centos6.6.qcow2

raw

# qemu-img info centos6.6.img 
image: centos6.6.img
file format: raw
virtual size: 100G (107374182400 bytes)
disk size: 3.1G

qcow2

# qemu-img info centos6.6.qcow2 
image: centos6.6.qcow2
file format: qcow2
virtual size: 100G (107374182400 bytes)
disk size: 1.6G
cluster_size: 65536

创建完,怎么从qcow2文件中创建虚拟机呢,请看这里
如何从镜像文件开出虚拟机

更快创建出镜像文件,请看
利用oz制作启动镜像

展开阅读全文

没有更多推荐了,返回首页