KVM虚拟机使用virsh命令创建带操作系统image
说明:以下整个过程均实测可行,如配完不能正常启动镜像操作系统,核查虚拟机配置xml文件是否存在问题,网络配置是否存在问题。
1、检测CPU是否支持虚拟化
vmx为Intel系列虚拟化,采用Intel-VT技术,svm为AMD系列,采用AMD-V技术
注意:请务必开启以下虚拟化选项,否则无法加载kvm
--Windows:BIOS需要开启 virtualization technology enabled
--虚拟机需要开启:虚拟机-->设置-->硬件-->处理器-->选择 虚拟化xxx或 VT-X/AMD-v -->重启
root@fieldbut02:~# egrep -o "(vmx|svm)" /proc/cpuinfo
vmx
vmx
vmx
vmx
#如开启后仍不行,重启机器。
2、安装KVM并启用KVM内核模块
1)安装
root@fieldbut02:~# apt-get install qemu-kvm ubuntu-vm-builder bridge-utils
2)启用KVM内核模块
root@fieldbut02:~# modprobe kvm
root@fieldbut02:~# modprobe kvm_intel
root@fieldbut02:~# modprobe kvm_amd
3)检测
root@fieldbut02:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
4)添加用户root到kvm组
root@fieldbut02:~# adduser root kvm
正在添加用户"root"到"kvm"组...
Adding user root to group kvm
完成。
3、安装libvirt
建议直接apt-get 安装,源码安装需要解决一系列依赖关系和配置问题,如不能安装,先 apt-get update
1)、安装 libvirt-bin qemu virt-manager
root@fieldbut02:~# apt-get install libvirt-bin qemu virt-manager
2)、启动服务并确认
root@fieldbut02:~# service libvirtd restart
root@fieldbut02:~# ps -ef|grep libvirt
libvirt+ 1743 1 0 14:40 ? 00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
root 1744 1743 0 14:40 ? 00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/lib/libvirt/libvirt_leaseshelper
root 5284 1 2 14:47 ? 00:00:00 /usr/sbin/libvirtd
root 5355 1910 0 14:47 pts/0 00:00:00 grep --color=auto libvirt
root@fieldbut02:~# virsh list --all
Id 名称 状态
----------------------------------------------------
3)、virt-manager 进入管理界面
注意:需要先 ssh –X 否则无法进入
fieldyang@fieldbut02:~$ ssh -X localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is SHA256:24GN5wsSd6oXuBIjpltZJV6F17qmuxhlDQKvyM8GSMI.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
fieldyang@localhost's password:
Welcome to Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic i686