本文运行的环境:
uname -a
3.10.0-957.5.1.el7.x86_64 #1 SMP Fri Feb 1 14:54:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
检查硬件是否支持虚拟化:
egrep "vmx|svm" /proc/cpuinfo #vmx:Intel svm:AMD
安装KVM和相关工具:
yum install -y qemu-kvm bridge-utils libvirt virt-install
lsmof | grep kvm #验证安装结果
systemctl start libvirtd #启动libvirtd服务
systemctl status libvirtd #查看libvirtd服务启动状态
systemctl is-enabled libvirtd #查看libvirtd服务是否开机自动运行
systemctl enadble libvirtd #设置libvirtd服务开机自动运行
配置网桥:
1、创建网桥ifcfg-br0:
TYPE=Bridge
BOOTPROTO=static
IPV4_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.0.16
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=119.29.29.29
DNS2=223.5.5.5
2、配置绑定的物理网卡ifcfg-eth0:
TYPE=Ethernet
BOOTPROTO=none
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=fe2685ec-266a-4bc8-a003-52198570a913
DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
3、重启网络服务:
systemctl restart network.service
4、验证结果:
ip addr show
创建虚拟机:
1、创建系统安装ISO文件目录和虚拟机镜像IMG文件目录,并把系统安装文件放入iso目录
mkdir -p /home/iso /opt/image
2、配置防火墙,开放VNC连接端口
firewall-cmd --zone=public --add-port=5900/tcp --permanent
firewall-cmd --reload
3、创建虚拟机:
qemu-img create -f qcow2 /opt/image/win2008.img 100g #创建IMG文件
virt-install -n win2008 --disk /opt/image/win2008.img --network bridge=br0 \
--os-variant=win2k8r2 --cdrom /home/iso/cn_windows_server_2008_r2.iso \
--vnc --vncport=5900 --vnclisten=0.0.0.0 --vcpu=24 --ram 49152
4、通过RealVNC远程连接虚拟机,完成虚拟机系统的安装
虚拟机管理:
1、查看安装的虚拟机列表:
virsh list
2、修改虚拟机配置文件,使之生效的方法:
方法1、virsh shutdown <虚拟机名称> #关闭虚拟机
virsh edit <虚拟机名称> #编辑配置文件
virsh start <虚拟机名称> #启动虚拟机
方法2、virsh destroy <虚拟机名称> #强制关闭虚拟机,相当于拨电源线
virsh edit <虚拟机名称> #编辑配置文件
virsh define /etc/libvirt/qemu/<虚拟机名称>.xml #重新加载虚拟机XML配置文件
virsh start <虚拟机名称> #虚拟机开机
3、重启虚拟机:
virsh reboot <虚拟机名称>
4、虚拟机克隆:
virsh shutdown <源虚拟机名称>
virt-clone -o <源虚拟机名称> -n <目标虚拟机名称> -f /opt/img/<目标虚拟机名称>.img
virsh start <目标虚拟机名称> #启动目标虚拟机,修改hostname、IP信息后重启
5、虚拟机迁移:
1、将:
/opt/img/<源虚拟机名称>.img
/etc/libvirt/qemu/<源虚拟机名称>.xml
复制到目标服务器相应目录下。以下操作在目标服务器上执行。
2、编辑/etc/libvirt/qemu/<虚拟机名称>.xml,修改
<name>win2008</name>
<uuid>5284e097-373e-4e6e-85db-ef5635240023</uuid>
检查:
<disk type=‘file‘ device=‘disk‘>
<driver name=‘qemu‘ type=‘qcow2‘/>
<source file=‘/opt/image/win2008.img‘/>
<target dev=‘hda‘ bus=‘ide‘/>
<address type=‘drive‘ controller=‘0‘ bus=‘0‘ target=‘0‘ unit=‘0‘/>
</disk>
3、重新定义虚拟机
virsh define /etc/libvirt/qemu/<虚拟机名称>.xml
4、开机,修改hostname、ip信息后重启
virsh start <虚拟机名称>
6、虚拟机运行Linux系统时,配置从宿主机上直接进入虚拟机控制台:
1、进入虚拟机,修改/etc/default/grub:
GRUB_DISTRIBUTOR="$(sed ‘s, release .*$,,g‘ /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb"
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200"
GRUB_DISABLE_RECOVERY="true"</pre>
2、更新启动文件,然后重启
grub2-mkconfig -o /boot/grub2/grub.cfg
3、在宿主机上登录虚拟机,退出登录:Ctrl+]
virsh console think8848-kvmbase
7、宿主机进入系统自动运行虚拟机
virsh autostart <虚拟机名称>
原文地址:https://blog.51cto.com/10248921/2400829