侧边栏壁纸
  • 累计撰写 30 篇文章
  • 累计创建 3 个标签
  • 累计收到 4 条评论
标签搜索

目 录CONTENT

文章目录

2022云计算国赛iaas部分

小裴
2023-03-12 / 0 评论 / 0 点赞 / 285 阅读 / 3,606 字

【任务 1】私有云服务搭建
【题目 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。

#可以快速定位参数
mysql -uroot -p000000
MariaDB [(none)]>  show variables like 'innodb_log%';

vim /etc/my.cnf
#数据库支持大小写
lower_case_table_names =1
#数据库缓存
innodb_buffer_pool_size = 4G
#数据库的log buffer即redo日志缓冲
innodb_log_buffer_size = 64MB
#设置数据库的redo log即redo日志大小
innodb_log_file_size = 256MB
#数据库的redo log文件组即redo日志的个数配置
innodb_log_files_in_group = 2

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

#导入环境变量
source /etc/keystone/admin-openrc.sh 
#创建用户
openstack user create --password 000000 chinaskill

【题目 7】Glance 安装与使用
在 controller 节点上使用 iaas-install-glance.sh 脚本安装 glance 服务。使用命令将提供的 cirros-0.3.4-x86_64-disk.img 镜像(该镜像在 HTTP 服务中,可自行下载)上传至平台,命名为 cirros,并设置最小启动需要的硬盘为 10G,最小启动需要的内存为 1G。完成后提交控制节点的用户名、密码和 IP 地址到答题框。

#下载镜像
curl -O http://10.18.4.100/cirros-0.3.4-x86_64-disk.img
#创建符合要求的镜像
openstack image create --min-disk 10 --min-ram 1024 --file cirros-0.3.3-x86_64-disk.img  cirros

【题目 8】Nova 安装与优化
在 controller 节点和 compute 节点上分别使用 iaas-install-placement.sh 脚本、iaas-install-nova -controller.sh 脚本、iaas-install-nova-compute.sh 脚本安装 Nova 服务。安装完成后,请修改 nova 相关配置文件,解决因等待时间过长而导致虚拟机启动超时从而获取不
到 IP 地址而报错失败的问题。配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。

#关键字是
cat /etc/nova/nova.conf |grep vif_plugging_is_fatal
vif_plugging_is_fatal=false
#重启nova-*
systemctl restart openstack-nova*

【题目 9】Neutron 安装
使用提供的脚本 iaas-install-neutron-controller.shiaas-install-neutron-compute.sh,在controller 和 compute 节点上安装 neutron 服务。完成后提交控制节点的用户名、密码和 IP地址到答题框。
【题目 10】Doshboard 安装
在controller节点上使用iaas-install-dashboad.sh脚本安装dashboad服务。安装完成后,将 Dashboard 中的 Djingo 数据修改为存储在文件中(此种修改解决了 ALL-in-one 快照在其他云平台 Dashboard 不能访问的问题)。完成后提交控制节点的用户名、密码和 IP 地址到答题框。

#根据题意找线索,是关于django的数据,这个单词他写错了,就检索出来所有关于他的配置
#会发现有一行
#SESSION_ENGINE = 'django.contrib.sessions.backends.cache'存在cache里,改一改就行。
cat /etc/openstack-dashboard/local_settings |grep django
SESSION_ENGINE = 'django.contrib.sessions.backends.file'
#重启服务生效配置
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 地址到答题框。

#通过命令行创建容器
openstack container create examcontainer
openstack container list

#下载镜像
curl -O http://10.18.4.46/cirros-0.3.4-x86_64-disk.img

#swfit切片上传cirros
#-S 上载不大于<size>(字节)的段中的文件,然后创建一个“清单”文件,该文件将下载所有段,就像它是原始文件一样。
swift upload examcontainer -S 10485760 cirros-0.3.4-x86_64-disk.img
swift stat examcontainer cirros-0.3.4-x8664-disk.img

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

#创建物理卷
pvcreate /dev/vdb4
#扩展cinder-volume卷组
vgextend cinder-volumes /dev/vdb4
#验证
[root@compute ~]# vgdisplay

【题目 13】Manila 服务安装与使用[0.5 分]
在 控 制 和 计 算 节 点 上 分 别 使 用 iaas-install-manila-controller.sh 和iaas-install-manila-compute.sh 脚本安装 manila 服务。安装服务后创建 default_share_type 共享类型(不使用驱动程序支持),接着创建一个大小为 2G 的共享存储名为 share01 并开放share01 目录对 OpenStack 管理网段使用权限。最后提交控制节点的用户名、密码和 IP 地址到答题框。

#创建不适用驱动程序支持的default_share_type共享类型
manila type-create default_share_type False
#创建共享卷
manila create NFS 2 --name share01
#开放share01目录对OpenStack管理网段使用权限
manila access-allow share01 ip 10.18.4.0/24 --access-level rw
#验证
manila type-list
manila list

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

#导入环境变量
source /etc/keystone/admin-openrc.sh 
#创建密钥
openstack secret store --name secret01 --payload secretkey 

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

#0.启用hashmap
[root@controller ~]# openstack rating module enable hashmap 
#1.创建hashmap service
[root@controller ~]# openstack rating  hashmap service create volume.size 
+--------+--------------------------------------+
| Name   | Service ID                           |
+--------+--------------------------------------+
| volume.size | 09da4a8b-b849-4715-a8e3-7cd12dfcf46e |
+--------+--------------------------------------+
#2.创建hashmap service group
[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.创建volume单价
[root@controller ~]# openstack rating hashmap mapping create   -s  09da4a8b-b849-4715-a8e3-7cd12dfcf46e -g 8b3dfe73-5efb-46ab-a93b-dc9519063ed6  -t flat  0.01  
#4.创建service rule
[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】OpenStack 平台内存优化
搭建完 OpenStack 平台后,关闭系统的内存共享,打开透明大页。完成后提交控制节点的用户名、密码和 IP 地址到答题框。

#关闭系统的内存共享
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
#验证
cat /sys/kernel/mm/transparent_hugepage/defrag
always madvise [never]

【题目 17】修改文件句柄数
Linux 服务器大并发时,往往需要预先调优 Linux 参数。默认情况下,Linux 最大文件句柄数为 1024 个。当你的服务器在大并发达到极限时,就会报出“too many open files”。创建一台云主机,修改相关配置,将控制节点的最大文件句柄数永久修改为 65535。配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。

#临时生效
ulimit -n 65535

#永久生效
cat >> /etc/security/limits.conf <<EOF
* soft nofile 65535
* hard nofile 65535
EOF

【题目 18】Linux 系统调优-防止 SYN 攻击
修改 controller 节点的相关配置文件,开启 SYN cookie,防止 SYN 洪水攻击。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。

#默认的SYN相关配置
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连接次数的尽量少。
#虽然默认是开启的,但是需要把配置添加到如下文件中
echo 'net.ipv4.tcp_syncookies = 1' >> /etc/sysctl.conf 
#生效配置
sysctl -p

【任务 2】私有云服务运维
【题目 1】OpenStack 开放镜像权限[0.5 分]
使 用 OpenStack 私 有 云 平 台 , 在 OpenStack 平台的 admin 项 目 中 使 用cirros-0.3.4-x86_64-disk.img 镜像文件创建名为 glance-cirros 的镜像,通过 OpenStack 命令将glance-cirros 镜像指定 demo 项目进行共享使用。配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。

openstack image set --name glance-cirros cirros
glance member-create <镜像id> <租户depA的id>
注:如果创建错误可以:glance member-delete <镜像id> <租户id>删除
在共享之后,镜像的状态是pending状态,此时还需要激活镜像
glance member-create dcc05a65-c433-46e2-a99e-3653eb4be792 demo
glance member-update dcc05a65-c433-46e2-a99e-3653eb4be792 demo accepted

【题目 2】OpenStack 消息队列调优
OpenStack 各服务内部通信都是通过 RPC 来交互,各 agent 都需要去连接 RabbitMQ;随着各服务 agent 增多,MQ 的连接数会随之增多,最终可能会到达上限,成为瓶颈。使用自行搭建的OpenStack私有云平台,分别通过用户级别、系统级别、配置文件来设置RabbitMQ服务的最大连接数为 10240,配置完成后提交修改节点的用户名、密码和 IP 地址到答题框。

用户级别:
vi /etc/security/limits.conf`
//添加两行
user             soft    nofile          10240
user             hard    nofile          10240
系统级别:
vi /etc/sysctl.conf 
fs.file-max=10240
配置文件:
[root@controller ~]# cat /usr/lib/systemd/system/rabbitmq-server.service 
# systemd unit example
[Unit]
Description=RabbitMQ broker
After=network.target epmd@0.0.0.0.socket
Wants=network.target epmd@0.0.0.0.socket
[Service]
Type=notify
User=rabbitmq
Group=rabbitmq
NotifyAccess=all
TimeoutStartSec=3600
LimitNOFILE=10240 //添加这一条
systemctl daemon-reload
systemctl restart rabbitmq-server
查看 rabbitmq 状态,查到 total_limit,10140
rabbitmqctl status

【题目 3】OpenStack Glance 镜像压缩
使用自行搭建的 OpenStack 平台。在 HTTP 服务中存在一个镜像为
CentOS7.5-compress.qcow2 的镜像,请使用 qemu 相关命令,对该镜像进行压缩,压缩后的镜像命名为 chinaskill-js-compress.qcow2 并存放在/root 目录下。完成后提交 controller 点的用户名、密码和 IP 地址到答题框。

-c  压缩
-O qcow2 输出格式为 qcow2
CentOS7.5-compress.qcow2被压缩文件路径
chinaskill-js-compress.qcow2压缩完成后文件路径
qemu-img convert -c -O qcow2 CentOS7.5-compress.qcow2  chinaskill-js-compress.qcow2

【题目 4】glance 对接 cinder 后端存储
在自行搭建的 OpenStack平台中修改相关参数,使 glance 可以使用 cinder作为后端存储,将镜像存储于 cinder 卷中。使用 cirros-0.3.4-x86_64-disk.img 文件创建 cirros-image 镜像存储于 cirros-cinder 卷中,通过 cirros-image 镜像使用 cinder 卷启动盘的方式进行创建虚拟机。完成后提交修改节点的用户名、密码和 IP 地址到答题框。

[root@controller ~]# vi /etc/glance/glance-api.conf 
#show_multiple_locations = false
改为
show_multiple_locations = true
stores = file,http,
改为
stores = file,http,cinder
# 重启服务
[root@controller ~]# systemctl restart openstack-glance-*
[root@controller ~]# vi /etc/cinder/cinder.conf 
# 使用cinder服务通过克隆创建镜像的新卷的配置是cinder
#allowed_direct_url_schemes =
改为
allowed_direct_url_schemes = cinder
#image_upload_use_internal_tenant = false
改为
image_upload_use_internal_tenant = True
# 重启服务
[root@controller ~]# systemctl restart openstack-cinder*
[root@controller ~]# openstack volume create --size 2 cirros-cinder

【题目 5】OpenStack Heat 运维:创建容器
在自行搭建的 OpenStack 私 有 云 平 台 上 , 在 /root 目录下编写 Heat 模 板create_container.yaml,要求执行 yaml 文件可以创建名为 heat-swift 的容器。完成后提交控制节点的用户名、密码和 IP 地址到答题框。

[root@controller ~]# cat create_container.yaml 
heat_template_version: '2014-10-16'
resources:
  container:
    type: OS::Swift::Container
    properties:
      name: heat-swift
openstack stack create swift -t create_container.yaml

【题目 6】OpenStack Nova 清除缓存
在 OpenStack 平台的一台计算节点创建虚拟机,若是第一次在该节点创建次虚拟机,会先将镜像文件复制到该计算节点目录/var/lib/nova/instances/_base。长期下来,该目录会占用比较大的磁盘空间而要清理。可以通过修改 nova 的配置文件来自动清理该缓存目录,即在该节点没有使用某镜像启动的云主机,那么这个镜像在过一定的时间后会被自动删除。配置完成后提交改动节点的用户名、密码和 IP 地址到答题框。

vi /etc/nova/nova.conf
remove_unused_base_images=True
service openstack-nova-compute restart
0

评论区