zoukankan      html  css  js  c++  java
  • openstack-Centos -7.7.1908镜像制作

    简介

    通过 KVM 安装虚 Centos 和 Windwos 2008 R2_x86_64 操作系统步骤并将磁盘文件作为镜像上传到 openstack glance,作为批量创建虚拟机的镜像文件,其中 windowsn 2008 安装 virtio 半虚拟化驱动,以实现网络 IO 和磁盘 IO 的半虚拟化提升速度,Centos 7 默认即支持半虚拟化,不需要安装驱动,Virtio 最初由澳大利亚的一个天才级程序员 Rusty Russell 编写,是一个在 hypervisor 之上的抽象 API 接口,让客户机知道自己运行在虚拟化环境中,从而与 hypervisor 根据 virtio 标准协作,从而在客户机中达到更好的性能(特别是 I/O 性能),目前,有不少虚拟机都采用了 virtio 半虚拟化驱动来提高性能
    

    Centos 7.7.1908-镜像制作

    https://docs.openstack.org/image-guide/centos-image.html #centos镜像制作文档

    镜像制作前,需要找一台干净的服务器安装KVM,此服务器专门用于制作openstack所需的虚拟机镜像;KVM服务器(虚拟机)需要开启CPU虚拟化功能
    
    
    ##KVM服务器所需要执行的操作
    1、yum install -y qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install acpid  
    #acpid是对电源进行管理的,让宿主机可以重启虚拟机,即可以通过virsh命令对虚拟机进行重启
    
    2、systemctl start libvirtd acpid
    
    3、systemctl enable libvirtd acpid
    
    4、cd /usr/local/src  #上传ISO镜像
    
    5、qemu-img create -f qcow2 /var/lib/libvirt/images/CentOS-7-x86_64.qcow2 10G  
    #创建虚拟机磁盘文件并指定路径,格式为qcow2,qcow2跟使用量动态增长,也可以是 raw 格式(一次性占用宿主机磁盘)
    
    6、创建桥接网络
    (1)、vim /etc/sysconfig/network-scripts/ifcfg-eth0
    TYPE=Ethernet
    BOOTPROTO=static
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    BRIDGE=br0
    (2)、vim /etc/sysconfig/network-scripts/ifcfg-eth1
    TYPE=Ethernet
    BOOTPROTO=static
    NAME=eth1
    DEVICE=eth1
    ONBOOT=yes
    BRIDGE=br1
    (3)、vim /etc/sysconfig/network-scripts/ifcfg-br0
    TYPE=Bridge
    BOOTPROTO=none
    NAME=br0
    DEVICE=br0
    ONBOOT=yes
    IPADDR=172.31.7.10
    GATEWAY=172.31.7.254
    PREFIX=21
    (4)、vim /etc/sysconfig/network-scripts/ifcfg-br1
    TYPE=Bridge
    BOOTPROTO=none
    NAME=br1
    DEVICE=br1
    ONBOOT=yes
    IPADDR=10.10.7.10
    PREFIX=21
    
    7、systemctl restart network
    
    8、virt-install --virt-type kvm --name CentOS7-x86_64 --ram 1024 --cdrom=/usr/local/src/CentOS-7-x86_64-Minimal-1908.iso --disk path=/var/lib/libvirt/images/CentOS7-x86_64.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole
    #创建虚拟机(虚拟机磁盘文件在openstack中就是镜像),指定虚拟机类型为KVM、内存大小、ISO镜像位置、磁盘文件位置、网络桥接br0网络、图形使用的是vnc,监听在所有端口
    
    9、virt-manager   #xshell开启xll转发后,可以查看到虚拟机
    
    10、选择虚拟机,安装操作系统(16)
    
    ##ansible服务器配置
    1、ssh-keygen
    
    2、ssh-copy-id 172.31.0.9  
    #将ansible服务器的公钥拷贝到KVM所创建的虚拟机中,用于后期批量部署服务,实现免密要;此步骤需要在下面步骤之间执行,在下面安装完基础命令之后,获取到虚拟机DHCP地址之后,把ansible的公钥拷贝到虚拟机即可
    
    
    ##所创建的虚拟机中执行的操作
    1、vi /etc/sysconfig/network-scripts/ifcfg-eth0  #修改网络配置
    TYPE=Ethernet
    BOOTPROTO=dhcp  #KVM创建的虚拟机不要指定静态IP地址,openstack会自动分配,即使KVM指定了静态地址,但是通过openstack创建完虚拟机后,指定的地址也无法通讯
    NAME=eth0        
    DEVICE=eth0
    ONBOOT=yes
    
    2、systemctl restart network
    
    3、vi /etc/default/grub
    GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root net.ifnames=0 biosdevname=0 rhgb quiet"
    #修改网卡名称的内核参数
    
    4、grub2-mkconfig -o /boot/grub2/grub.cfg
    #重新生成GRUB配置并更新内核参数
    
    5、reboot     #重启后内核参数生效
    
    6、ifconfig   #查看IP地址后,通过xshell连接过去
    
    7、yum install vim iotop bc gcc gcc-c++ glibc glibc-devel pcre pcre-devel openssl  openssl-devel zip unzip zlib-devel  net-tools lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel bc  systemd-devel bash-completion traceroute -y   #安装系统常用命令
    
    8、systemctl disable firewalld
    
    9、systemctl disable NetworkManager
    
    10、vim /etc/sysconfig/selinux
    SELINUX=disabled
    
    11、vim /etc/hostname
    openstack.example.linux.local
    
    12、poweroff    #必须将虚拟机关机,保证数据一致性
    
    
    ##KVM服务器所需要做的操作
    1、cd /var/lib/libvirt/images/
    
    2、scp CentOS-7-x86_64.qcow2 172.31.7.102:/usr/local/src
    #将虚拟机的磁盘文件发送到controller节点上
    
    
    ##controller节点执行的操作
    1、cd /usr/local/src/
    
    2、source /root/admin-openrc.sh
    
    3、openstack image create "CentOS-1908-7.7-x86_64-template" --file /usr/local/src/CentOS-7-x86_64.qcow2 --disk-format qcow2 --container-format bare --public
    #创建镜像,指定镜像名称、指定虚拟机磁盘文件路径、磁盘格式qcow2、裸磁盘格式、镜像可见性为公有;创建完的镜像会上传到glance
    
    4、openstack image list  #查看镜像是否创建成功
    
    5、dashboard上使用提交的镜像创建虚拟机
    
    6、ansible服务器免密要连接虚拟机,批量部署服务
    
  • 相关阅读:
    10.2 查找同一组或分区中行之间的差
    8.7 确定当前记录和下一条记录之间相差的天数
    8.6 计算一年中周内各日期的次数
    8.5 确定两个日期之间的秒、分、小时数
    8.4 确定两个日期之间的月份数或年数
    8.2 计算两个日期之间的天数
    8.3 确定两个日期之间的工作日数目
    8.1 加减日、月、年
    7.13 计算不包含最大值和最小值的均值
    第3章 Python的数据类型 第3.1节 功能强大的 Python序列概述
  • 原文地址:https://www.cnblogs.com/dongzhanyi123/p/13301012.html
Copyright © 2011-2022 走看看