Ubuntu22.04安装配置KVM假造化

打印 上一主题 下一主题

主题 531|帖子 531|积分 1593

Ubuntu22.04安装配置KVM假造化

记载在操作系统Ubuntu 22.04下配置安装KVM假造化。
安装环境:
Intel CPU + Windows 10 + VirtualBox
1. KVM假造化安装

1.1 检查硬件是否支持

通过命令行检查

egrep -c '(vmx|svm)' /proc/cpuinfo
假如输出的数字大于 0,则表示CPU 支持假造化。
通过工具检查

  1. # 安装cpu-checker软件包,运行kvm-ok命令检查
  2. $sudo apt install -y cpu-checker
  3. $ kvm-ok
复制代码
假如是物理机,须要在bios中开启Inter VT-x或AMD-V/RVI。假如是使用virtualbox等假造化软件,须要打开假造机的嵌套假造化:

1.2 安装kvm软件包

  1. sudo apt update
  2. # 安装KVM虚拟机及管理工具
  3. sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils libguestfs-tools virt-viewer virt-manager virtinst
  4. # 安装python API
  5. sudo apt install python3-libvirt
复制代码
阐明:


  • qemu-kvm:即qemu+kvm,kvm负责cpu和内存的假造化,而qemu负责IO设备,如网卡和磁盘等的假造化。
  • libvirt-daemon-system:KVM管理工具,为不同的假造机监视器提供了统一的接口。
  • libvirt-clients: 包罗了一组用于与 libvirt 库交互的命令行工具,包括virsh、virt-install,virt-clone

    • virsh: 用于假造机的创建,启动,停止,迁徙,克隆,配置文件管理等操作。
    • virt-install:用于GuestOS安装
    • virt-clone:用于假造机克隆

  • bridge-utils:配置网桥
  • libguestfs-tools:假造机镜像管理工具,包括virt-cat、virt-edit、virt-ls、virt-rescue
  • virt-viewer:用于假造机控制台
  • virt-manager:图形界面管理KVM假造化
  • virtinst: 命令行工具,包括virt-install、virt-clone、virt-manager等。
  • python3-libvirt:libvirt库的Python 绑定,在Python中使用 libvirt 的功能,包括对假造机、存储池、网络等资源的管理,以及对假造化宿主机的监控和控制。
1.3 启用和启动 libvirtd 服务

  1. sudo systemctl enable libvirtd
  2. sudo systemctl start libvirtd
  3. sudo systemctl status libvirtd
  4. # 检查kvm模块
  5. $ lsmod  | grep kvm
  6. kvm_intel             372736  5
  7. kvm                  1032192  1 kvm_intel
复制代码
1.4 添加当前用户到 kvm和libvirt 组(可选)

  1. sudo usermod -aG kvm $USER
  2. sudo usermod -aG libvirt $(whoami)
  3. # 验证用户是否加入组中
  4. $ id $(whoami)
  5. uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(kvm),110(lxd),121(libvirt)
复制代码
注意:修改组后,须要重新登录或注销再登录才气使更改生效。
1.5 创建网桥(br0)

假如你打算从本机(Ubuntu 22.04)之外访问 KVM 假造机,你必须将假造机的网卡映射至网桥。virbr0 网桥是 KVM 安装完成后主动创建的,仅做测试用途。
  1. $ brctl show
  2. bridge name     bridge id               STP enabled     interfaces
  3. br-5816d9fe8de2         8000.0242b3178f5d       no
  4. docker0         8000.0242ca1275c9       no
  5. virbr0          8000.525400c67e33       yes
复制代码
你可以通过如下内容在 /etc/netplan 目次下创建文件 01-netcfg.yaml 来新建网桥:
  1. $ sudo vi /etc/netplan/01-netcfg.yaml
  2. network:
  3.   ethernets:
  4.     enp0s3:
  5.       dhcp4: false
  6.       dhcp6: false
  7.   # add configuration for bridge interface
  8.   bridges:
  9.     br0:
  10.       interfaces: [enp0s3]
  11.       dhcp4: false
  12.       addresses: [10.0.62.2/24]
  13.       macaddress: 08:00:27:3f:c0:7b
  14.       routes:
  15.         - to: default
  16.           via: 10.0.62.1
  17.           metric: 100
  18.       nameservers:
  19.         addresses: [223.5.5.5]
  20.       parameters:
  21.         stp: false
  22.       dhcp6: false
  23.   version: 2
复制代码
将机器网卡enp0s3的地址配置到br0网桥上。根据现实环境更换IP地址,网口名称及mac地址等。
  1. # 应用网络配置
  2. $ sudo netplan apply
  3. $ ip add show
复制代码

2. 创建假造机

可以使用virt-manager,命令行,xml文件等方法创建。
2.1 使用virt-manager创建

使用命令行virt-manager启动:

创建假造机:

将系统iso上传到宿主机的/var/lib/libvirt/images,光驱文件选择iso:

设置系统类型:

设置cpu和内存:

设置存储,磁盘放置在default存储池中:

设置网络为br0网桥:

安装系统:

2.2 使用xml文件创建

创建xml文件:
  1. $ sudo vi testvm.xml
  2. # xml内容如下
  3. <domain type='kvm'>
  4.   <name>testvm</name>
  5.   <memory unit='MiB'>2048</memory>
  6.   <currentMemory unit='MiB'>2048</currentMemory>
  7.   <vcpu placement='static'>2</vcpu>
  8.   <os>
  9.     <type arch='x86_64' machine='pc'>hvm</type>
  10.     <boot dev='cdrom'/>
  11.     <boot dev='hd'/>
  12.   </os>
  13.   <devices>
  14.     <disk type='file' device='disk'>
  15.       <driver name='qemu' type='qcow2'/>
  16.       <source file='/var/lib/libvirt/images/testvm.qcow2'/>
  17.       <target dev='vda' bus='virtio'/>
  18.     </disk>
  19.     <disk type='file' device='cdrom'>
  20.       <driver name='qemu' type='raw'/>
  21.       <source file='/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-2207-02.iso' index='1'/>
  22.       <backingStore/>
  23.       <target dev='sda' bus='sata'/>
  24.     </disk>
  25.     <interface type='bridge'>
  26.       <source bridge='br0'/>
  27.       <model type='virtio'/>
  28.     </interface>
  29.     <graphics type="vnc" autoport="yes" keymap="en-us" listen="0.0.0.0"/>
  30.   </devices>
  31. </domain>
复制代码
xml内容的编写可以参考已有的假造机,使用virsh dumpxml <domain-id>可以生成假造机的xml文件。
创建假造磁盘:
  1. # 创建10G大小的qcow2磁盘
  2. $ sudo qemu-img create -f qcow2 /var/lib/libvirt/images/testvm.qcow2 10G
  3. Formatting '/var/lib/libvirt/images/testvm.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=10737418240 lazy_refcounts=off refcount_bits=16
  4. $ sudo qemu-img info  /var/lib/libvirt/images/testvm.qcow2
  5. image: /var/lib/libvirt/images/testvm.qcow2
  6. file format: qcow2
  7. virtual size: 10 GiB (10737418240 bytes)
  8. disk size: 196 KiB
  9. cluster_size: 65536
  10. Format specific information:
  11.     compat: 1.1
  12.     compression type: zlib
  13.     lazy refcounts: false
  14.     refcount bits: 16
  15.     corrupt: false
  16.     extended l2: false
复制代码
基于xml创建假造机:
  1. $ virsh define testvm.xml
  2. Domain 'testvm' defined from testvm.xml
  3. $ virsh list --all
  4. Id   Name     State
  5. -------------------------
  6. -    testvm   shut off
  7. $ virsh start testvm
  8. $ virsh list
  9. Id   Name     State
  10. ------------------------
  11. 8    testvm   running
  12. # 查看虚拟机的vnc端口号
  13. $ virsh vncdisplay 8
  14. :0
复制代码
使用vnc客户端毗连宿主机的IP+5900端口:
2.3 使用命令行创建

  1. # 创建2c2g10G的虚拟机,磁盘为稀疏模式,格式为qcow2,总线类型为virtio。同启动一个串行终端打印输出
  2. $ virt-install  --virt-type=kvm --name=centos79   --vcpus=2  --memory=2048 --osinfo=centos7 --cdrom=/var/lib/libvirt/images/CentOS-7-x86_64-Minimal-2207-02.iso  --disk path=/var/lib/libvirt/images/centos79.qcow2,size=10,format=qcow2,bus=virtio,sparse --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole --force
复制代码
后续步调参考xml方式创建假造机,通过vnc毗连假造机进行系统安装。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王海鱼

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表