ubuntu安装kvm

本文详细介绍了在Ubuntu系统上安装KVM虚拟化的步骤,包括检查CPU虚拟化支持、安装所需软件包、配置网络桥接、创建Ubuntu和Windows虚拟机、添加硬盘、挂载磁盘以及virsh命令常见用法。

作者:zhuge···预计阅读 20 分钟·644 阅读·0 评论
ubuntu安装kvm
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

相关文章

评论

加载中...