【赛程名称】云计算赛项第一场-私有云

​ 某企业拟使用 OpenStack 搭建一个企业云平台,以实现资源池化弹性管理、企业应用集 中管理、统一安全认证和授权等管理。

系统架构如图 1 所示,IP 地址规划如表 1 所示

image-20220906134820827

image-20220906134934487

说明:

  1. 竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源 配额相同,选手通过用户名与密码登录竞赛用私有云平台,创建云主机进行相应答题;
  2. 表中的 x 为工位号;在进行 OpenStack 搭建时的第二块网卡地址根据题意自行创建;
  3. 根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
  4. 考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
  5. 竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时, 请确认自己的 IP 地址,用户名和密码。

【任务 1】私有云服务搭建[10 分]

【适用平台】私有云

【题目 1】基础环境配置[0.5 分]

​ 使用提供的用户名密码,登录提供的 OpenStack 私有云平台,在当前租户下,使用 CentOS7.9 镜像,创建两台云主机,云主机类型使用 4vCPU/12G/100G_50G 类型。当前租户 下默认存在一张网卡,自行创建第二张网卡并连接至 controller 和 compute 节点(第二张网 卡的网段为 10.10.X.0/24,X 为工位号,不需要创建路由)。

​ 自行检查安全组策略,以确保 网络正常通信与 ssh 连接,然后按以下要求配置服务器:

(1)设置控制节点主机名为 controller,设置计算节点主机名为 compute;

(2)修改 hosts 文件将 IP 地址映射为主机名;

​ 完成后提交控制节点的用户名、密码和 IP 地址到答题框。

  1. 查看控制节点名字为 controller 正确计 0.2 分2.
  2. 查看 hosts 文件中有正确的主机名和 IP 映射计 0.2 分
  3. 控制节点正确使用两块网卡计 0.1 分
[root@localhost ~]# hostnamectl set-hostname controller
[root@localhost ~]# hostnamectl set-hostname compute
[root@controller ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.129.100.10 controller
172.129.100.20 compute
【题目 2】Yum 源配置[0.5 分]

​ 使用提供的 http 服务地址,在 http 服务下,存在 centos7.9 和 iaas 的网络 yum 源,使用 该 http 源作为安装 iaas 平台的网络源。分别设置 controller 节点和 compute 节点的 yum 源文 件 http.repo。

完成后提交控制节点的用户名、密码和 IP 地址到答题框。

  1. 查看/etc/yum.repos.d/http.repo 文件,有正确的 baseurl 路径,计 1 分
[root@controller ~]# cat /etc/yum.repos.d/http.repo 
[centos]
name=centos
baseurl=http://172.129.100.216/centos7.9
gpgcheck=0
[iaas]
name=iaas
baseurl=http://172.129.100.216/iaas-repo
gpgcheck=0
【题目 3】配置无秘钥 ssh[0.5 分]

​ 配置 controller 节点可以无秘钥访问 compute 节点,配置完成后,尝试 ssh 连接 compute 节点的 hostname 进行测试。

​ 完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。

  1. 查看控制节点允许计算节点无秘钥登录计 0.5 分
[root@controller ~]# ssh-keygen
[root@controller ~]# ssh-copy-id compute
[root@controller ~]# ssh root@compute   
Last login: Mon Sep 12 01:42:20 2022 from 172.129.100.10
[root@compute ~]#
【题目 4】基础安装[0.5 分]

​ 控制节点和计算节点上分别安装 openstack-iaas 软件包,根据表 2 配置两个节点脚本 文件中的基本变量(配置脚本文件为/etc/openstack/openrc.sh)。

image-20220906135437195

完成后提交控制节点的用户名、密码和 IP 地址到答题框。

  1. 检查环境变量文件配置正确计 0.5 分
[root@controller openstack]# cat openrc.sh 
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=172.129.100.10

#Controller HOST Password. example:000000 
HOST_PASS=000000

#Controller Server hostname. example:controller
HOST_NAME=controller

#Compute Node Manager IP. example:x.x.x.x
HOST_IP_NODE=172.129.100.20

#Compute HOST Password. example:000000 
HOST_PASS_NODE=000000

#Compute Node hostname. example:compute
HOST_NAME_NODE=compute

#--------------------Chrony Config-------------------##
#Controller network segment IP.  example:x.x.0.0/16(x.x.x.0/24)
network_segment_IP=172.129.100.0/24

#--------------------Rabbit Config ------------------##
#user for rabbit. example:openstack
RABBIT_USER=openstack

#Password for rabbit user .example:000000
RABBIT_PASS=000000

#--------------------MySQL Config---------------------##
#Password for MySQL root user . exmaple:000000
DB_PASS=000000

#--------------------Keystone Config------------------##
#Password for Keystore admin user. exmaple:000000
DOMAIN_NAME=demo
ADMIN_PASS=000000
DEMO_PASS=000000

#Password for Mysql keystore user. exmaple:000000
KEYSTONE_DBPASS=000000

#--------------------Glance Config--------------------##
#Password for Mysql glance user. exmaple:000000
GLANCE_DBPASS=000000

#Password for Keystore glance user. exmaple:000000
GLANCE_PASS=000000

#--------------------Placement Config----------------------##
#Password for Mysql placement user. exmaple:000000
PLACEMENT_DBPASS=000000

#Password for Keystore placement user. exmaple:000000
PLACEMENT_PASS=000000

#--------------------Nova Config----------------------##
#Password for Mysql nova user. exmaple:000000
NOVA_DBPASS=000000

#Password for Keystore nova user. exmaple:000000
NOVA_PASS=000000

#--------------------Neutron Config-------------------##
#Password for Mysql neutron user. exmaple:000000
NEUTRON_DBPASS=000000

#Password for Keystore neutron user. exmaple:000000
NEUTRON_PASS=000000

#metadata secret for neutron. exmaple:000000
METADATA_SECRET=000000

#External Network Interface. example:eth1
INTERFACE_NAME=ens224

#External Network The Physical Adapter. example:provider
Physical_NAME=provider

#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=101

#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=200

#--------------------Cinder Config--------------------##
#Password for Mysql cinder user. exmaple:000000
CINDER_DBPASS=000000

#Password for Keystore cinder user. exmaple:000000
CINDER_PASS=000000

#Cinder Block Disk. example:md126p3
BLOCK_DISK=sdb1

#--------------------Swift Config---------------------##
#Password for Keystore swift user. exmaple:000000
SWIFT_PASS=000000

#The NODE Object Disk for Swift. example:md126p4.
OBJECT_DISK=sdb2

#The NODE IP for Swift Storage Network. example:x.x.x.x.
STORAGE_LOCAL_NET_IP=172.129.100.20

#--------------------Trove Config----------------------##
#Password for Mysql trove user. exmaple:000000
TROVE_DBPASS=000000

#Password for Keystore trove user. exmaple:000000
TROVE_PASS=000000

#--------------------Heat Config----------------------##
#Password for Mysql heat user. exmaple:000000
HEAT_DBPASS=000000

#Password for Keystore heat user. exmaple:000000
HEAT_PASS=000000

#--------------------Ceilometer Config----------------##
#Password for Gnocchi ceilometer user. exmaple:000000
CEILOMETER_DBPASS=000000

#Password for Keystore ceilometer user. exmaple:000000
CEILOMETER_PASS=000000

#--------------------AODH Config----------------##
#Password for Mysql AODH user. exmaple:000000
AODH_DBPASS=000000

#Password for Keystore AODH user. exmaple:000000
AODH_PASS=000000

#--------------------ZUN Config----------------##
#Password for Mysql ZUN user. exmaple:000000
ZUN_DBPASS=000000

#Password for Keystore ZUN user. exmaple:000000
ZUN_PASS=000000

#Password for Keystore KURYR user. exmaple:000000
KURYR_PASS=000000

#--------------------OCTAVIA Config----------------##
#Password for Mysql OCTAVIA user. exmaple:000000
OCTAVIA_DBPASS=000000

#Password for Keystore OCTAVIA user. exmaple:000000
OCTAVIA_PASS=000000

#--------------------Manila Config----------------##
#Password for Mysql Manila user. exmaple:000000
MANILA_DBPASS=000000

#Password for Keystore Manila user. exmaple:000000
MANILA_PASS=000000

#The NODE Object Disk for Manila. example:md126p5.
SHARE_DISK=sdb3

#--------------------Cloudkitty Config----------------##
#Password for Mysql Cloudkitty user. exmaple:000000
CLOUDKITTY_DBPASS=000000

#Password for Keystore Cloudkitty user. exmaple:000000
CLOUDKITTY_PASS=000000

#--------------------Barbican Config----------------##
#Password for Mysql Barbican user. exmaple:000000
BARBICAN_DBPASS=000000

#Password for Keystore Barbican user. exmaple:000000
BARBICAN_PASS=000000
###############################################################
#####在vi编辑器中执行:%s/^.\{1\}//  删除每行前1个字符(#号)#####
###############################################################

注意 iaas-pre-host.sh脚本别忘记跑了(两个节点)

【题目 5】数据库安装与调优[0.5 分]

​ 在 controller 节点上使用 iaas-install-mysql.sh 脚本安装 Mariadb、Memcached、RabbitMQ 等服务。

​ 安装服务完毕后,修改/etc/my.cnf 文件,完成下列要求:

  1. 设置数据库支持大小写;
  2. 设置数据库缓存 innodb 表的索引,数据,插入数据时的缓冲为 4G;
  3. 设置数据库的 log buffer 为 64MB;
  4. 设置数据库的 redo log 大小为 256MB;
  5. 设置数据库的 redo log 文件组为 2。

完成后提交控制节点的用户名、密码和 IP 地址到答题框。

  1. 数据库配置正确计 1 分
[root@controller ~]# iaas-install-mysql.sh
[root@controller ~]# cat /etc/my.cnf
.....
lower_case_table_names=1      #设置数据库支持大小写;
innodb_buffer_pool_size=4G    #设置数据库缓存 innodb 表的索引,数据,插入数据时的缓冲为 4G;
innodb_log_buffer_size= 64M  #设置数据库的 log buffer 为 64MB;
innodb_log_file_size=256M     #设置数据库的 redo log 大小为 256MB; 
innodb_log_files_in_group=2   #设置数据库的 redo log 文件组为 2。
.....
【题目 6】Keystone 服务安装与使用[0.5 分]

​ 在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。

​ 安装完成后, 使用相关命令,创建用户 chinaskill,密码为 000000。完成后提交控制节点的用户名、密码 和 IP 地址到答题框。

  1. 检查 keystone 服务安装正确计 0.2 分
  2. 检查 chinaskill 用户创建正确计 0.3 分
[root@controller ~]# iaas-install-keystone.sh
[root@controller ~]# source /etc/keystone/admin-openrc.sh 
[root@controller ~]# openstack user create --password 000000 chinaskill
+---------------------+----------------------------------+
| Field               | Value                            |
+---------------------+----------------------------------+
| domain_id           | default                          |
| enabled             | True                             |
| id                  | 61f7c5715de04767a1dccdcd738041ac |
| name                | chinaskill                       |
| options             | {}                               |
| password_expires_at | None                             |
+---------------------+----------------------------------+
【题目 7】Glance 安装与使用[0.5 分]

​ 在 controller 节点上使用 iaas-install-glance.sh 脚本安装 glance 服务。使用命令将提供 的 cirros-0.3.4-x86_64-disk.img 镜像(该镜像在 HTTP 服务中,可自行下载)上传至平台, 命名为 cirros,并设置最小启动需要的硬盘为 10G,最小启动需要的内存为 1G。

​ 完成后提交 控制节点的用户名、密码和 IP 地址到答题框。

  1. 检查 glance 服务安装正确计 0.1 分
  2. 检查 cirros 镜像最小启动硬盘与内存配置正确计 0.4 分
[root@controller ~]# iaas-install-glance.sh
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# openstack image create  --min-disk 1 --min-ram 1 --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img cirros

控制节点别忘了跑iaas-install-placement.sh脚本

【题目 8】Nova 安装与优化[0.5 分]

​ 在 controller 节点和 compute 节点上分别使用 iaas-install-placement.sh 脚本、 iaas-install-nova -controller.sh 脚本、iaas-install-nova-compute.sh 脚本安装 Nova 服务。

​ 安装完成后,请修改 nova 相关配置文件,解决因等待时间过长而导致虚拟机启动超时从而获取不 到 IP 地址而报错失败的问题。

​ 配置完成后提交 controller 点的用户名、密码和 IP 地址到答 题框。

  1. 检查 nova 服务解决超时问题配置正确计 0.5 分
[root@controller ~]# iaas-install-nova-controller.sh
[root@compute ~]# iaas-install-nova-compute.sh 
[root@controller ~]# vi /etc/nova/nova.conf
找到如下这行
#vif_plugging_is_fatal=true
将该行的注释去掉,并将true改为false,修改完之后如下:
vif_plugging_is_fatal=false

[root@controller ~]# openstack-service restart
【题目 9】Neutron 安装[0.5 分]

​ 使用提供的脚本 iaas-install-neutron-controller.sh 和 iaas-install-neutron-compute.sh,在 controller 和 compute 节点上安装 neutron 服务。

​ 完成后提交控制节点的用户名、密码和 IP 地址到答题框。

  1. 检查 neutron 服务安装正确计 0.2 分
  2. 检查 neutron 服务的 linuxbridge 网桥服务启动正确计 0.3 分
[root@controller ~]# iaas-install-neutron-controller.sh
[root@compute ~]# iaas-install-neutron-compute.sh 
[root@controller ~]# source /etc/keystone/admin-openrc.sh 
[root@controller ~]# openstack network agent list         
+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+
| ID                                   | Agent Type         | Host       | Availability Zone | Alive | State | Binary                    |
+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+
| 41699861-8a67-4ee3-91a5-5b21f8851493 | Linux bridge agent | compute    | None              | :-)   | UP    | neutron-linuxbridge-agent |
| 42fac3f1-b54a-4028-b3cc-1ae9979d268b | DHCP agent         | controller | nova              | :-)   | UP    | neutron-dhcp-agent        |
| 4d06b26a-063b-4419-8bf3-f632ddb1d0ef | Linux bridge agent | controller | None              | :-)   | UP    | neutron-linuxbridge-agent |
| 7b960381-6628-4f22-a05f-4b47ae9e6ee2 | L3 agent           | controller | nova              | :-)   | UP    | neutron-l3-agent          |
| 89973caf-3c4b-497d-bcfe-20683f913a4f | Metadata agent     | controller | None              | :-)   | UP    | neutron-metadata-agent    |
+--------------------------------------+--------------------+------------+-------------------+-------+-------+---------------------------+
【题目 10】Doshboard 安装[0.5 分]

​ 在controller节点上使用iaas-install-dashboad.sh脚本安装dashboad服务。安装完成后, 将 Dashboard 中的 Djingo 数据修改为存储在文件中(此种修改解决了 ALL-in-one 快照在其 他云平台 Dashboard 不能访问的问题)。

​ 完成后提交控制节点的用户名、密码和 IP 地址到 答题框。

  1. 检查 Dashboard 服务安装正确计 0.2 分
  2. 检查 Dashboard 服务中 Djingo 数据修改为存储在文件中配置正确计 0.3 分
[root@controller ~]# iaas-install-dashboard.sh 
【题目 11】Swift 安装[0.5 分]

​ 在 控 制 节 点 和 计 算 节 点 上 分 别 使 用 iaas-install-swift-controller.sh 和 iaas-install-swift-compute.sh 脚本安装 Swift 服务。安装完成后,使用命令创建一个名叫 examcontainer 的容器,将 cirros-0.3.4-x86_64-disk.img 镜像上传到 examcontainer 容器中,并 设置分段存放,每一段大小为 10M。

​ 完成后提交控制节点的用户名、密码和 IP 地址到答题 框。

  1. 检查 swift 服务安装正确计 0.3 分
  2. 分段上传 cirros 镜像正确计 0.2 分
[root@controller ~]# iaas-install-swift-controller.sh 
[root@compute ~]# iaas-install-swift-compute.sh
[root@controller ~]# swift post examcontainer
[root@controller ~]# swift upload -S 10000000 examcontainer cirros-0.3.4-x86_64-disk.img
【题目 12】Cinder 创建硬盘[0.5 分]

​ 在 控 制 节 点 和 计 算 节 点 分 别 使 用 iaas-install-cinder-controller.sh 、 iaas-install-cinder-compute.sh 脚本安装 Cinder 服务,请在计算节点,对块存储进行扩容操作, 即在计算节点再分出一个 5G 的分区,加入到 cinder 块存储的后端存储中去。

​ 完成后提交计 算节点的用户名、密码和 IP 地址到答题框。

  1. 检查 cinder 后端存储扩容成功计 0.5 分
[root@controller ~]# iaas-install-cinder-controller.sh
[root@compute ~]# iaas-install-cinder-compute.sh
# 添加一块盘
fdisk  /dev/sdc
#创建物理卷
pvcreate /dev/sdc1
#扩展cinder-volume卷组
vgextend cinder-volumes /dev/sdc1

lvextend /dev/cinder-volumes/cinder-volumes-pool /dev/sdc1
[root@compute ~]# lsblk
NAME                                            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                                               8:0    0  100G  0 disk 
├─sda1                                            8:1    0    1G  0 part /boot
└─sda2                                            8:2    0   99G  0 part 
  ├─centos-root                                 253:0    0   50G  0 lvm  /
  ├─centos-swap                                 253:1    0    5G  0 lvm  [SWAP]
  └─centos-home                                 253:2    0 44.1G  0 lvm  /home
sdb                                               8:16   0   60G  0 disk 
├─sdb1                                            8:17   0   20G  0 part 
│ ├─cinder--volumes-cinder--volumes--pool_tmeta 253:3    0   20M  0 lvm  
│ │ └─cinder--volumes-cinder--volumes--pool     253:5    0   24G  0 lvm  
│ └─cinder--volumes-cinder--volumes--pool_tdata 253:4    0   24G  0 lvm  
│   └─cinder--volumes-cinder--volumes--pool     253:5    0   24G  0 lvm  
├─sdb2                                            8:18   0   20G  0 part /swift/node/sdb2
└─sdb3                                            8:19   0   20G  0 part 
sdc                                               8:32   0   20G  0 disk 
└─sdc1                                            8:33   0    5G  0 part 
  └─cinder--volumes-cinder--volumes--pool_tdata 253:4    0   24G  0 lvm  
    └─cinder--volumes-cinder--volumes--pool     253:5    0   24G  0 lvm  
sr0
【题目 13】Manila 服务安装与使用[0.5 分]

​ 在 控 制 和 计 算 节 点 上 分 别 使 用 iaas-install-manila-controller.sh 和 iaas-install-manila-compute.sh 脚本安装 manila 服务。安装服务后创建 default_share_type 共享类型(不使用驱动程序支持),接着创建一个大小为 2G 的共享存储名为 share01 并开放 share01 目录对 OpenStack 管理网段使用权限。

​ 最后提交控制节点的用户名、密码和 IP 地址 到答题框。

  1. 检查 share01 共享存储正确创建并赋予权限计 0.5 分
[root@controller ~]# iaas-install-manila-controller.sh
[root@compute ~]# iaas-install-manila-compute.sh
[root@controller ~]# source /etc/keystone/admin-openrc.sh 
[root@controller ~]# manila type-create default_share_type False
+----------------------+--------------------------------------+
| Property             | Value                                |
+----------------------+--------------------------------------+
| required_extra_specs | driver_handles_share_servers : False |
| Name                 | default_share_type                   |
| Visibility           | public                               |
| is_default           | YES                                  |
| ID                   | 1b72a059-c081-432f-9427-f595d95de90b |
| optional_extra_specs |                                      |
| Description          | None                                 |
+----------------------+--------------------------------------+
[root@controller ~]# manila create NFS 2 --name share01
+---------------------------------------+--------------------------------------+
| Property                              | Value                                |
+---------------------------------------+--------------------------------------+
| status                                | creating                             |
| share_type_name                       | default_share_type                   |
| description                           | None                                 |
| availability_zone                     | None                                 |
| share_network_id                      | None                                 |
| share_server_id                       | None                                 |
| share_group_id                        | None                                 |
| host                                  |                                      |
| revert_to_snapshot_support            | False                                |
| access_rules_status                   | active                               |
| snapshot_id                           | None                                 |
| create_share_from_snapshot_support    | False                                |
| is_public                             | False                                |
| task_state                            | None                                 |
| snapshot_support                      | False                                |
| id                                    | c334bec8-89ef-4c6d-8906-cde0824ef168 |
| size                                  | 2                                    |
| source_share_group_snapshot_member_id | None                                 |
| user_id                               | 0f4b40862b6f4f9ea1b722e2ee76caaf     |
| name                                  | share01                              |
| share_type                            | 1b72a059-c081-432f-9427-f595d95de90b |
| has_replicas                          | False                                |
| replication_type                      | None                                 |
| created_at                            | 2022-09-12T10:36:01.000000           |
| share_proto                           | NFS                                  |
| mount_snapshot_support                | False                                |
| project_id                            | 11ba790014d848c6aca94584ca0c6302     |
| metadata                              | {}                                   |
+---------------------------------------+--------------------------------------+
[root@controller ~]# manila access-allow share01 ip 172.129.100.0/24 --access-level rw
+--------------+--------------------------------------+
| Property     | Value                                |
+--------------+--------------------------------------+
| access_key   | None                                 |
| share_id     | c334bec8-89ef-4c6d-8906-cde0824ef168 |
| created_at   | 2022-09-12T10:38:12.000000           |
| updated_at   | None                                 |
| access_type  | ip                                   |
| access_to    | 172.129.100.0/24                      |
| access_level | rw                                   |
| state        | queued_to_apply                      |
| id           | 28a5a6e8-b7ce-487c-8e9c-a8371d4af656 |
| metadata     | {}                                   |
+--------------+--------------------------------------+
【题目 14】Barbican 服务安装与使用[0.5 分]

​ 使用 iaas-install-barbican.sh 脚本安装 barbican 服务,安装服务完毕后,使用 openstack 命令创建一个名为 secret01 的密钥。

​ 创建完成后提交控制节点的用户名、密码和 IP 地址到 答题框。

  1. 检查 secret01 密钥创建正确计 0.5 分
[root@controller ~]# iaas-install-barbican.sh
[root@controller ~]# openstack secret store --name secret01 --payload secrekey   
+---------------+------------------------------------------------------------------------+
| Field         | Value                                                                  |
+---------------+------------------------------------------------------------------------+
| Secret href   | http://controller:9311/v1/secrets/945b5b10-7a8c-4f27-849f-19be3c10ee76 |
| Name          | secret01                                                               |
| Created       | None                                                                   |
| Status        | None                                                                   |
| Content types | None                                                                   |
| Algorithm     | aes                                                                    |
| Bit length    | 256                                                                    |
| Secret type   | opaque                                                                 |
| Mode          | cbc                                                                    |
| Expiration    | None                                                                   |
+---------------+------------------------------------------------------------------------+
【题目 15】Cloudkitty 服务安装与使用[1 分]

​ 使用 iaas-install-cloudkitty.sh 脚本安装 cloudkitty 服务,安装完毕后,启用 hashmap 评级 模块,接着创建 volume_thresholds 组,创建服务匹配规则 volume.size,并设置每 GB 的价 格为 0.01。接下来对应大量数据设置应用折扣,在组 volume_thresholds 中创建阈值,设置若超过 50GB 的阈值,应用 2%的折扣(0.98)。

​ 设置完成后提交控制节点的用户名、密码 和 IP 地址到答题框。

  1. 检查 hashmap 评级模块启用成功计 0.2 分
  2. 检查服务匹配规则 volume.size 创建成功 0.8 分
[root@controller ~]# iaas-install-cloudkitty.sh
# 启用 hashmap 评级模块
[root@controller ~]# openstack rating module enable hashmap
# 创建volume_thresholds组
[root@controller ~]# cloudkitty hashmap group create volume_thresholds
+-------------------+--------------------------------------+
| Name              | Group ID                             |
+-------------------+--------------------------------------+
| volume_thresholds | 48ad0eb7-ed96-46cc-9030-a193e930174f |
+-------------------+--------------------------------------+
# 创建服务匹配规则
[root@controller ~]# cloudkitty hashmap service create volume.size
+-------------+--------------------------------------+
| Name        | Service ID                           |
+-------------+--------------------------------------+
| volume.size | 05b0736a-338d-4dfa-952e-39e452d78f5b |
+-------------+--------------------------------------+
# 现在让我们设置每 GB 的价格
[root@contia	oller ~]# cloudkitty hashmap mapping create 0.01 \
> -s 05b0736a-338d-4dfa-952e-39e452d78f5b \
> -t flat -g 48ad0eb7-ed96-46cc-9030-a193e930174f
+--------------------------------------+-------+------------+------+----------+--------------------------------------+--------------------------------------+------------+
| Mapping ID                           | Value | Cost       | Type | Field ID | Service ID                           | Group ID                             | Project ID |
+--------------------------------------+-------+------------+------+----------+--------------------------------------+--------------------------------------+------------+
| 5549eaa6-309f-4c68-9640-683f47bdae5c | None  | 0.01000000 | flat | None     | 05b0736a-338d-4dfa-952e-39e452d78f5b | 48ad0eb7-ed96-46cc-9030-a193e930174f | None       |
+--------------------------------------+-------+------------+------+----------+--------------------------------------+--------------------------------------+------------+
# 对大量数据应用折扣
[root@controller ~]# cloudkitty hashmap threshold  create 50 0.98 \
> -s 05b0736a-338d-4dfa-952e-39e452d78f5b 
> -t rate -g 48ad0eb7-ed96-46cc-9030-a193e930174f 
+--------------------------------------+-------------+------------+------+----------+--------------------------------------+--------------------------------------+------------+
| Threshold ID                         | Level       | Cost       | Type | Field ID | Service ID                           | Group ID                             | Project ID |
+--------------------------------------+-------------+------------+------+----------+--------------------------------------+--------------------------------------+------------+
| 5356d311-0aa4-4f1c-b916-e96162e0ae91 | 50.00000000 | 0.98000000 | rate | None     | 05b0736a-338d-4dfa-952e-39e452d78f5b | 48ad0eb7-ed96-46cc-9030-a193e930174f | None       |
+--------------------------------------+-------------+------------+------+----------+--------------------------------------+--------------------------------------+------------+
【题目 16】OpenStack 平台内存优化[0.5 分]

​ 搭建完 OpenStack 平台后,关闭系统的内存共享,打开透明大页。

​ 完成后提交控制节点 的用户名、密码和 IP 地址到答题框。

  1. 检查系统内存优化成功计 0.5 分
[root@controller ~]# find / -name defrag
/sys/kernel/mm/transparent_hugepage/defrag
/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
[root@controller ~]# echo never > /sys/kernel/mm/transparent_hugepage/defr
ag 
[root@controller ~]# cat /sys/kernel/mm/transparent_hugepage/defrag 
always madvise [never]
[root@controller ~]# 
【题目 17】修改文件句柄数[0.5 分]

​ Linux 服务器大并发时,往往需要预先调优 Linux 参数。默认情况下,Linux 最大文件 句柄数为 1024 个。当你的服务器在大并发达到极限时,就会报出“too many open files”。 创建一台云主机,修改相关配置,将控制节点的最大文件句柄数永久修改为 65535。

​ 配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。

  1. 检查配置 linux 系统句柄数为 65535 成功计 0.5 分
[root@controller ~]# echo "* soft nofile  65535 " >> /etc/security/limits.conf 
[root@controller ~]# echo "* hard nofile  65535 " >> /etc/security/limits.conf
【题目 18】Linux 系统调优-防止 SYN 攻击 [1 分]

​ 修改 controller 节点的相关配置文件,开启 SYN cookie,防止 SYN 洪水攻击。

​ 完成后 提交 controller 节点的用户名、密码和 IP 地址到答题框。

  1. 检查开启 SYN cookie 配置计 1 分
[root@controller ~]# cat /etc/sysctl.conf 
net.ipv4.tcp_syncookies = 1 添加
Logo

开源、云原生的融合云平台

更多推荐