- KVM嵌套
服务器centos7开通Nested KVM
cat << EOF > /etc/modprobe.d/kvm-nested.conf options kvm-intel nested=1 options kvm-intel enable_shadow_vmcs=1 options kvm-intel enable_apicv=1 options kvm-intel ept=1 EOF
服务器重启
reboot
查看是否支持kvm嵌套(支持输出Y)
cat /sys/module/kvm_intel/parameters/nested
- 原始服务器创建支持vms的虚拟机
创建普通vm后,虚机的xml:
原始: |
更改为:
Nehalem |
这种方式为虚拟机定义需要模拟的CPU类型 “Nehalem”,并且为 CPU 添加 “vmx” 特性,需要在以上基础上增加原始配置里的numa
- 虚拟机内部安装kvm环境
查看是否嵌套成功:lscpu | grep vmx
查看cpu、内存数
cat /proc/cpuinfo | grep “cpu cores” | uniq
cpu cores : 1
cat /proc/meminfo | grep MemTotal
MemTotal: 3876804 kB
查看centos版本
cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
systemctl stop firewalld.service #关闭防火墙 systemctl disable firewalld.service #关闭开机自启 安装一些最基本的工具 yum install epel-release net-tools vim unzip zip wget ftp -y 安装kvm yum install -y virt-manager* virt-install libvirt* *vnc* yum install -y kvm virt-* libvirts bridge-utils qemu-img 开启kvm服务,并设置为开机自启动 systemctl start libvirtd systemctl enable libvirtd
创建磁盘镜像 qemu-img create -f qcow2 testimage01.qcow2 30G 上传iso镜像 查看端口是否被占用 netstat -anp | grep 5907
虚拟机xml:
vm-test02 8388608 8388608 2 hvm Nehalem destroy restart restart /usr/libexec/qemu-kvm
define一下,创建成功 查看vnc端口后进入刚创建的虚拟机: 配置最新vm的网络 ONBOOT=yes NAMESERVER=223.5.5.5 systemctl restart network网络就好了
- 最内层虚拟机安装docker
防火墙记得关:
systemctl stop firewalld
systemctl disable firewalld
卸载
yum remove docker-ce
yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-engine
设置存储库
安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定存储库。
yum install -y yum-utils
yum-config-manager
--add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker 引擎
安装最新版本的 Docker Engine 和 containerd,或者进入下一步安装特定版本:
yum install docker-ce docker-ce-cli containerd.io
启动 Docker。
$ sudo systemctl start docker
大功告成



