ubuntu安装KVM
现在官网下载ubuntu镜像,桌面版或者服务端都可,这里以桌面端为例。
安装之前确保磁盘有足够大的空间(这很重要)
- 安装KVM
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
sudo adduser `id -un` libvirt
sudo adduser `id -un` kvm
sudo apt install virtinst qemu-efi
注意:id -un的命令是获取当前用户的用户名。
验证安装是否成功
sudo virsh list --all
说明安装成功。
- 为KVM配置网桥
对于Ubuntu系统而言,进入/etc/netplan目录下,可以看到配置文件,一般为“50-cloud-init.yaml” or “01-netcfg.yaml”,我的为01-network-manager-all.yaml。
更改此文件之前,建议备份。
sudo cp 01-network-manager-all.yaml 01-network-manager-all.yaml.bak
sudo vi 01-network-manager-all.yaml
更改之前的文件为:
更改之后的文件为:
添加了网桥br0.
保存更改后的配置文件.
sudo netplan apply
查看网桥是否搭建成功
ifconfig
出现br0,说明搭建成功。
- 创建虚拟机VM
这里使用命令行的方式创建。
sudo virt-install \
--name vm1 \
--ram=4000 \
--vcpus=2 \
--network bridge:br0 \
--graphics vnc \
--disk path=/home/lemaker/open-source/images/vm1.img,bus=virtio,size=100 \
--cdrom /home/lemaker/open-source/ubuntu-18.04.5-desktop-amd64.iso
这里详细解释每个参数的含义,注意(一定要加上–graphics vnc),否则ubunut图形化界面,鼠标正常,但是键盘却会失效,这是个坑爹的bug。
- name=vm1: 虚拟机实例的名字,每个虚拟机的名字都不能一样,不能有空格
- ram=2048:指定虚拟机内存大小,单位是Mb
- vcpus=2: 为虚拟机指定分配的虚拟CPU核数
- cdrom=/home/lemaker/open-source/ubuntu-18.04.5-desktop-amd64.iso,安装虚拟机需要的镜像文件,可以是主机的CDROM或者iso文件。注意,此处的cdrom换为location可能会报错。
- disk path=/home/lemaker/open-source/images/vm1.img,bus=virtio,size=100,format=qcow2: 指定虚拟机所存储的路径(占用的磁盘空间),大小为100G,disk bus类型为virtio,磁盘格式为raw,如果不指定fortmat,则默认格式即为raw。
- graphics vnc: 设置虚拟机的console并将其输出到VNC,这样就可以通过VNC来连接虚拟机了。同时可以指定vnc的端口和监听范围以及密码: –vncport=5910 –vnclisten=0.0.0.0。默认情况下端口为从5900开始的第一个空闲端口,监听范围为本机127.0.0.1,修改为0.0.0.0以使外网主机可以连接。后面会讲对于只支持SSH协议的情况下,如何通过SSH隧道连接,所以是否设置为0.0.0.0没有影响,但能设置为0.0.0.0的话,还是设置为0.0.0.0,毕竟直接通过VNC连接更加方便。这些参数也可以在/etc/libvirt/qemu.conf中修改,以使其对所有虚拟机生效,VNC默认连接没有密码。VNC可以理解为linux下的远程桌面
- network bridge:br0 使用桥接模式,此处的br0对应我们之前在服务器的网桥配置上的br0,注意:不这样设置可能会导致虚拟机无法联网。
- 虚拟机安装软件。
图形化界面一步一步输入用户名,以及密码。为虚拟机安装必要的软件:
安装网络工具以及ssh。
sudo apt install net-tools vim git openssh-server
开启ssh服务
sudo service sshd start
安装之后即可通过ssh登录到虚拟机了,即可进行命令行操作,不用在那坑爹的图形化界面操作了。
- KVM管理常用命令
KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/,该目录下存放了所有创建过的虚拟机配置文件。
$ sudo virsh list
$ sudo osinfo-query os
$ sudo virsh list --all
$ sudo virsh dominfo vm1
$ sudo virsh start vm1
$ sudo virsh shutdown vm1
$ sudo virsh suspend vm1
$ sudo virsh reboot vm1
软重启(安全重启,相当于在虚拟机内部点击重启选项)虚拟机
$ sudo virsh reset vm1
$ sudo virsh autostart vm1
$ sudo virsh autostart --disable vm1
$ sudo virsh destroy vm1
$ sudo virsh edit vm1
$ sudo virsh uri
$ sudo virsh vm1
$sudo virsh define vm1.xml
注意,使用virsh shutdown ubuntuserver1604命令时,由于virsh实际上不能对虚拟机进行关机,只有虚拟机配置了acpid服务之后才能通过virsh进行关机,配置命令为:
$ sudo chkconfig acpid on
$ sudo service acpid restart
- 后台模式启动虚拟机
sudo virsh start vm1 --console
- 删除虚拟机
其中vm1为要删除的主机名字,第三部为删除占用的磁盘空间。
sudo virsh destroy vm1
sudo virsh undefine vm1
sudo rm -r /home/lemaker/open-source/images/vm1.image
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)