1、检查是否支持虚拟化
egrep -o '(vmx|svm)' /proc/cpuinfo
如果出现 vmx或svm则表示支持
#####2、安装KVM所需要的软件包
apt-get install qemu-kvm libvirt-bin bridge-utils
如果出现 'libvirt-bin' has no installation candidate 则运行
sudo apt-get install qemu-kvm virtinst libvirt-daemon-system libvirt-clients bridge-utils
virt-manager为GUI管理窗口,但ubuntu server版本不带桌面,安装也没用,所以忽略virt-manager不安装 bridge-utils:用于网络桥接
安装完毕之后运行 下面的命令检查是否安装成功
lsmod | grep kvm
#####3、配置网络 我原来的网络配置如下:
network:
ethernets:
enp2s0:
dhcp4: false # 关闭 DHCP
dhcp6: false # 关闭 DHCP
addresses:
- 192.168.200.23/24
nameservers:
addresses:
- 192.168.200.1
search: []
routes:
- to: default
via: 192.168.200.1
version: 2
将其备份之后,新配置如下
network:
ethernets:
enp2s0:
dhcp4: false # 关闭 DHCP
dhcp6: false # 关闭 DHCP
bridges:
brg0:
dhcp4: false # 关闭 DHCP
dhcp6: false # 关闭 DHCP
addresses:
- 192.168.200.23/24
nameservers:
addresses:
- 192.168.200.1
routes:
- to: default
via: 192.168.200.1
interfaces:
- enp2s0
version: 2
wifis: {}
如果是动态IP的,则配置如下就可以
network:
version: 2
ethernets:
eno1:
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces: [eno1]
dhcp4: true
parameters:
stp: false
dhcp6: false
生效
sudo netplan apply
#sudo netplan generate
#sudo netplan --debug apply
检查
brctl show
virsh -c qemu:///system list
#####4、创建虚拟机(ubuntu)
virt-install \
--name ubuntu-22.04 \
--hvm \
--ram 4096 \
--vcpus 4 \
--disk path=/disk/data/disk.img,size=80,format=raw \
--network bridge=brg0 \
--graphics none \
--console pty,target_type=serial \
--extra-args "console=tty0 console=ttyS0" \
--location /iso/ubuntu-22.04-server-amd64.iso
连接
#未启动
virsh --connect qemu:///system start ubuntu-22.04
#已启动
virsh console ubuntu-22.04
#退出
可以通过按 Ctrl+] 退出控制台。
#####创建windows 并使用vnc
virt-install \
--name win10 \
--ram 4096 \
--vcpus=2 \
--disk path=/kvm/img/win10.img,format=qcow2,size=80,bus=virtio \
--accelerate \
--network bridge=brg0 \
--os-type=windows \
--cdrom /share/iso/cn_windows_10_1809.iso \
--graphics vnc,listen=0.0.0.0,port=5920 \
--noautoconsole \
--video qxl,vram=65536
注意: --disk 需要创建磁盘镜像, --disk path 指定size磁盘则直接创建磁盘镜像 在上面则是直接创建磁盘镜像,如果要单独创建磁盘镜像可以运行下面的命令
qemu-img create -f qcow2 /kvm/img/win10.img 80G
######提升网卡性能 KVM安装Windows默认使用的是qemu虚拟化IDE硬盘模式,在这种情况下,IO性能比较低,使用virtio 模式可以提高虚拟机IO性能。提升网卡性能推荐网卡使用virtio驱动。 Windows安装步骤 1,上传win10镜像和Virtio镜像文件到/kvm/iso/文件夹下 2,virt-install安装win10 3,挂载Virtio 镜像 4,安装网卡Virtio驱动 virtio下载地址
https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
系统安装找不到硬盘 找不到硬盘,通过命令挂载该ISO镜像到虚拟机 查看磁盘挂载
virsh domblklist win10
挂载virtio-win镜像 将iso的挂载点记下来,下面是sda
virsh change-media win10 sda /kvm/iso/virtio-win-0.1.215.iso
然后选择相应的硬盘驱动
查看虚拟机
virsh list --all
安装VirtIO 网卡驱动
virsh change-media win10 hda /kvm/iso/virtio-win-0.1.215.iso
然后关闭虚拟机,编辑网卡配置
virsh edit win10
修改网卡驱动类型为virtio
<source bridge='brg0'/>
<model type='e1000e'/>
改为
……
<source bridge='bgr0' />
<model type='virtio' />
……
启动虚拟机
virsh start win10
弹出镜像
virsh change-media win10 --eject /kvm/iso/virtio-win-0.1.215.iso
插入镜像
virsh change-media win10 --insert /kvm/iso/virtio-win-0.1.215.iso
修改虚拟机cpu数量
virsh setvcpus win10 --config --maximum 4
报错 cannot access storage file
# cat >是覆盖 cat >>是追加
cat >> /etc/libvirt/qemu.conf << EOF
user = "root"
group = "root"
EOF
systemctl restart libvirtd.service
如果要安装ubuntu,但不知道--os-variant该如何选择,可以输入下面的命令
virt-install --os-variant list |grep ubuntu
创建虚拟机命令解释
--name ubuntu-22.04: 指定虚拟机的名称为 ubuntu-18.04。
--hvm: 表示这是一个全虚拟化(HVM)的虚拟机。
--ram 4096: 分配给虚拟机的内存为 4GB(注意,这里的单位是 MiB)。
--vcpus 4: 分配给虚拟机的虚拟 CPU 数量为 4。
--disk path=/data/disk.img,size=80,format=raw: 指定虚拟机的磁盘文件、大小和格式。这里大小是 80GB,格式为 raw。
--network bridge=brg0: 指定虚拟机使用的网络桥接为 brg0。注意,这里的参数是 --network bridge= 而不是 --bridge-brg0。
--graphics none: 不配置图形界面。
--graphics vnc,listen=0.0.0.0,port=5920 :配置vnc图形界面
--console pty,target_type=serial: 配置一个 PTY 类型的串行控制台。注意,这里 target_type 前的 - 应该是 =。
--extra-args "console=tty0 console=ttyS0": 向内核传递额外的启动参数,这里设置了两个控制台输出。(这个参数必须加)
--location /iso/ubuntu-22.04-server-amd64.iso: 指定安装镜像的位置,用于从 ISO 镜像安装操作系统。(这个参数必须加)
添加硬盘
#创建一块100G的硬盘
qemu-img create -f qcow2 /kvm/img/nasdata.img 100G
#可以通过修改配置文件,
virsh edit 虚拟机名
仿照里面的<disk type="file"...>添加一个
#直接关机之后用命令行
virsh attach-disk nas /kvm/img/nasdata.img vdd --driver qemu --subdriver qcow2 --config
#完成之后查看
virsh domblklist nas
挂载磁盘
#查看nas的磁盘镜像分区信息:
virt-df -h -d nas
#创建一个test目录将
guestmount -d vm10 -m /dev/rl/root --rw /test/
virsh命令行管理的常见用法:
1、virsh:直接进交互模式
2、virsh nodeinfo:查看KVM节点(服务器)信息
3、virsh list:列出正在运行的虚拟机
4、virsh list --all:列出所有虚拟机(包括未启动的)
5、virsh dominfo 虚拟机名称:查看指定虚拟机的信息
6、virsh start 虚拟机名称:将指定的虚拟机开机
7、virsh reboot 虚拟机名称:将指定的虚拟机重启
8、virsh shutdown 虚拟机名称:将指定的虚拟机正常关机
9、virsh destroy 虚拟机名称:将指定的虚拟机强制关机(相当于拔电源)
10、virsh autostart 虚拟机名称:将指定的虚拟机设置随KVM自动开机
11、virsh autostart --disable 虚拟机名称:禁止自动开机
12、删除虚拟机
virsh shutdown study02
virsh undefine study02 --删除
virsh list --all
13.克隆study01的虚拟机,到study01_clong
virt-clone -o study01 -n study01_clong -f /images/kvm/study01_clong.qcow2
参数:
-o 需要克隆的虚拟机名称;
-n 新虚拟机名称;
-f 指定克隆到哪个文件目录并命名
14、重新定义
virsh define /etc/libvirt/qemu/study02_bak.xml

评论