kvm是当前最流行的开源虚拟化解决方案之一,也是redhat官方支持的虚拟化方案,从kernel 2.6开始,linux内核默认支持kvm模块。
kvm是内核模块,是连接用户和虚拟机的接口,真正模拟出硬件的是qemu。
kvm本身也有管理虚拟机的接口程序:qemu-system
不过当前比较主流的管理软件是Libvirtd,通过此进程完全接管kvm,在上面大部分的功能都能够实现。
命令行管理:virsh,virt类 等
界面管理:virt-manager
安装kvm之前,首先确保本机cpu具有虚拟化能力
egrep 'vmx|svm' /proc/cpuinfo 确认有信息输出,同时确认是64位操作系统
安装组件:
yum -y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v
查看是否加载模块 lsmod | grep kvm 如果没有则加载
启动libvritd 服务器
/etc/init.d/libvirtd restart
简单说下各个组件:
网络: kvm支持桥接,仅主机,nat等模式,一般都使用桥接,方便通信。这里介绍桥接,
桥接需要在系统上创建桥接网卡
假设创建桥接网卡叫br0 ,真实通信网卡叫eth0
创建过程
-
brctl addbr br0 创建桥接网卡
-
brctl addif br0 eth0 桥接网卡绑定
-
ifconfig eth0 0 删除eth0地址
-
dhcpclient br0 br0自动获取地址
-
brctl stp br0 on br0 开启stp模式
这种模式只能临时保存,如需永久保存,需要创建网卡配置文件
br0配置文件
-
DEVICE=br0
-
TYPE=Bridge
-
BOOTPROTO=static
-
IPADDR=172.16.1.191
-
NETMASK=255.255.255.0
-
GATEWAY=172.16.1.1
-
ONBOOT=yes
eth0配置文件
-
DEVICE=em1
-
HWADDR=54:9F:35:1F:03:10
-
TYPE=Ethernet
-
UUID=f368ec33-c53e-4e78-bd66-5a170e34041f
-
ONBOOT=yes
-
NM_CONTROLLED=no
-
BOOTPROTO=none
-
BRIDGE=br0
存储:kvm存储是直接使用镜像文件,kvm支持大部分镜像文件格式,这里使用qcow2格式,可以创建快照。
创建一个名为vm1.qocw2 大小为10G的镜像 qemu-img create -f qcow2 vm1.qcow2 10G
kvm默认使用稀疏存储,不会预分配硬盘。
vnc:启动的时候一般是通过vnc远程来实现操作,比如说界面的一些选项
在 /etc/libvirt/qemu.conf 修改vnc=0.0.0.0 这样监听在外网上,可以通过其他主机进行远程安装
安装命令:
-
virt-install -d -n kvm_test -r 512 --disk path=/root/temp1.qcow2,size=10,format=qcow2,bus=virtio,cache=none --network bridge=br0,model=virtio --vnc --cdrom=/root/cd/share/CentOS-6.8-i386-minimal.iso
-d 开启debug模式
-n 制定虚拟机名称
-r 指定内存大小,默认单位M
--disk 指定磁盘文件,就是之前创建的镜像文件
--network 指定网络,这里是桥接网络,关联网卡br0
--cdrom 指定安装系统的镜像文件
安装过程中会开启vnc监听端口,直接通过远程连接就可进行操作。
阅读(1301) | 评论(0) | 转发(0) |