某企业拟使用 OpenStack 搭建一个企业云平台,以实现资源池化弹性管理、企业应用集中管理、统一安全认证和授权等管理。
系统架构如图1所示,IP 地址规划如表1所示
说明:
1.竞赛使用集群模式进行,比赛时给每个参赛队提供独立的租户与用户,各用户的资源
配额相同,选手通过用户名与密码登录竞赛用私有云平台,创建云主机进行相应答题;
2.表中的 x 为工位号;在进行 OpenStack 搭建时的第二块网卡地址根据题意自行创建;
3.根据图表给出的信息,检查硬件连线及网络设备配置,确保网络连接正常;
4.考试所需要的账号资源、竞赛资源包与附件均会在考位信息表与设备确认单中给出;
5.竞赛过程中,为确保服务器的安全,请自行修改服务器密码;在考试系统提交信息时,
请确认自己的 IP 地址,用户名和密码。
计算节点进行part分区
[root@compute ~] parted /dev/vdb
(parted) mklabel gpt
(parted) mkpart a 0% 40%
(parted) mkpart b 40% 80%
(parted) mkpart c 80% 90%
(parted) mkpart d 90% 100%
(parted) quit
使用提供的用户名密码,登录提供的 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.查看 hosts 文件中有正确的主机名和 IP 映射计 0.2 分
3.控制节点正确使用两块网卡计 0.1 分
1.controller节点
[root@root ~] hostnamectl set-hostname controller
[root@root ~] bash
[root@controller ~]cat >> /etc/hosts <<EOF
10.18.4.100 controller
10.18.4.200 compute
EOF
2.compute节点
[root@root ~] hostnamectl set-hostname compute
[root@root ~] bash
[root@compute ~]cat >> /etc/hosts <<EOF
10.18.4.100 controller
10.18.4.200 compute
EOF
2.【题目 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 路径,计 0.5 分
1.controller节点
[root@controller ~]mv /etc/yum.repos.d/* /home
[root@controller ~]cat > /etc/yum.repos.d/ <<EOF
[centos]
name=centos
baseurl=http://172.129.10/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=http://172.129.10/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF
2.compute节点
[root@compute ~]mv /etc/yum.repos.d/* /home
[root@compute ~]cat > /etc/yum.repos.d/http.repo <<EOF
[centos]
name=centos
baseurl=http://172.129.10.10/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=http://172.129.10.10/iaas/iaas-repo
gpgcheck=0
enabled=1
EOF
3.【题目 3】配置无秘钥 ssh[0.5 分]
配置 controller 节点可以无秘钥访问 compute 节点,配置完成后,尝试 ssh 连接 compute节点的 hostname 进行测试。完成后提交controller 节点的用户名、密码和 IP 地址到答题框。
1.查看控制节点允许计算节点无秘钥登录计 0.5 分
1.controller节点
[root@controller ~] ssh-keygen
[root@controller ~] ssh-copy-id controller
[root@controller ~] ssh-copy-id compute
[root@controller ~] ssh compute
4.【题目 4】基础安装[0.5 分]
在控制节点和计算节点上分别安装 openstack-iaas 软件包,根据表 2 配置两个节点脚本文件中的基本变量(配置脚本文件为/etc/openstack/openrc.sh)。
1.controller节点
[root@controller ~] yum -y install openstack-iaas
[root@controller ~] vi /etc/openstack/openrc.sh
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=172.129.100.50
#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.60
#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=192.168.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=ens34
#External Network The Physical Adapter. example:provider
Physical_NAME=provider
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=1
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=1000
#--------------------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.60
#--------------------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
2.compute节点
[root@compute ~] yum -y install openstack-iaas
[root@compute ~] vi /etc/openstack/openrc.sh
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=172.129.100.50
#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.60
#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=192.168.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=ens34
#External Network The Physical Adapter. example:provider
Physical_NAME=provider
#First Vlan ID in VLAN RANGE for VLAN Network. exmaple:101
minvlan=1
#Last Vlan ID in VLAN RANGE for VLAN Network. example:200
maxvlan=1000
#--------------------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.60
#--------------------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
5.【题目 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.检查数据库配置正确计 0.5 分
[root@controller ~] vim /etc/my.cnf
lower_case_table_names =1
innodb_buffer_pool_size = 4G
innodb_log_buffer_size = 64MB
innodb_log_file_size = 256MB
innodb_log_files_in_group = 2
[root@controller ~] mysql -uroot -p000000
MariaDB [(none)]> show variables like 'innodb_log%';
+-----------------------------+-----------+
| Variable_name | Value |
+-----------------------------+-----------+
| innodb_log_buffer_size | 67108864 |
| innodb_log_checksums | ON |
| innodb_log_compressed_pages | ON |
| innodb_log_file_size | 268435456 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_log_optimize_ddl | ON |
| innodb_log_write_ahead_size | 8192 |
+-----------------------------+-----------+
8 rows in set (0.007 sec)
6.【题目 6】Keystone 服务安装与使用[0.5 分]
在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。安装完成后,使用相关命令,创建用户 chinaskill,密码为 000000。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
1.检查 keystone 服务安装正确计 0.2 分
2.检查 chinaskill 用户创建正确计 0.3 分
1.controller节点
[root@controller ~] source /etc/keystone/admin-openrc.sh
[root@controller ~] openstack user create --password 000000 chinaskill
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 2b126f8d4559420caf9665a2f95e3d77 |
| name | chinaskill |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
[root@controller ~] openstack user list
+----------------------------------+-------------------+
| ID | Name |
+----------------------------------+-------------------+
| d155674a1b9744099113daf0a426b69e | admin |
| 2be683ca5c514037ad7a8d7c1feb9794 | demo |
| f41552d59bdc41c78590790d3deabf2e | glance |
| bb4661fc292542a6b625f1d488cbe735 | placement |
| 407cebe689e14883809619d8074b3f88 | nova |
| 6f1fc41a9dac4f028d06572f4cad4a3c | neutron |
| b09037af657d4259ba48706a031c334c | cinder |
| d4409e8acd474774bdf9728f9dcd5c91 | swift |
| 16a8ea1a920843f48d8660bf5f891cf9 | heat |
| 865f984575e4451db2a250c1a2b00ba7 | heat_domain_admin |
| 2b126f8d4559420caf9665a2f95e3d77 | chinaskill |
+----------------------------------+-------------------+
7.【题目 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 分
1.controller节点
[root@controller ~] wget -O http://172.129.10.10/cirros-0.3.4-x86_64-disk.img
[root@controller ~] openstack image create --min-disk 10 --min-ram 1024 --file cirros-0.3.3-x86_64-disk.img cirros
8.【题目 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 分
1.controller节点
[root@controller ~] cat /etc/nova/nova.conf |grep vif_plugging_is_fatal
vif_plugging_is_fatal=false
[root@controller ~] systemctl restart openstack-nova*
9.【题目 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 分
1.controller节点
[root@controller ~] iaas-install-neutron-controller.sh
2.compute节点
[root@compute ~] iaas-install-neutron-compute.sh
10.【题目 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 分
1.controller节点
[root@controller ~] cat /etc/openstack-dashboard/local_settings |grep django
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
[root@controller ~] systemctl restart httpd
11.【题目 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 分
1.controller节点
[root@controller ~] openstack container create examcontainer
[root@controller ~] openstack container list
[root@controller ~] curl -O http://172.129.10.10/cirros-0.3.4-x86_64-disk.img
[root@controller ~] swift upload examcontainer -S 10485760 cirros-0.3.4-x86_64-disk.img
[root@controller ~] swift stat examcontainer cirros-0.3.4-x8664-disk.img
12.【题目 12】Cinder 创建硬盘[0.5 分]
在 控 制 节 点 和 计 算 节 点 分 别 使 用 iaas-install-cinder-controller.sh 、iaas-install-cinder-compute.sh 脚本安装 Cinder 服务,请在计算节点,对块存储进行扩容操作,即在计算节点再分出一个 5G 的分区,加入到 cinder 块存储的后端存储中去。完成后提交计算节点的用户名、密码和 IP 地址到答题框。
1.检查 cinder 后端存储扩容成功计 0.5 分
1.compute节点
[root@compute ~] pvcreate /dev/vdb4
[root@compute ~] vgextend cinder-volumes /dev/vdb4
[root@compute ~] vgdisplay
13.【题目 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 分
1.controller节点
[root@controller ~] manila type-create default_share_type False
[root@controller ~] manila create NFS 2 --name share01
[root@controller ~] manila access-allow share01 ip 172.129.10.0/24 --access-level rw
[root@controller ~] manila type-list
[root@controller ~] manila list
14.【题目 14】Barbican 服务安装与使用[0.5 分]
使用 iaas-install-barbican.sh 脚本安装 barbican 服务,安装服务完毕后,使用 openstack命令创建一个名为 secret01 的密钥,创建完成后提交控制节点的用户名、密码和 IP 地址到答题框。
1.检查 secret01 密钥创建正确计 0.5 分
1.controller节点
[root@controller ~] source /etc/keystone/admin-openrc.sh
[root@controller ~] openstack secret store --name secret01 --payload secretkey
15.【题目 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
1.controller节点
[root@controller ~] openstack rating module enable hashmap
[root@controller ~] openstack rating hashmap service
+--------+--------------------------------------+
| Name | Service ID |
+--------+--------------------------------------+
| volume.size | 09da4a8b-b849-4715-a8e3-7cd12dfcf46e |
+--------+--------------------------------------+
[root@controller ~] openstack rating hashmap group create volume_thresholds
openstack rating hashmap group create volume_thresholds
+-------------------+--------------------------------------+
| Name | Group ID |
+-------------------+--------------------------------------+
| volume_thresholds | 8b3dfe73-5efb-46ab-a93b-dc9519063ed6 |
+-------------------+--------------------------------------+
[root@controller ~] openstack rating hashmap mapping create -s 09da4a8b-b849-4715-a8e3-7cd12dfcf46e -g 8b3dfe73-5efb-46ab-a93b-dc9519063ed6 -t flat 0.01
[root@controller ~] openstack rating hashmap threshold create -s 09da4a8b-b849-4715-a8e3-7cd12dfcf46e -g 8b3dfe73-5efb-46ab-a93b-dc9519063ed6 -t rate 50 0.98
16.【题目 16】OpenStack 平台内存优化[0.5 分]
搭建完 OpenStack 平台后,关闭系统的内存共享,打开透明大页。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
1.检查系统内存优化成功计 0.5 分
1.controller节点
#关闭系统的内存共享
[root@controller ~] echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
[root@controller ~] cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]
17.【题目 17】修改文件句柄数[0.5 分]
Linux 服务器大并发时,往往需要预先调优 Linux 参数。默认情况下,Linux 最大文件句柄数为 1024 个。当你的服务器在大并发达到极限时,就会报出“too many open files”。创建一台云主机,修改相关配置,将控制节点的最大文件句柄数永久修改为 65535。配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。
1.检查配置 linux 系统句柄数为 65535 成功计 0.5 分
1.controller节点
[root@controller ~] ulimit -n 65535
[root@controller ~] cat >> /etc/security/limits.conf <<EOF
* soft nofile 65535
* hard nofile 65535
EOF
18.【题目 18】Linux 系统调优-防止 SYN 攻击[1 分]
修改 controller 节点的相关配置文件,开启 SYN cookie,防止 SYN 洪水攻击。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。
1.检查开启 SYN cookie 配置计 1 分
1.controller节点
[root@controller ~] sysctl -a | grep _syn
net.ipv4.tcp_max_syn_backlog = 512
net.ipv4.tcp_syn_retries = 6
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syncookies = 1
tcp_max_syn_backlog是SYN队列的长度,加大SYN队列长度可以容纳更多等待连接的网络连接数。 tcp_syncookies是一个开关,是否打开SYN Cookie 功能,该功能可以防止部分SYN攻击。 tcp_synack_retries和tcp_syn_retries定义SYN 的重试连接次数,将默认的参数减小来控制SYN连接次数的尽量少。
[root@controller ~] echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf
[root@controller ~] sysctl -p