centos的KVM初级安装

什么是KVM虚拟化技术?

KVM(Kernel-based Virtual Machine),主流虚拟化技术之一,集成与Linux2.6之后版本中,通过linux内核提供任务调度及管理。

kvm,在实现虚拟化之前,需要先检查硬件cpu是否支持虚拟化,如果是在wmwave上实现的虚拟化,需要在关机状态下设置cpu支持虚拟化。然后在命令行下检测

egrep 'vmx|svm' --color=always /proc/cpuinfo

半虚拟化(xen),需要修改虚拟机内核,全虚拟化不需要直接可以进行虚拟化

使用yum安装相关软件

yum -y install qemu-kvm qemu-img virt-viewer virt-manager libvirt python-virtinst
qemu-kvm  #kvm只对cpu、内存虚拟化,qemu-kvm在此基础上模拟I/O设备
qemu-img  #磁盘镜像管理工具
virt-manager #图形界面虚拟机管理工具
virt-viewer #连接虚拟机控制台
libvirt   #提供一套管理虚拟化工具的接口,支持主流的虚拟化技术,如KVM、XEN、LXC等,用于命令行管理虚拟机
python-virtinst #python写的脚本,用于virt-install安装虚拟机
lsmod | grep kvm(检查kvm模块是否加载)

如果上步检查没有加载的话,用modprobe kvm进行检查是否加载

关闭NetworkManager服务,避免虚拟机与主机网络出现问题

# service NetworkManager stop
# chkconfig NetworkManager off

桥接网络

qemu支持的网络模式:

桥接 #基于网桥的虚拟网卡,与主机同网段IP地址

NAT #共享主机的IP地址

主机模式 #主机之间专用网络

添加桥接,网卡不配置IP信息

# vi /etc/sysconfig/network-scripts/ifcfg-eth0 

DEVICE=eth0
HWADDR=54:39:DF:D0:AD:10
TYPE=Ethernet
UUID=7fd81a50-9ee4-41f2-aa53-b73acb45a913
ONBOOT=yes
NM_CONTROLLED=yes
BRIDGE=br0 #添加桥接

创建ifcfg-br0,里面配置真实物理IP信息

# vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.3.10
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
DNS1=8.8.8.8
service libvirtd start(启动libvirtd,提供一套管理虚拟化工具的接口)
chkconfig libvirtd on(设置libvirtd开机自启动)

可以设置vnc登录实际的物理机,需要在服务器上面装vnc,可以直接使用yum安装,也可以用linux系统自带的rpm包进行安装)

iptables -I INPUT -p tcp -d port 5901 -j ACCEPT
/etc/rc.d/init.diptables save

然后需要在实际的物理机上面有一块新的磁盘专门用来放镜像,首先这块磁盘需要做lvm,然后在磁盘上创建一个镜像目录,将镜像上传到这个目录下。

vitmanager是用来在图形操作界面里面进行安装虚拟机的,在安装虚拟机的时候需要选择镜像,这个时候选择刚才上传上来的镜像就好了

virinstall是用来在命令行创建虚拟机的。

qemu-img create -f qcow2 vm1-disk1.qcow2 10G
virt-install --name=vm1 --disk path=/vm/vm1-disk1.qcow2 --vcpus=1 --ram=1024 --cdrom=/iso/Centos-6.4-i386-bin-DVD1.iso --network network=default --graphics vnc,listen=0.0.0.0 --os-type=linux --os-variant=rhel6