IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 服务器开通KVM嵌套、虚拟机a充当新的服务器、虚拟机a内部安装kvm环境、虚拟机a里创建虚拟机b、c、d,虚拟机b打通网络并安装docker -> 正文阅读

[系统运维]服务器开通KVM嵌套、虚拟机a充当新的服务器、虚拟机a内部安装kvm环境、虚拟机a里创建虚拟机b、c、d,虚拟机b打通网络并安装docker

  1. 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
  1. 原始服务器创建支持vms的虚拟机
    创建普通vm后,虚机的xml:
原始:
  <cpu mode='host-model' check='partial'>
    <model fallback='allow'/>
    <topology sockets='24' cores='1' threads='1'/>
    <numa>
      <cell id='0' cpus='0-23' memory='4194304' unit='KiB'/>
    </numa>
  </cpu>

更改为:

  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Nehalem</model>
    <feature policy='require' name='vmx'/>
    <numa>
      <cell id='0' cpus='0-23' memory='4194304' unit='KiB'/>
    </numa>
  </cpu>

这种方式为虚拟机定义需要模拟的CPU类型 “Nehalem”,并且为 CPU 添加 “vmx” 特性,需要在以上基础上增加原始配置里的numa

  1. 虚拟机内部安装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:

<domain type='kvm'> 
  <name>vm-test02</name>    
  <memory unit='KiB'>8388608</memory>    
  <currentMemory unit='KiB'>8388608</currentMemory>  
  <vcpu placement='static'>2</vcpu>    
  <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
    <boot dev='cdrom'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>Nehalem</model>
  </cpu>
  <clock offset='localtime'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/testimage01.qcow2'/>
      <target dev='hda' bus='ide'/>
    </disk>
    <disk type='file' device='cdrom'>
    <source file='/home/mnt/CentOS-7-x86_64-DVD-1511.iso'/>
    <target dev='hdb' bus='ide'/>
    </disk>
    <interface type='network'>
      <source network='default' bridge='virbr0'/>
    </interface>
    <input type='tablet' bus='usb'/>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='5905' autopart='no' listen='0.0.0.0' keymap='en-us'/>
  </devices>
</domain>
define一下,创建成功
查看vnc端口后进入刚创建的虚拟机:
配置最新vm的网络
ONBOOT=yes
NAMESERVER=223.5.5.5

systemctl restart network网络就好了
  1. 最内层虚拟机安装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

大功告成

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-08 08:30:52  更:2022-05-08 08:32:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 18:45:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码