在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近要在外网搞一套监控系统,正好有一台服务器配置比较高,也没跑什么重要的业务,就拿来划了一个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 vmspool virsh 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 安装完成后会生成:
配置网络 KVM可以配置两种:
配置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 default virsh net-autostart default 启动NAT后会自动生成一个虚拟桥接设备virbr0,并分配IP地址,查看状态: brctl show 正常情况下libirtd启动后就会启动virbr0,并自动添加IPtables规则来实现NAT,要保证打开ip_forward,在/etc/sysctl.conf中: net.ipv4.ip_forward = 1 sysctl -p 启动虚机并设置自动获取IP即可,如果想手动指定虚拟机IP,要注意配置的IP需在NAT网段内 配置桥接网络 系统如果安装了桌面环境,网络会由NetworkManager进行管理,NetworkManager不支持桥接,需要关闭NetworkManger: chkconfig NetworkManager off chkconfig network on service NetworkManager stop service network start 不想关闭NetworkManager,也可以在ifcfg-br0中手动添加参数"NM_CONTROLLED=no" 创建网桥: virsh iface-bridge eth0 br0 创建完后ifconfig会看到br0网桥,如果eth0上有多个IP,更改下相应的文件名, 如:ifcfg-eth0:1改为ifcfg-br0:1 编辑虚拟机的配置文件,使用新的网桥: virsh edit zabbix 找到网卡配置,改为: <interface type='bridge'> <mac address='52:54:00:7a:f4:9b'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> 我是用的br0,为虚拟机添加多块网卡只需复制多个interface,并确保mac address和PCI地址不同即可 重新加载配置: virsh define /etc/libvirt/qemu/zabbix.xml 重启虚拟机: virsh shutdown zabbix virsh start zabbix 之后使用VNC连接虚拟机并设置下网络即可 常用操作 KVM相关操作都通过vish命令完成,参数虽然多,但是功能一目了然,很直观 创建虚拟机快照: virsh snapshot-create-as --domain zabbix --name init_snap_1 也可以简写成: virsh snapshot-create-as zabbix init_snap_1 快照创建后配置文件在/var/lib/libvirt/qemu/snapshot/zabbix/init_snap_1.xml 查看快照: snapshot-list zabbix 删除快照: snapshot-delete zabbix init_snap_1 排错 1、ERROR Format cannot be specified for unmanaged storage. virt-manager 没有找到存储池,创建储存池即可 2、KVM VNC客户端连接闪退 使用real vnc或者其它vnc客户端连接kvm闪退,把客户端设置中的ColourLevel值设置为rgb222或full即可 3、virsh shutdown 无法关闭虚拟机 使用该命令关闭虚拟机时,KVM是向虚拟机发送一个ACPI的指令,需要虚拟机安装acpid服务: yum -y install acpid && /etc/init.d/acpid start 否则只能使用virsh destroy 强制关闭虚拟机 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。 |
请发表评论