最近要在外网搞一套监控系统,正好有一台服务器配置比较高,也没跑什么重要的业务,就拿来划了一个KVM虚拟机,可能是平时各种虚拟机用的比较多,配置起来感觉比想象中简单的多,简单记录下过程
准备工作
宿主机为centos 6.8 64位,检查宿主机CPU是否支持虚拟化:
cat /proc/cpuinfo | egrep '(vmx|svm)' | wc -l;
结果大于0表示支持
安装kvm
KVM核心软件包:
复制代码 代码如下:
yum install kvm libvirt python-virtinst qemu-kvm virt-viewer bridge-utils
如果服务器上有桌面环境,想使用图形界面管理器virt-manager,可以安装完整的KVM环境:
复制代码 代码如下:
yum groupinstall Virtualization 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'
验证内核模块是否加载:
lsmod | grep kvm
启动虚拟机管理接口服务:
/etc/init.d/libvirtd start
设置开机启动:
chkconfig libvirtd on
启动libvirtd后,会自动创建了一个网卡,并启动dnsmasq服务,用来为虚拟机分配IP地址
创建虚拟机
下载虚拟机要安装的ISO系统镜像文件,之后需创建存储池,指定在宿主机上虚拟机磁盘的存储位置,创建存储目录:
mkdir -p /opt/kvm
定义一个储存池和绑定目录:
virsh pool-define-as vmspool --type dir --target /opt/kvm
建立并激活存储池:
virsh pool-build vmspoolvirsh pool-start vmspool
使用存储池创建虚拟机,并通过vnc连接:
virt-install /--hvm / #全虚拟化--name=zabbix /#虚拟机名字--ram=4096 / #分配内存--vcpus=4 / #分配CPU数--cdrom=/opt/kvm/iso/CentOS-7-x86_64-DVD-1511.iso / #使用的ISO--virt-type=kvm / #虚拟机类型--disk path=/opt/kvm/zabbix.qcow2,device=disk,format=qcow2,bus=virtio,cache=writeback,size=100 / #磁盘大小,格式--network netwrok=default / #网络设置,defalut为NAT模式--accelerate / #KVM内核加速--graphics vnc,listen=0.0.0.0,port=5922,password=123123/ #vnc配置--force /--autostart
之后使用vnc客户端连接 宿主机IP:5922,即可使用图形安装系统;也可以选择nographics模式,无需vnc在命令行下安装,建议使用vnc
安装完成后会生成:
虚拟机的配置文件:/etc/libvirt/qemu/zabbix.xml 虚拟硬盘文件:/opt/kvm/zabbix.qcow2 NAT网络配置文件:/etc/libvirt/qemu/networks/default.xml配置网络
KVM可以配置两种:
NAT网络: 虚拟机使用宿主机的网络访问公网,宿主机和虚拟机能互相访问,但不支持外部访问虚拟机 桥接网络: 虚拟机复用宿主机物理网卡,虚拟机与宿主机在网络中角色完全相同,支持外部访问配置NAT网络
默认会有一个叫default的NAT虚拟网络,查看NAT网络:
virsh net-list --all
如果要创建或者修改NAT网络,要先编辑default.xml:
virsh net-edit default
重新加载和激活配置:
virsh net-define /etc/libvirt/qemu/networks/default.xml
启动NAT网络:
virsh net-start defaultvirsh net-autostart default
新闻热点
疑难解答