ubuntu安装kvm 本文共有5333个字,关键词: ##### 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 ``` ``` 改为 ``` …… …… ``` 启动虚拟机 ``` 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 镜像安装操作系统。(这个参数必须加) ``` 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 虚拟机名称:禁止自动开机 ``` 「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」 赞赏 × 梦白沙 (๑>ڡ<)☆谢谢老板~ 1元 2元 5元 10元 50元 任意金额 2元 使用微信扫描二维码完成支付 版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。 ubuntu系统 2024-10-16 评论 268 次浏览