乐趣区

关于openstack:openstack运维题

openstack 运维题

openstack 平台运维
  1. 在 openstack 公有云平台上,基于 cirrors.qcow2 镜像,应用命令创立一个名为 cirros 的镜像。
 [root@controller ~]# glance image-create --name "cirros" --disk-format qcow2 --container-format bare --progress opt/openstack/images/CentOS_7.5_x86_64_XD.qcow2

2. 在 openstack 公有云平台上,应用命令创立一个名为 Fmin,ID 为 1,内存为 1024 MB,磁盘为 10 GB,vcpu 数量为 1 的云主机类型。

 [root@controller ~]# nova flavor-create Fmin 1 1024 10 1

在 openstack 公有云平台上,编写模板 server.yml,创立名为“m1.flavor”、ID 为 1234、内存为 1024MB、硬盘为 20GB、vcpu 数量为 2 的云主机类型。

 [root@controller ~]# openstack orchestration template version list #查看可用于编排的模板版本
 [root@controller ~]# Vi  server.yaml 

server.yaml
heat_template_version: 2015-04-30
description: 
resources:         
        flavor:        
         type: OS::Nova::Flavor    
         properties:        
                name: "m1.flavor"    
                flavorid: "1234"    
                disk: 20        
                ram: 1024        
                vcpus: 2
outputs:    
  flavor_info:    
description: Get the information of virtual machine type    
    value: {get_attr: [ flavor, show] }

 [root@controller ~]# heat stack-create m1_flavor_stack -f server.yaml #创立资源 
  1. 在 openstack 公有云平台上,通过应用命令创立云主机内部网络 extnet,子网 extsubnet,虚拟机浮动 IP 网段为 172.18.x.0/24(其中 x 是考位号),网关为 172.18.x.1,网络应用 vlan 模式;创立云主机内网 intnet,子网 intsubnet,虚拟机子网 IP 网段为 192.168.x.0/24(其中 x 是考位号),网关为 192.168.x.1;实现内网子网 intsubnet 和内部网络 extnet 的连通。

创立外网

 [root@controller ~]# openstack network create extnet --provider-physical-network provider --provider-network-type vlan --external 

创立子网

 [root@controller ~]# openstack subnet create extsubnet --subnet-range 172.18.25.0/24 --network extnet --gateway 172.18.25.1

查看是否创立胜利

 [root@controller ~]# neutron subnet-list

创立内网

 [root@controller ~]# openstack network create intnet --provider-network-type vxlan --provider-segment 1

创立子网

 [root@controller ~]# openstack subnet create  intsubnet  --subnet-range 192.168.25.0/24  --network intnet --gateway 192.168.25.1/24

创立路由

 [root@controller ~]# openstack router create ext-router

绑定 ext-route 和外网 extnet, 并启动 snat

 [root@controller ~]# openstack router set --external-gateway extnet --enable-snat ext-route

ext-route 增加子网 intsubnet

 [root@controller ~]# openstack router add subnet ext-route intsubnet
  1. 在 Controller 节点中编写名为 modvm.sh 的 shell 脚本查看云主机 VM1 的内存大小,如果内存小于 2G,调整云主机 VM1 的内存为 2G。

  2. 在 openstack 公有云平台上,基于“cirros”镜像、1vCPU/1G /10G 的 flavor、intsubnet 的网络,绑定浮动 IP,应用命令创立一台虚拟机 VM1,启动 VM1,并应用 PC 机能近程登录到 VM1。

     [root@controller ~]# openstack flavor create --ram 1024 --disk 10 --vcpus 1 flavor 
     [root@controller ~]# onova boot --flavor flavor --image cirros --nic net-name=intnet --security-groups default VM1
     [root@controller ~]#openstack floating ip create extnet --floating-ip-address 172.18.25.104    // 创立出浮动 ip
    [root@controller ~]openstack server add floating ip VM1  172.18.25.104    // 绑定相应的浮动 ip 到云主机 
  3. 在 openstack 公有云平台上,将云主机 VM1 保留为 qcow2 格局的快照并保留到 controller 节点 /root/cloudsave 目录下。
 [root@controller ~]# Mkdir /root/cloudsave

 [root@controller ~]# openstack server image create VM1 --name myVM1

 [root@controller ~]# openstack image save --file /root/cloudsave/myVM1.qcow2 myVM1
  1. 在 controller 节点上新建名为 Chinaskill 的容器,并获取该容器的寄存门路;将 centos7_5.qcow2 镜像上传到 chinaskill 容器中,并设置分段寄存,每一段大小为 10M。

    bash
    swift post Chinaskill
    swift stat Chinaskill
    swift upload Chinaskill -S 10485760 /opt/openstack/images/centos7_5.qcow2
  1. 在 openstack 公有云平台上,创立一个名为“lvm”的卷类型,创立 1 块卷类型为 lvm 的 40G 云盘,并附加到虚拟机 VM1 上。

     openstack volume type create lvm
     openstack volume create  --type lvm --size 10 v1
     openstack volume list
     openstack server add volume VM1 v1
  1. 在虚拟机 VM1 上,应用附加的云盘,划分为 4 个 10G 的分区,创立一个 raid 5,其中 1 个分区作为热备。

    fdisk /dev/vdb 分 4 个分区
    mdadm -C -v demo -l 5 -n 3 -x 1 /dev/vdb{1,2,3,4}
  1. 在 Controller 节点中编写 /root/openstack/deletevm.sh 的 shell 脚本, 开释虚拟机 VM1,执行脚本实现实例开释。

    source /etc/keystone/admin-openrc.sh
    openstack server delete VM1
  2. 应用镜像 Openstack-error-1 重建云主机“all-in-one”(账号:root 明码:000000)。重建后的云主机内有谬误的 openstack 平台,其中有曾经创立好的云主机 vm-test 无奈启动,请排除谬误,启动 vm-test 云主机。

    计划:

    1. 首先到管制节点查看

    2. 查看 glance 日志 /var/log/glance/

    3. 查看 /var/lib/glance/ 下的文件的权限 750 所属主和所属者是不是 glance

  3. 登录 172.17.x.10/dashboard,应用 centos7 镜像创立三台云主机来搭建 rabbitmq 集群。应用一般集群模式,其中一台做磁盘节点,另外两台做内存节点,配置结束后启动 rabbitmq 服务。

    # 三台主机
    yum install -y rabbitmq-server
    systemctl restart rabbitmq-server
    systemctl enable rabbitmq-server
    
    #rabbitmq1 启动图形界面
    rabbitmq-plugins enable rabbitmq_management
    systemctl restart rabbitmq-server
    
    scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/
    scp /var/lib/rabbitmq/.erlang.cookie rabbitmq3:/var/lib/rabbitmq/
    
    # 两台节点主机
    chown rabbitmq:rabbitmq .erlang.cookie
    
    #配置节点退出集群
    #rabbitmq2
    rabbitmqctl stop_app
    rabbitmqctl join_cluster --ram rabbit@rabbitmq1
    rabbitmqctl start_app
    
    #rabbitmq3
    rabbitmqctl stop_app
    rabbitmqctl join_cluster --ram rabbit@rabbitmq1
    rabbitmqctl start_app
  4. 应用提供的云平安框架组件,将 http://172.17.x.10/dashboard 中的 keystone 安全策略从 http 优化至 https。

    yum install -y mod_ssl
    
    vi /etc/openstack-dashboard/local_settings
    USE_SSL = True
    CSRF_COOKIE_SECURE = True             ## 原文中有,去掉正文即可
    SESSION_COOKIE_SECURE = True          ## 原文中有,去掉正文即可
    SESSION_COOKIE_HTTPONLY = True
    
    vi /etc/httpd/conf.d/ssl.conf
    #将 SSLProtocol all -SSLv2 -SSLv3 改成
    SSLProtocol all -SSLv2
    
    systemctl restart httpd
    systemctl restart memcached
  5. 在 openstack 公有云平台上,增加 controller 节点资源到云平台(即 controller 节点也作为 compute 节点应用)。

     批改 openrc.sh, 把 compute 节点的 IP 和主机名改为 controller 节点的 IP 和主机名
    在管制节点运行 iaas-install-nova-compute.sh
  1. 从 PC 机上传 CentOS_7.5_x86_64.qcow2 文件到 controller 节点,并在 openstack 公有云平台上,应用 glance 相干命令上传镜像,镜像源为 CentOS_7.5_x86_64.qcow2,名为 Gmirror1,min _ram 为 2048M,min_disk 为 30G。

    openstack image create --disk-format qcow2 --public --min-ram 2048 --min-disk 30 --file /opt/images/CentOS_7.5_x86_64_XD.qcow2  Gmirror1
  2. 在云主机 VM1 上,对附加的云盘进行分区格式化后,永恒挂载到 /opt 目录下。在 Controller 节点中编写名为 /root/openstack/deletevm.sh 的 shell 脚本开释云主机 VM1,执行脚本实现实例开释。

    fdisk -l
    mkfs -t ext4 /dev/vdb
    
    vi /etc/fstab
    /dev/vdb     /opt    ext4      defaults      0 0
    
    #查看挂载
    lsblk -f
  1. 在 openstack 公有云平台上,将云主机 Hostrans(后面一题创立的)应用手动迁徙的形式,迁徙至另一个计算节点。

    # 查看虚拟机在哪个节点上
    nova show Hostrans
    
    #敞开虚拟机
    openstack server stop Hostrans
    
    #将 compute 节点迁徙
    scp -r /var/lib/nova/instances/5e157cc9-c25e-41e5-829b-5fb13d0a98f6/ controller:/var/lib/nova/instances/
    
    #批改数据库
    mysql -uroot -p000000
    use nova;
    update instances set host='controller', node='controller' where uuid='5e157cc9-c25e-41e5-829b-5fb13d0a98f6'
    
    #重启两个节点服务
    openstack-server restart
  1. 在 openstack 公有云平台上,配置 swift 对象存储为 glance 的后端存储。

    vim /etc/glance/glance-api.conf
    
    [glance_store]
    
    default_store = swift          默认为 file 改为 swift
    
    stores = file, http                默认不必动
    
    swift_store_auth_version = 2        默认版本为 2
    
    stores=glance.store.swift.Store,glance.store.filesystem.Store      此项肯定要加上,不然无奈上传
    
    swift_store_auth_address =  http://controller:5000/v2.0  controller 的 keystone 认证
    
    swift_store_user = service:swift    应用 swift 用户
    
    swift_store_key = swift        明码
    swift_store_container = glance       将要被创立的容器
    swift_store_create_container_on_put = True    上传开
    swift_store_large_object_size = 5120        最大 5G 限度,但与 glance 联合后限度有效
    swift_store_large_object_chunk_size = 200        最大 200 个容器
    swift_enable_snet = False
    systemctl restart openstack-glance-api
  2. 应用镜像 centos7,创立两台云主机 master 和 slave,并别离绑定浮动 IP;在这 2 台云主机上安装 mysql 数据库系统并配置为主从数据库(master 为主节点、slave 为从节点);并在 mater 云主机的数据库中创立 ChinaSkilldb 库,在 ChinaSkilldb 库中创立表 testable (id int not null primary key,Teamname varchar(50), remarks varchar(255)),在表中插入记录 (1,”Cloud”,”ChinaSkill”)。
退出移动版