每天5分钟复习OpenStack(三)

每天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虚拟机能直接复制?

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

相关推荐
刘某的Cloud1 小时前
openstack迁移虚机rbd报错,删除异常rbd
linux·运维·openstack·nova·rbd
唐僧洗头爱飘柔95274 小时前
(云计算HCIP)HCIP全笔记(十三)本篇介绍虚拟化技术,内容包含:虚拟化资源、虚拟化过程、I/O虚拟化、虚拟化架构KVM和Xen介绍、主流虚拟化技术介绍
笔记·架构·云计算·hcip·kvm·xen·i/o虚拟化
24k小善4 小时前
FlinkJobmanager深度解析
java·大数据·flink·云计算
泛黄的咖啡店4 小时前
FTP-网络文件服务器
云计算·运维开发
Johny_Zhao15 小时前
OpenStack 全套搭建部署指南(基于 Kolla-Ansible)
linux·python·信息安全·云计算·openstack·shell·yum源·系统运维
小余吃大鱼18 小时前
OpenStack私有云详细介绍
开发语言·php·openstack
小茬粥20 小时前
kvm网卡发现的采集信息脚本COLT_CMDB_KVM_NETDISC.sh
linux·kvm
AI_CPU_GPU_Cloud20 小时前
云计算市场的重新分类研究
云计算
唐僧洗头爱飘柔952721 小时前
(云计算HCIP)HCIP全笔记(九)本篇介绍操作系统基础,内容包含:操作系统组成、分类和定义,Linux的特性结构和Linux版本分类
linux·笔记·华为云·云计算·hcip·openeuler·操作系统概述
阻容降压1 天前
腾讯云物联网平台
云计算·腾讯云