每天5分钟复习OpenStack(三)

为什么要拉起kvm 虚拟机要熟悉这些操作? 作为一个运维工程师,将来有大量的时间是在制作镜像,镜像的制作就是在kvm虚拟化环境拉起kvm 管理的虚拟机的过程,安装一些必要的agent,如 QGA,cloud-init 等,完成之后shutdown 关机,其qcow2的磁盘文件就是镜像。

拉起第一台KVM 虚拟机

1、环境说明

• 安装vmware软件

• 安装系统,系统版本 Centos7.6 版本 1810

• vmware 网络配置 NAT 模式 网段192.168.48.0/24 虚拟机IP 192.168.48.11

• 虚拟机默认最小化安装,对分区没有要求 下面提供一个初始化脚本用来系统优化新安装的系统

2、环境初始化

主要功能是:

  • 修改主机名为自己的IP 、

  • 关闭selinux firewalld

  • 加载netfilter 模块是为了在linux Bridge 上增加NAT 功能。

  • 修改网卡名为ethX

  • 关闭SSH登录的反向解析。

#!/bin/bash

#1. 设置用户名
name=`ip -o -4 addr |awk -F '/| +' '/eth0/{print $4}' |tr '.' '-'`
hostnamectl set-hostname $name # 2. 关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0 # 3. 关闭防火墙,开启转发
systemctl stop firewalld
systemctl disable firewalld
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
modprobe br_netfilter
echo "net.bridge.bridge-nf-call-arptables = 0 " >> /etc/sysctl.conf
echo "net.bridge.bridge-nf-call-iptables = 0" >> /etc/sysctl.conf
echo br_netfilter >> /etc/modules-load.d/modules.conf
sysctl -p #4. 关闭NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager #5. 修改网卡名字
grep biosdevname=0 /etc/default/grub || sed -ie 's/rhgb quiet/net.ifnames=0 #biosdevname=0 rhgb quiet/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg #ssh 优化
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
systemctl restart sshd #8. 重启reboot
#########重启服务器###########
read -p "是否重启服务器 y/n" sure
if [ $sure == "y" ];then
reboot
fi

3、安装KVM 基础环境安装包

yum install qemu-kvm  virt-manager  virt-install vim  libvirt bc wget  -y

4、启动libvirtd 服务 下载安装镜像文件

systemctl start libvirtd
systemctl enable libvirtd
mkdir -pv /data/{iso,images}

5、 下载阿里云7.6的镜像iso文件

wget  https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso?spm=a2c6h.25603864.0.0.39ec12cfDiobIj  \
-O /data/iso/CentOS-7-x86_64-Minimal-1810.iso

6、拉起kvm 虚拟机test

kvm001.raw 文件系统会自动生成

vnc的方式登录,因此需要找到vnc对应的端口

启动文件为ISO,因此需要手动安装系统,将来熟悉后可以采用ks文件来实现自动化的安装。

vnc 登录的方式

virt-install \
--name=test --ram 1024 --vcpus=1 \
--disk path=/data/images/kvm001.raw,size=50,format=raw,bus=virtio \
--cdrom=/data/iso/CentOS-7-x86_64-Minimal-1810.iso --network bridge=virbr0,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole

自动安装系统的方式

需要提前准备ks文件,ks文件制作网上例子很多,这里暂时不表。

也可以去掉ks.cfg 的部分,直接使用默认的console=tty0 来手动安装。

(注意有些特殊的操作系统如欧拉系统,默认其没有开启VNC服务,则vnc的方式无法系统安装,默认进入系统安装页面后VNC登陆就显示断开,此时只能使用console的方式)

virt-install \
--name test \
--memory=1024 \
--vcpus=2 \
--os-type linux \
--location /data/iso/CentOS-7-x86_64-Minimal-1810.iso \
--disk path=/data/images/test.qcow2,size=30,format=qcow2 \
--network bridge=virbr0 \
--graphics=none \
--console pty,target_type=serial \
--initrd-inject ks.cfg \
--extra-args 'inst.ks=file:/ks.cfg console=tty0 console=ttyS0,115200n8'

根据虚拟机名字test 查看进程号,通过进程查看监听端口号为5900+本地IP=192.168.48.11 则登录地址192.168.48.11:5900

VNC 安装登录操作系统

等待系统安装完成后,重启系统后,通过virsh list --all状态为shutdown

5、virsh常用管理命令

1 启动虚拟机

virsh start test
virsh autostart test

6、给虚拟机加上管理地址,方便ssh登录,重启网卡,使默认路由生效。

7、配置宿主机使虚拟机能访问公网

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

默认情况下虚拟机的流量都直接传送到网关192.168.122.1 ,而网关IP就在宿主机上,因此加上对应iptables 规则后,虚拟机就能访问公网了。

思考:

  1. 192.168.122.0/24 网段是系统自定义的,如何改变改网段

  2. 在实际生产环境会配置各种网桥,这些网桥都是只在本地物理机上生效,怎么跨主机让相同网络的虚拟机能相互访问呢?

  3. 各个网桥的流量怎么隔离了

  4. 每个虚拟机都使用光盘安装太麻烦,有没有简单方法使用kvm虚拟机能直接复制?

下面章节将一一揭晓上述答案

每天5分钟复习OpenStack(三)的更多相关文章

  1. 理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

    本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 ( ...

  2. OpenStack三个节点icehouse-gre模式部署

    一.环境准备 1.架构 创建3台虚拟机,分别作为controll节点.network节点和compute1节点. Controller节点:1processor,2G memory,5G storag ...

  3. OpenStack三个节点icehouse

    一.环境准备 1.架构 创建3台虚拟机,分别作为controll节点.network节点和compute1节点. Controller节点:1processor,2G memory,5G storag ...

  4. 十分钟复习CSS盒模型与BFC

    css盒模型与BFC 本文为收集整理总结网上资源 旨在系统复习css盒模型与bfc 节省复习时间 阅读10分钟 什么是盒模型 每一个文档中,每个元素都被表示为一个矩形的盒子,它都会具有内容区.padd ...

  5. EF6 在原有数据库中使用 CodeFirst 总复习(三、重建迁移)

    本来原来学的时候,挺顺利的,没想到再次使用,还是遇到很多问题,导致更新失败,所以,只能重建迁移,免得看着乱乱的. 一.删除迁移,将数据恢复到(一)结束状态 1.删除文件夹 2.删除表 3.删除列 4. ...

  6. 五分钟学习React(三):纯HTML代码搭建React应用

    上一期我们使用了React官方的脚手架运行React应用.大家可能会觉得这种方法很繁琐,需要配置各种第三方插件.JQuery时代的前端真是让人怀念.这一期,我就带领大家创建一个"怀旧版&qu ...

  7. 10分钟安装OpenStack

    1 OpenStack初学者的苦恼 2 OpenStack最低配置要求 3 配置UOS环境 3.1 设置网络 3.1.1 创建路由器 3.1.2 创建网络 3.1.3 创建两个子网 3.2 创建UOS ...

  8. OpenStack三种类型的NAT转换

    SNAT SNAT即源网络地址转换,这个NAT路由修改IP包包头中的源IP地址.SNAT功能通常用于让只具有私有IP地址的主机能够访问外网,比如,多个PC使用路由器共享上网,每个PC都配置了内网IP, ...

  9. [NOIP 2014复习]第三章:动态规划——NOIP历届真题回想

    背包型动态规划 1.Wikioi 1047 邮票面值设计 题目描写叙述 Description 给定一个信封,最多仅仅同意粘贴N张邮票,计算在给定K(N+K≤40)种邮票的情况下(假定全部的邮票数量都 ...

  10. [NOIP复习]第三章:动态规划

    一.背包问题 最基础的一类动规问题.相似之处在于给n个物品或无穷多物品或不同种类的物品,每种物品仅仅有一个或若干个,给一个背包装入这些物品,要求在不超出背包容量的范围内,使得获得的价值或占用体积尽可能 ...

随机推荐

  1. 【.NET源码解读】深入剖析中间件的设计与实现

    .NET本身就是一个基于中间件(middleware)的框架,它通过一系列的中间件组件来处理HTTP请求和响应.在之前的文章<.NET源码解读kestrel服务器及创建HttpContext对象 ...

  2. JS逆向实战19——通杀webpack逆向

    声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 网站 aHR0cHM6Ly ...

  3. 屏蔽CSDN百度广告

    最近在查询一些技术问题访问到CSDN时一直弹一些令人作恶的广告,说个特别的广告,脱发广告,特别有针对性程序员同胞们的共性问题,不过还是特别恶心,百度了一下,大家也特别反感,CSDN你真这么缺钱?废话不 ...

  4. 从数据库中读取数据并写入到Excle电子表格之1

    //获取数据 using (SqlDataReader reader = Alian_SQL_Helper.SQL_Helper .ExecuteReader( "select CC_Aut ...

  5. 报错 no currentsessioncontext configured!

    no currentsessioncontext configured! 使用hibernate框架报错 配置了session工厂类,使用getCurrentSession();时候引起的,原因是cu ...

  6. HashMap源码的阅读笔记

    注释部分 Hash table based implementation of the <tt>Map</tt> interface. This * implementatio ...

  7. 2022-1-11 控件学习3 文本渲染、TabIndex、Border、Slider、ProgressBar、

    WPF文本渲染  TextOptions.TextFormattingMode:默认值Ideal大部分是好用的,但是非常小的文本使用Display渲染会好一些 TextRenderMode:使用抗锯齿 ...

  8. Trackbar调色板

    我们将会建立一个简单的应用,显示我们指定的颜色.将会建立一个窗口,显示三个trackbar指定RGB三个颜色通道值.可以滑动trackbar来改变相应的颜色.默认情况下,初始颜色为黑色. cv2.ge ...

  9. Blazor前后端框架Known-V1.2.11

    V1.2.11 Known是基于C#和Blazor开发的前后端分离快速开发框架,开箱即用,跨平台,一处代码,多处运行. Gitee: https://gitee.com/known/Known Git ...

  10. Tibos.Devops项目介绍

    诞生背景 随着微服务的普及,更多的企业选择迁移到云,传统的部署方式已经无法满足需求,市面上devops产品也应运而生,结合自己使用的经验,也制作了一款同类产品,并开源出来,与大家一起探讨学习 前置条件 ...