1

【任务 1】私有云服务搭建[10 分]
【题目 1】基础环境配置[0.5 分]
【题目 2】Yum 源配置[0.5 分]
【题目 3】配置无秘钥 ssh[0.5 分]
【题目 4】基础安装[0.5 分]
【题目 5】数据库安装与调优[0.5 分]
【题目 6】Keystone 服务安装与使用[0.5 分]
【题目 7】Glance 安装与使用[0.5 分]
【题目 8】Nova 安装与优化[0.5 分]
【题目 9】Neutron 安装[0.5 分]
【题目 10】Doshboard 安装[0.5 分]
【题目 11】Swift 安装[0.5 分]
【题目 12】Cinder 创建硬盘[0.5 分]
【题目 13】Manila 服务安装与使用[0.5 分]
【题目 14】Barbican 服务安装与使用[0.5 分]
【题目 15】Cloudkitty 服务安装与使用[1 分]
【题目 16】OpenStack 平台内存优化[0.5 分]
【题目 17】修改文件句柄数[0.5 分]
【题目 18】Linux 系统调优-防止SYN 攻击[1 分]

【任务 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 地址到答题框。
[root@controller ~]# hostnamectl set-hostname controller
[root@compute ~]# 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
192.168.100.10 controller
192.168.100.20 compute
[root@controller ~]#
1.查看控制节点名字为 controller 正确计 0.2 分
2.查看 hosts 文件中有正确的主机名和 IP 映射计 0.2 分
3.控制节点正确使用两块网卡计 0.1 分

【题目 2】Yum 源配置[0.5 分]
使用提供的 http 服务地址,在 http 服务下,存在 centos7.9 和 iaas 的网络 yum 源,使用该 http 源作为安装 iaas 平台的网络源。分别设置 controller 节点和 compute 节点的 yum 源文件 http.repo。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# cat /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=file:///opt/centos #比赛使用的是http远程yum源
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]#
1.查看/etc/yum.repos.d/http.repo 文件,有正确的 baseurl 路径,计 0.5 分

【题目 3】配置无秘钥 ssh[0.5 分]
配置 controller 节点可以无秘钥访问 compute 节点,配置完成后,尝试 ssh 连接 compute 节点的 hostname 进行测试。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# ssh-keygen
[root@controller ~]# ssh-copy-id compute
[root@controller ~]# ssh compute
Last login: Sun Sep 18 21:40:30 2022 from 192.168.100.1
################################

Welcome to OpenStack

################################
[root@compute ~]# ssh controller
Last login: Sun Sep 18 21:39:59 2022 from 192.168.100.1
################################

Welcome to OpenStack

################################
[root@controller ~]#
1.查看控制节点允许计算节点无秘钥登录计 0.5 分

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

[root@controller ~]# yum install -y openstack-iaas
Loaded plugins: fastestmirror
Determining fastest mirrors
centos | 3.6 kB 00:00:00
iaas | 2.9 kB 00:00:00
Package openstack-iaas-2.0.1-2.noarch already installed and latest version
Nothing to do

[root@controller ~]# sed -i 's/^.//'g /etc/openstack/openrc.sh
#去点第一行的注释符

[root@controller ~]# sed -i 's/PASS=/PASS=000000/'g /etc/openstack/openrc.sh
#替换PASS=为PASS=000000

[root@controller ~]# cat /etc/openstack/openrc.sh
#--------------------system Config--------------------##
#Controller Server Manager IP. example:x.x.x.x
HOST_IP=192.168.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=192.168.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=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=huhy
ADMIN_PASS=Root@123
DEMO_PASS=Root@123

#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=ens37

#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=192.168.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个字符(#号)#####
###############################################################
[root@controller ~]#
[root@controller ~]# scp /etc/openstack/openrc.sh compute:/etc/openstack/

#传输完毕后,设置磁盘分区,分出三块!!!对应的磁盘名称写入环境变量中
1.检查环境变量文件配置正确计 0.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 地址到答题框。
[root@controller ~]# cd /usr/local/bin/ # 所有脚本文件的存放文件夹
[root@controller ~]# iaas-pre-host.sh
[root@compute ~]# iaas-pre-host.sh
#执行完这一步,一定要重新连接,刷新一下,不然rabbitmq服务会报错

[root@controller ~]# iaas-install-mysql.sh
[root@controller ~]# mysql -uroot -p000000 # 验证数据库是否安装完成

修改/etc/my.cnf 文件
[root@controller ~]# vi /etc/my.cnf

1、支持大小写

lower_case_table_names = 0
#2、缓冲为4G
innodb_buffer_pool_size=4G
#3 设置数据库的log buffer为64G
innodb_log_buffer_size=64M.
#4 redo log为256M
innodb_log_file_size = 256M
#5 redo redo log文件组为2
innodb_log_files_in_group = 2

[root@controller bin]# systemctl restart mariadb # 修改配置文件后重启服务
[root@controller bin]# mysql -uroot -p000000 -e “show variables;”|grep lower # 查看参数是否修改
lower_case_file_system OFF
lower_case_table_names 0
1.检查数据库配置正确计 0.5 分

【题目 6】Keystone 服务安装与使用[0.5 分]
在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。安装完成后, 使用相关命令,创建用户 chinaskill,密码为 000000。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-keystone.sh

命令补全

[root@controller ~]# yum install -y bash*
[root@controller ~]# openstack complete >> .bashrc # 补全openstack命令
[root@controller ~]# source .bashrc # 重新加载
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# openstack user create --domain huhy --password 000000 chinaskill
±--------------------±---------------------------------+
| Field | Value |
±--------------------±---------------------------------+
| domain_id | b11e543ed5104ef79cd7a65c24ea156a |
| enabled | True |
| id | 8bd1afe33af44e24aeb9f3d9a234aa75 |
| name | chinaskill |
| options | {} |
| password_expires_at | None |
±--------------------±---------------------------------+
[root@controller ~]# openstack user list # 查看用户是否创建成功
#注意我的域名是自定义的,正常应该是demo
1.检查keystone 服务安装正确计 0.2 分
2.检查chinaskill 用户创建正确计 0.3 分

【题目 7】Glance 安装与使用[0.5 分]
在 controller 节点上使用 iaas-install-glance.sh 脚本安装 glance 服务。使用命令将提供的 cirros-0.3.4-x86_64-disk.img 镜像(该镜像在 HTTP 服务中,可自行下载)上传至平台, 命名为 cirros,并设置最小启动需要的硬盘为 10G,最小启动需要的内存为 1G。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller images]# iaas-install-glance.sh
[root@controller images]# ls
amphora-x64-haproxy.qcow2 CentOS-7-x86_64-2009.qcow2 MySQL_5.6_XD.qcow2
CentOS7_1804.tar cirros-0.3.4-x86_64-disk.img
[root@controller images]# openstack image create --disk-format qcow2 --container-format bare --min-disk 10 --min-ram 1024 --file ./cirros-0.3.4-x86_64-disk.img cirros
±-----------------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
±-----------------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
| container_format | bare |
| created_at | 2022-09-19T02:51:10Z |
| disk_format | qcow2 |
| file | /v2/images/47adc4fe-6bd9-4728-809f-c868d433f2d7/file |
| id | 47adc4fe-6bd9-4728-809f-c868d433f2d7 |
| min_disk | 10 |
| min_ram | 1024 |
| name | cirros |
| owner | 5ef6dd81e4164f8d89e41d5537b148f9
|
| properties | os_hash_algo=‘sha512’, os_hash_value=‘1b03ca1bc3fafe448b90583c12f367949f8b0e665685979d95b004e48574b953316799e23240f4f739d1b5eb4c4ca24d38fdc6f4f9d8247a2bc64db25d6bbdb2’, os_hidden=‘False’ |
| protected | False
|
| schema | /v2/schemas/image
|
| size | 13287936
|
| status | active
|
| tags |
|
| updated_at | 2022-09-19T02:51:11Z
|
| virtual_size | None
|
| visibility | shared
|
±-----------------±-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
[root@controller images]# openstack image list # 查看镜像是否创建
1.检查glance 服务安装正确计 0.1 分
2.检查cirros 镜像最小启动硬盘与内存配置正确计 0.4 分
【题目 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-placement.sh
[root@controller ~]# iaas-install-nova-controller.sh

[root@compute ~]# iaas-install-nova-compute.sh

[root@controller ~]# vim /etc/nova/nova.conf

#vif_plugging_is_fatal=true

改为

vif_plugging_is_fatal=false

【题目 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 ~]# systemctl status neutron-linuxbridge-agent # 检查linuxbridge网桥服务启动

【题目 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

将 Dashboard 中的 Djingo 数据修改为存储在文件中

[root@controller ~]# vim /etc/openstack-dashboard/local_settings
SESSION_ENGINE = ‘django.contrib.sessions.backends.cache’
改为
SESSION_ENGINE = ‘django.contrib.sessions.backends.file’
[root@controller ~]# systemctl restart httpd # 重启服务

【题目 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 ~]# ls
anaconda-ks.cfg cirros-0.3.4-x86_64-disk.img logininfo.txt

创建一个名叫examcontainer 的容器

[root@controller ~]# swift post examcontainers

将 cirros-0.3.4-x86_64-disk.img 镜像上传到 examcontainer 容器中,并设置分段存放

[root@controller ~]# swift upload examcontaiers -S 10000000 cirros-0.3.4-x86_64-disk.img
cirros-0.3.4-x86_64-disk.img segment 1
cirros-0.3.4-x86_64-disk.img segment 0
cirros-0.3.4-x86_64-disk.img
[root@controller ~]# du -sh cirros-0.3.4-x86_64-disk.img
13M cirros-0.3.4-x86_64-disk.img
#因为镜像就13M,所有存储为两段

【题目 12】Cinder 创建硬盘[0.5 分]–结束
在 控 制 节 点 和 计 算 节 点 分 别 使 用 iaas-install-cinder-controller.sh 、iaas-install-cinder-compute.sh 脚本安装Cinder 服务。请在计算节点,对块存储进行扩容操作, 即在计算节点再分出一个 5G 的分区,加入到 cinder 块存储的后端存储中去。完成后提交计算节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-cinder-controller.sh
[root@compute ~]# iaas-install-cinder-compute.sh

在计算节点再分出一个 5G 的分区

[root@compute ~]# fdisk /dev/sda # 做一个新分区
Command (m for help): n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p):
Using default response p
Partition number (3,4, default 3):
First sector (52183040-104857599, default 52183040):
Using default value 52183040
Last sector, +sectors or +size{K,M,G} (52183040-104857599, default 104857599): +10G
Partition 3 of type Linux and of size 10 GiB is set
[root@compute ~]# partprobe

命令用于重读分区表,将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表。

[root@compute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
├─sdb1 8:17 0 10G 0 part
│ ├─cinder–volumes-cinder–volumes–pool_tmeta 253:2 0 12M 0 lvm
│ │ └─cinder–volumes-cinder–volumes–pool 253:4 0 9.5G 0 lvm
│ └─cinder–volumes-cinder–volumes–pool_tdata 253:3 0 9.5G 0 lvm
│ └─cinder–volumes-cinder–volumes–pool 253:4 0 9.5G 0 lvm
├─sdb2 8:18 0 10G 0 part /swift/node/sdb2
├─sdb3 8:19 0 10G 0 part
└─sdb4 8:20 0 5G 0 part
sr0 11:0 1 4.4G 0 rom

[root@compute ~]# vgdisplay
— Volume group —
VG Name cinder-volumes
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <10.00 GiB
PE Size 4.00 MiB
Total PE 2559
Alloc PE / Size 2438 / 9.52 GiB
Free PE / Size 121 / 484.00 MiB
VG UUID 3k0yKg-iQB2-b2CM-a0z2-2ddJ-cdG3-8WpyrG

— Volume group —
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863
Alloc PE / Size 4863 / <19.00 GiB
Free PE / Size 0 / 0
VG UUID acAXNK-eqKm-qs9b-ly3T-R3Sh-8qyv-nELNWv

#加入到 cinder 块存储的后端存储中去
[root@compute ~]# vgextend cinder-volumes /dev/sdb4
Volume group “cinder-volumes” successfully extended
[root@compute ~]# vgdisplay
— Volume group —
VG Name cinder-volumes
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 14.99 GiB
PE Size 4.00 MiB
Total PE 3838
Alloc PE / Size 2438 / 9.52 GiB
Free PE / Size 1400 / <5.47 GiB
VG UUID 3k0yKg-iQB2-b2CM-a0z2-2ddJ-cdG3-8WpyrG

— Volume group —
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size <19.00 GiB
PE Size 4.00 MiB
Total PE 4863
Alloc PE / Size 4863 / <19.00 GiB
Free PE / Size 0 / 0
VG UUID acAXNK-eqKm-qs9b-ly3T-R3Sh-8qyv-nELNWv
1.检查cinder 后端存储扩容成功计 0.5 分

【题目 13】Manila 服务安装与使用[0.5 分]
在 控 制 和 计 算 节 点 上 分 别 使 用 iaas-install-manila-controller.sh 和iaas-install-manila-compute.sh 脚本安装 manila 服务。安装服务后创建 default_share_type 共享类型(不使用驱动程序支持),接着创建一个大小为 2G 的共享存储名为 share01 并开放share01 目录对 OpenStack 管理网段使用权限。最后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-manila-controller.sh
[root@compute ~]# iaas-install-manila-compute.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 | 36dddd7a-6c51-4320-9f8e-d99dcb71fcdd |
| optional_extra_specs | |
| Description | None |
±---------------------±-------------------------------------+
[root@controller ~]# manila type-list #查看创建的共享类型
±-------------------------------------±-------------------±-----------±-----------±-------------------------------------±---------------------±------------+
| ID | Name | visibility | is_default | required_extra_specs
| optional_extra_specs | Description |
±-------------------------------------±-------------------±-----------±-----------±-------------------------------------±---------------------±------------+
| 36dddd7a-6c51-4320-9f8e-d99dcb71fcdd | default_share_type | public | YES | driver_handles_share_servers : False | | None |
±-------------------------------------±-------------------±-----------±-----------±-------------------------------------±---------------------±------------+

#创建2G的共享存储share01
[root@controller ~]# manila create NFS 2 --name share-test ±--------------------------------------±-------------------------------------+
| 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 | 01b7551c-ac6f-4815-9ade-34dd50d5c489 |
| size | 2 |
| source_share_group_snapshot_member_id | None |
| user_id | 65355acf2f4e4e8e8e29fd08d7290750 |
| name | share-test |
| share_type | 36dddd7a-6c51-4320-9f8e-d99dcb71fcdd |
| has_replicas | False |
| replication_type | None |
| created_at | 2022-09-19T06:50:18.000000 |
| share_proto | NFS |
| mount_snapshot_support | False |
| project_id | 1b29cb9baa394a0eb3d531913dc9ccec |
| metadata | {} |
±--------------------------------------±-------------------------------------+
[root@controller ~]# manila list
±-------------------------------------±-----------±-----±------------±----------±----------±-------------------±----------------------------±------------------+
| ID | Name | Size | Share Proto | Status | Is Public | Share Type Name | Host | Availability Zone |
±-------------------------------------±-----------±-----±------------±----------±----------±-------------------±----------------------------±------------------+
| 01b7551c-ac6f-4815-9ade-34dd50d5c489 | share-test | 2 | NFS | available | False | default_share_type | compute@lvm#lvm-single-pool | nova |
±-------------------------------------±-----------±-----±------------±----------±----------±-------------------±----------------------------±------------------+

开放share01目录对openstack管理网段使用权限

[root@controller ~]# manila access-allow share-test ip 192.168.100.0/24 --access-level rw ±-------------±-------------------------------------+
| Property | Value |
±-------------±-------------------------------------+
| access_key | None |
| share_id | 01b7551c-ac6f-4815-9ade-34dd50d5c489 |
| created_at | 2022-09-19T06:51:47.000000 |
| updated_at | None |
| access_type | ip |
| access_to | 192.168.100.0/24 |
| access_level | rw |
| state | queued_to_apply |
| id | a5fe5b74-e571-405a-a2cb-bda449ed1f53 |
| metadata | {} |
±-------------±-------------------------------------+
[root@controller ~]#
[root@controller ~]# manila access-list share-test
±-------------------------------------±------------±-----------------±-------------±-------±-----------±---------------------------±-----------+
| id | access_type | access_to | access_level | state | access_key | created_at | updated_at |
±-------------------------------------±------------±-----------------±-------------±-------±-----------±---------------------------±-----------+
| a5fe5b74-e571-405a-a2cb-bda449ed1f53 | ip | 192.168.100.0/24 | rw | active | None | 2022-09-19T06:51:47.000000 | None |
±-------------------------------------±------------±-----------------±-------------±-------±-----------±---------------------------±-----------+

#查看share-test共享文件目录的访问路径,选做,到此任务已经结束(不用看)
[root@controller ~]# manila show share-test | grep path | cut -d’|’ -f3
path = 192.168.100.20:/var/lib/manila/mnt/share-8648e34b-a68b-4710-97fe-4e85515c444e
[root@controller ~]# mount -t nfs 192.168.100.20:/var/lib/manila/mnt/share-8648e34b-a68b-4710-97fe-4e85515c444e /mnt/
[root@compute ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 4.0K 1.9G 1% /dev/shm
tmpfs 1.9G 12M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 17G 4.8G 13G 29% /
/dev/sda1 1014M 152M 863M 15% /boot
tmpfs 378M 0 378M 0% /run/user/0
/dev/sdb2 10G 59M 10G 1% /swift/node/sdb2
/dev/dm-5 2.0G 6.0M 1.8G 1% /var/lib/manila/mnt/share-8648e34b-a68b-4710-97fe-4e85515c444e
1.检查 share01 共享存储正确创建并赋予权限计 0.5 分

【题目 14】Barbican 服务安装与使用[0.5 分]
使用 iaas-install-barbican.sh 脚本安装 barbican 服务,安装服务完毕后,使用 openstack 命令创建一个名为 secret01 的密钥,创建完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-barbican.sh

#使用openstack命令创建secret01的秘钥
[root@controller ~]# openstack secret store --name secret01 --payload secretkey ±--------------±----------------------------------------------------------------------+
| Field | Value |
±--------------±----------------------------------------------------------------------+
| Secret href | http://localhost:9311/v1/secrets/0c75b604-1cae-4172-b632-b769f1d649e3 |
| Name | secret01 |
| Created | None |
| Status | None |
| Content types | None |
| Algorithm | aes |
| Bit length | 256 |
| Secret type | opaque |
| Mode | cbc |
| Expiration | None |
±--------------±----------------------------------------------------------------------+
1.检查 secret01 密钥创建正确计 0.5 分

【题目 15】Cloudkitty 服务安装与使用[1 分]
使用 iaas-install-cloudkitty.sh 脚本安装cloudkitty 服务,安装完毕后,启用 hashmap 评级模块,接着创建 volume_thresholds 组,创建服务匹配规则 volume.size,并设置每 GB 的价格为 0.01。接下来对应大量数据设置应用折扣,在组 volume_thresholds 中创建阈值,设置若超过 50GB 的阈值,应用 2%的折扣(0.98)。设置完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-cloudkitty.sh
#0.启用hashmap
[root@controller ~]# openstack rating module enable hashmap

#1.创建服务匹配规则 volume.size
[root@controller ~]# openstack rating hashmap service create volume.size
±-------±-------------------------------------+
| Name | Service ID |
±-------±-------------------------------------+
| volume.size | 09da4a8b-b849-4715-a8e3-7cd12dfcf46e |
±-------±-------------------------------------+

#2.创建 volume_thresholds 组
[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 |
±------------------±-------------------------------------+

#3.设置每 GB 的价格为 0.01
[root@controller ~]# openstack rating hashmap mapping create -s 09da4a8b-b849-4715-a8e3-7cd12dfcf46e -g 8b3dfe73-5efb-46ab-a93b-dc9519063ed6 -t flat 0.01

#4.对应大量数据设置应用折扣,在组 volume_thresholds 中创建阈值,设置若超过 50GB 的阈值,应用 2%的折扣(0.98)
[root@controller ~]# openstack rating hashmap threshold create -s 09da4a8b-b849-4715-a8e3-7cd12dfcf46e -g 8b3dfe73-5efb-46ab-a93b-dc9519063ed6 -t rate 50 0.98
1.检查hashmap 评级模块启用成功计 0.2 分
2.检查服务匹配规则volume.size 创建成功 0.8 分

【题目 16】OpenStack 平台内存优化[0.5 分]
搭建完 OpenStack 平台后,关闭系统的内存共享,打开透明大页。完成后提交控制节点 的用户名、密码和 IP 地址到答题框。
#1 关闭内存共享
[root@controller ~]# echo 0 > /sys/kernel/mm/ksm/run
[root@controller ~]# cat /sys/kernel/mm/ksm/run # 0表示关闭
0

#2 打开透明大页
[root@controller ~]# find / -name defrag
/sys/kernel/mm/transparent_hugepage/defrag
/sys/kernel/mm/transparent_hugepage/khugepaged/defrag
[root@controller ~]# echo always >/sys/kernel/mm/transparent_hugepage/enabled #启用透明大页
[root@controller ~]# echo always >/sys/kernel/mm/transparent_hugepage/defrag #开启内存碎片整理
1.检查系统内存优化成功计 0.5 分

【题目 17】修改文件句柄数[0.5 分]
Linux 服务器大并发时,往往需要预先调优 Linux 参数。默认情况下,Linux 最大文件句柄数为 1024 个。当你的服务器在大并发达到极限时,就会报出“too many open files”。创建一台云主机,修改相关配置,将控制节点的最大文件句柄数永久修改为 65535。配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# ulimit -n #查看当前系统默认的文件句柄数量
1024
[root@controller ~]# echo “* soft nofile 65535” >> /etc/security/limits.conf [root@controller ~]# echo “* hard nofile 65535” >> /etc/security/limits.conf
解释:

  •   #代表所有用户
    

soft #超过文件句柄数时,仅提示
hard #超过文件句柄数时,直接限制

修改完之后,不需要重启系统即会生效,但是需要重新登录。退出重新登录该云主机,查看当前的句柄限制
[root@localhost ~]# logout #退出登录
重新登陆,在查看句柄数
[root@controller ~]# ulimit -n
65535
1.检查配置 linux 系统句柄数为 65535 成功计 0.5 分

【题目 18】Linux 系统调优-防止SYN 攻击[1 分]
修改 controller 节点的相关配置文件,开启 SYN cookie,防止 SYN 洪水攻击。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。
[root@container ~]# vim /etc/sysctl.conf
#添加以下参数
net.ipv4.tcp_syncookies=1 # 开启syn cookie
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

[root@controller ~]# sysctl -p # 查看修改内容是否生效
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

1.检查开启SYN cookie 配置计 1 分

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/161742.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BLE通用广播包

文章目录 1、蓝牙广播数据格式2、扫描响应数据 1、蓝牙广播数据格式 蓝牙广播包的最大长度是37个字节&#xff0c;其中设备地址占用了6个字节&#xff0c;只有31个字节是可用的。这31个可用的字节又按照一定的格式来组织&#xff0c;被分割为n个AD Structure。如下图所示&…

npm命令

node -v --查看版本 npm install --安装npm npm config get registry --查看npm当前镜像 npm config set registry https://registry.npmmirror.com --设置淘宝镜像 npm版本管理工具

VS Code 如何搭建C/C++环境

目录 一、VS Code是什么&#xff1f; 二、VS Code下载和安装 2.1下载 2.2安装 2.3环境介绍 三、Vs Code配置C/C环境 3.1下载和配置MinGW-w64编译器套件 3.1.1下载 3.1.2配置 一、VS Code是什么&#xff1f; 跨平台&#xff0c;免费且开源的现代轻量级代码编辑器 Vis…

【MATLAB源码-第85期】基于farrow结构的滤波器仿真,截止频率等参数可调。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 Farrow结构是一种用于实现可变数字滤波器的方法&#xff0c;尤其适用于数字信号处理中的采样率转换和时变滤波。它通过多项式近似来实现对滤波器系数的平滑变化&#xff0c;使得滤波器具有可变的群延时或其他参数。 Farrow结…

mysql中数据是如何被用B+树查询到的

innoDB是按照页为单位读写的 那页中有很多行数据&#xff0c;是怎么执行查询的呢&#xff0c;首先我们肯定&#xff0c;是以单向列表形式存储的&#xff0c;提高了增删的效率&#xff0c;但是查询效率低。所以实际上对页中的行数据进行了优化&#xff0c;能以二分的方式进行查…

Mac Goland无法调试

去github上下载golang的debug工具delve&#xff1a; go-delve/delve​github.com/go-delve/delve/blob/master/Documentation/installation/README.md​编辑 或者: go install github.com/go-delve/delve/cmd/dlvlatest按照他的安装方式进行安装&#xff0c;最后会在本地的…

基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码

基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于北方苍鹰算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于北方苍鹰优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…

Java面试-框架篇-Mybatis

Java面试-框架篇-Mybatis MyBatis执行流程延迟加载使用及原理一, 二级缓存来源 MyBatis执行流程 读取MyBatis配置文件: mybatis-config.xml加载运行环境和映射文件构造会话工厂SqlSessionFactory会话工厂创建SqlSession对象(包含了执行SQL语句的所有方法)操作数据库的接口, Ex…

vue脚手架的基础搭建过程

MVVM架构 Vue框架底层设计遵循MVVM架构。 Model层&#xff08;M&#xff09;模型层&#xff08;业务逻辑层&#xff09; View层&#xff08;V&#xff09;视图层 主管UI ViewModel层&#xff08;VM&#xff09; 将项目代码划分清晰的层次结构后&#xff0c;非常有利于后期代…

IP地址定位技术发展与未来趋势

随着互联网的快速发展&#xff0c;人们对网络的需求和依赖程度越来越高。在海量的网络数据传输中&#xff0c;IP地址定位技术作为网络安全与信息追踪的重要手段&#xff0c;其精准度一直备受关注。近年来&#xff0c;随着技术的不断进步&#xff0c;IP地址定位的精准度得到了显…

【wireshark】基础学习

TOC 查询tcp tcp 查询tcp握手请求的代码 tcp.flags.ack 0 确定tcp握手成功的代码 tcp.flags.ack 1 确定tcp连接请求的代码 tcp.flags.ack 0 and tcp.flags.syn 1 3次握手后确定发送成功的查询 tcp.flags.fin 1 查询某IP对外发送的数据 ip.src_host 192.168.73.134 查询某…

485 实验

485(一般称作 RS485/EIA-485)隶属于 OSI 模型物理层&#xff0c;是串行通讯的一种。电气特性规定 为 2 线&#xff0c;半双工&#xff0c;多点通信的类型。它的电气特性和 RS-232 大不一样。用缆线两端的电压差值 来表示传递信号。RS485 仅仅规定了接受端和发送端的电气特性。它…

python趣味编程-5分钟实现一个太空大战游戏(含源码、步骤讲解)

飞机战争游戏系统项目是使用Python编程语言开发的,是一个简单的桌面应用程序。 Python 中的飞机战争游戏使用pygame导入和随机导入。 Pygame 是一组跨平台的 Python 模块,专为编写视频游戏而设计。它包括设计用于 Python 编程语言的计算机图形和声音库。

以jar包形式 部署Spring Boot项目

后端部署 当你将Spring Boot项目打包成JAR文件并上传到服务器时&#xff0c;可以考虑在服务器上创建一些目录来存放这个JAR文件以及相关的配置文件。以下是一些常见的目录结构建议&#xff1a; /opt/your-project-name/&#xff1a; 在/opt目录下创建一个与你的项目名称相关的…

【word技巧】Word制作试卷,ABCD选项如何对齐?

使用word文件制作试卷&#xff0c;如何将ABCD选项全部设置对齐&#xff1f;除了一直按空格或者Tab键以外&#xff0c;还有其他方法吗&#xff1f;今天分享如何将ABCD选项对齐。 首先&#xff0c;我们打开【替换和查找】&#xff0c;在查找内容输入空格&#xff0c;然后点击全部…

省市区编码sql

CREATE TABLE area (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,code varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 编码,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 名称,parent_code varchar(64) COLLATE utf8mb4_bin DEFAULT NULL CO…

20个CSS函数-释放设计创造力和响应能力

20个CSS函数-释放设计创造力和响应能力 CSS是网页设计的核心&#xff0c;使开发者和设计者能够制作出令人叹为观止和反应迅速的网页布局。CSS函数通过引入动态性和多功能性提升了我们的设计能力。在本文中&#xff0c;我们将开始讲解20个CSS函数。 1.rgba()&#xff1a;定义颜…

结构体打印

打印输出 通过注解来派生Debug trait&#xff0c;才可以通过println!进行打印。默认的占位符是{}&#xff0c;底层是按照std::fmt::Display具体实现进行格式化输出。 {}、{:?}、{#?}是格式化的几种形式&#xff0c;{#?}是更加易读的JSON话格式。 方法 结构体声明方法&…

【应用前沿】索托斯平台:个性化推荐变身SaaS 服务

随着互联网技术和人工智能的迅速发展&#xff0c;面对海量的数据和资源&#xff0c;如何快速准确地为每个用户提供其感兴趣的内容&#xff0c;成为我们亟待解决的问题。个性化推荐系统正是为了解决这一问题而诞生的&#xff0c;它能够通过对用户行为的分析和挖掘&#xff0c;为…

[Ubuntu]RT810xE--网线已拔出--问题解决

0 环境 ubuntu 22.04.3 LTSDell Inspiron 15 5547windows/ubuntu 双系统 1 问题说明 Dell 笔记本安装的 Ubutun 系统&#xff0c;有线网络无法使用&#xff0c;一直显示 “网线已拔出”。 网上一查&#xff0c;才了解到主要原因&#xff1a;网卡驱动安装错误。系统默认安装…