ubuntu16.04安装使用KVM30分钟教程

KVM 安装
什么是kvm
基于内核的虚拟机(Kernel-based Virtual Machine, 简写 KVM)
具体见: https://zh.wikipedia.org/wiki/基于内核的虚拟机
什么是libvirt
它是一系列提供出来的库函数,用以其他技术调用,来管理机器上的虚拟机
部署KVM (ubuntu-16.04)
硬件检查
检查主版设置中是否开启了 VT (virtualization technology), cpu必须支持vt, 主板支持VT-d
egrep “(svm|vmx)” /proc/cpuinfo
#返回文本中有vmx
安装 libvirt & kvm
sudo apt-get install qemu-kvm qemu-system libvirt-bin bridge-utils
libvirt-bin provides libvirtd which you need to administer qemu and kvm instances using libvirt
qemu-kvm 是虚拟机 (qemu is the backend)
bridge-utils 用于网络桥接 (provides a bridge from your network to the virtual machines)
执行 kvm-ok 检查安装是否成功
开启IOMMU支持
首先查看当前是否支持:
cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.4.0-31-generic.efi.signed root=UUID=9b9c8d98-f9bf-4445-b018-f777185909bb ro intel_iommu=on
如果没有,则需要在grub引导中加入选项
edit:

vi /etc/default/grub

change
GRUB_CMDLINE_LINUX_DEFAULT=“quiet”
to
GRUB_CMDLINE_LINUX_DEFAULT=“quiet intel_iommu=on”
then

update-grub

添加需要开启的内核模块
edit:

vi /etc/modules

add :
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
参考: http://pve.proxmox.com/wiki/Pci_passthrough
reboot生效
sudo reboot now
部署虚拟机管理工具webvirtmgr
docker部署参考: https://hub.docker.com/r/unws/webvirtmgr
默认账号密码: admin/1234
项目地址: https://github.com/retspen/webvirtmgr
docker pull unws/webvirtmgr
启动服务命令:docker run -d --name webvirtmgr -p 8080:8080 -p 6080:6080 -v /home/webvirtmgr:/data/vm unws/webvirtmgr
安装虚拟机镜像
存储池配置
添加iso镜像卷,并将相应的安装镜像放置到对应的位置上
添加目录类型卷,用来存储虚拟机磁盘文件
网络池配置
添加名为default的新网络,启动dhcp,类型NAT
新建虚拟机实例
选定自己需要的配置即可
ps:
启动中如果发现cpu配置不正确导致启动失败,
可以修改相应虚拟机的xml配置(设置→xml)中的cpu类型配置

GPU显卡配置
ps: 如果宿主机没有安装显卡驱动则不需要如下操作

  1. 禁用 nouveau
    lsmod |grep nouveau
    查看内核是是否加载了nouveau模块
    echo “blacklist nouveau” | sudo tee >/etc/modprobe.d/blacklist-nouveau.conf
    echo “options nouveau modeset=0” | sudo tee >>/etc/modprobe.d/blacklist-nouveau.conf
    echo “alias nouveau off” | sudo tee >>/etc/modprobe.d/blacklist-nouveau.conf
    sudo update-initramfs -u
    sudo reboot now

  2. 禁用 nvidia-driver
    lsmod |grep nvidia
    查看内核是是否加载了nvidia 驱动
    关闭所有使用要挂载显卡的进程
    nvidia-smi: 查看并关闭所有相关的进程
    停止 nvidia-docker 服务
    选择要使用的透传设备
    lspci | grep NVIDIA
    记录下 开头的pci bus id 如: 04:00.0

获取vendor and device codes
lspci -Dn -s “04:00.0” | awk ‘{print $3}’ | sed “s/😕 /”
将设备从宿主机上解除绑定
echo “10de 1bb3” > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:00:1b.0 > /sys/bus/pci/devices/0000:00:1b.0/driver/unbind
echo 0000:00:1b.0 > /sys/bus/pci/drivers/pci-stub/bind
挂载gpu设备到虚拟机
关闭虚拟机
编辑虚拟机配置
在虚拟机配置的节点下添加(修改其中的相应字段与上面获取设备pci bus id对应,如)

开启tcp监听
/etc/default/libvirt-bin
libvirtd_opts="-l"

vi /etc/libvirt/libvirtd.conf

listen_tls = 0
listen_tcp = 1

添加管理账号
cd /etc/libvirt/
saslpasswd2 -a libvirt qnai

添加网卡
brctl add br0

auto br0
iface br0 inet static
address 100.100.142.12
netmask 255.255.255.0
gateway 100.100.142.1
dns-nameserver 10.1.100.1
bridge_ports eno1
bridge_stp off
bridge_fd 0
bridge_maxwait 0

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值