2023-2024云计算省赛样题整理

节点IP
controller192.168.100.10
compute192.168.100.20

私有云部分

1、私有云服务搭建

1.1 基础环境配置(0.2分)

使用提供的用户名密码,登录提供的OpenStack私有云平台,在当前租户下,使用CentOS7.9镜像,创建两台云主机,云主机类型使用4vCPU/12G/100G_50G类型。当前租户下默认存在一张网卡,自行创建第二张网卡并连接至controller和compute节点(第二张网卡的网段为10.10.X.0/24,X为工位号,不需要创建路由)。自行检查安全组策略,以确保网络正常通信与ssh连接,然后按以下要求配置服务器:

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

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

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

此处两个节点都需要修改(IP自行配置)!!!

[root@controller ~]# hostnamectl set-hostname controller
[root@compute ~]# hostnamectl set-hostname compute
vi /etc/selinux/config
  SELINUX=disable						# enable修改成disable
vi /etc/hosts
  控制节点IP controller
  计算节点IP compute

检查有没有防火墙跟iptables,有的话需要关闭,没有不用理会
systemctl stop firewalld
systemctl disable firewalld
iptables -F
iptables -X
iptables -Z
service iptables save

1.2 Yum源配置(0.2分)

使用提供的http服务地址,在http服务下,存在centos7.9和iaas的网络yum源,使用该http源作为安装iaas平台的网络源。分别设置controller节点和compute节点的yum源文件http.repo。完成后提交控制节点的用户名、密码和IP地址到答题框。

[root@controller ~]# mv /etc/yum.repos.d/* /media
[root@controller ~]# vi /etc/yum.repos.d/http.repo
[centos]
name=centos
baseurl=http://IP/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=http://IP/iaas/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# scp /etc/yum.repos.d/http.repo root@compute:/etc/yum.repos.d/http.repo

1.3 配置无秘钥ssh(0.2分)

配置controller节点可以无秘钥访问compute节点,配置完成后,尝试ssh连接compute节点的hostname进行测试。完成后提交controller节点的用户名、密码和IP地址到答题框。

[root@controller ~]# ssh-keygen
[root@controller ~]# ssh-copy-id root@compute
[root@controller ~]# ssh root@compute

1.4 基础安装(0.2分)

在控制节点和计算节点上分别安装openstack-iaas软件包。

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

此处自行配置

1.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 ~]# iaas-install-mysql.sh 
[root@controller ~]# vi /etc/my.cnf
# 在[mysqld]字段下添加以下内容
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 ~]# systemctl restart mysqld

1.6 Keystone服务安装与使用(0.5分)

在控制节点上安装Keystone服务并创建用户。

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

然后创建OpenStack域210Demo,其中包含Engineering与Production项目,在域210Demo中创建组Devops,其中需包含以下用户:

1.Robert用户是Engineering项目的用户(member)与管理员(admin),email地址为:Robert@lab.example.com

2.George用户是Engineering项目的用户(member),email地址为:George@lab.example.com

3.William用户是Production项目的用户(member)与管理员(admin),email地址为:William@lab.example.com

4.John用户是Production项目的用户(member),email地址为:John@lab.example.com。

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

[root@controller /]# iaas-install-keystone.sh
[root@controller /]# source /etc/keystone/admin-openrc.sh
[root@controller /]# openstack domain create 210Demo
[root@controller /]# openstack project create Engineering --domain 210Demo
[root@controller /]# openstack project create Production --domain 210Demo
[root@controller /]# openstack group create Devops --domain 210Demo

[root@controller /]# openstack user create Robert --domain 210Demo --project Engineering --email Robert@lab.example.com
[root@controller /]# openstack user create George --domain 210Demo --project Engineering --email Robert@lab.example.com
[root@controller /]# openstack user create William --domain 210Demo --project Production --email William@lab.example.com
[root@controller /]# openstack user create John --domain 210Demo --project Production --email John@lab.example.com

[root@controller /]# openstack role add member --user Robert --project Engineering
[root@controller /]# openstack role add admin --user Robert --project Engineering
[root@controller /]# openstack role add member --user George --project Engineering
[root@controller /]# openstack role add member --user William --project Production
[root@controller /]# openstack role add admin --user William --project Production
[root@controller /]# openstack role add member --user John --project Production

1.7 Glance安装与使用(0.5分)

在控制节点上安装Glance 服务。上传镜像至平台,并设置镜像启动的要求参数。

在controller节点上使用iaas-install-glance.sh脚本安装glance服务。然后使用提供的coreos_production_pxe.vmlinuz镜像(该镜像为Ironic Deploy镜像,是一个AWS内核格式的镜像,在OpenStack Ironic裸金属服务时需要用到)上传到OpenStack平台中,命名为deploy-vmlinuz。完成后提交控制节点的用户名、密码和IP地址到答题框。

[root@controller ~]# iaas-install-glance.sh 
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# glance image-create --name cirros --min-disk 10 --min-ram 1024 --disk-format qcow2 --container-format bare --file cirros-0.3.4-x86_64-disk.img
[root@controller ~]# openstack image list

1.8 Nova安装与优化(0.5分)

在控制节点和计算节点上分别安装Nova服务。安装完成后,完成Nova相关配置。

在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。在OpenStack中,修改相关配置文件,修改调度器规则采用缓存调度器,缓存主机信息,提升调度时间。配置完成后提交controller点的用户名、密码和IP地址到答题框。

[root@controller /]# iaas-install-placement.sh 
[root@controller /]# iaas-install-nova-controller

[root@compute ~]# iaas-install-nova-compute.sh
[root@controller /]# vim /etc/nova/nova.conf 
# 输入:4501跳转到driver
driver =caching_scheduler

1.9 Neutron安装(0.2分)

在控制和计算节点上正确安装Neutron服务。

使用提供的脚本iaas-install-neutron-controller.sh和iaas-install-neutron-compute.sh,在controller和compute节点上安装neutron服务。完成后提交控制节点的用户名、密码和IP地址到答题框。

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

1.10 Dashboard安装(0.5分)

在控制节点上安装Dashboard服务。安装完成后,将Dashboard中的 Django数据修改为存储在文件中。

在controller节点上使用iaas-install-dashboad.sh脚本安装Dashboard服务。安装完成后,修改相关配置文件,完成下列两个操作:

1.使得登录Dashboard平台的时候不需要输入域名;

2.将Dashboard中的Django数据修改为存储在文件中。

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

[root@controller ~]# iaas-install-dashboard.sh
[root@controller ~]# vim /etc/openstack-dashboard/local_settings
SESSION_ENGINE = 'django.contrib.sessions.backends.file'		# 最后改为file
OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = False					# Ture改为False
[root@controller ~]# systemctl restart httpd memcached.service

1.11 Swift安装(0.5分)

在控制节点和计算节点上分别安装Swift服务。安装完成后,将cirros镜像进行分片存储。

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

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

[controller]
[root@controller ~]# swift post examcontainer
[root@controller ~]# swift upload -S 10M examcontainer cirros-0.3.4-x86_64-disk.img

1.12 Cinder创建硬盘(0.5分)

在控制节点和计算节点分别安装Cinder服务,请在计算节点,对块存储进行扩容操作。

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

[controller]
[root@controller ~]# iaas-install-cinder-controller.sh
[compute]
[root@compute ~]# iaas-install-cinder-compute.sh
[root@compute ~]# fdisk /dev/vdb
第四个分区+5G
[root@compute ~]# pvcreate /dev/vdb4
[root@compute ~]# vgs
[root@compute ~]# vgextend cinder-volumes /dev/vdb4

1.13 KVM调优(0.5分)

在自行搭建的OpenStack私有云平台或赛项提供的all-in-one平台上,修改相关配置文件,启用-device virtio-net-pci in kvm,配置完成后提交控制节点的用户名、密码和IP地址到答题框。

[root@controller ~]# vim /etc/nova/nova.conf
--libvirt_use_virtio_for_bridges=true  #新增,注意,前面有两个短横

2、私有云服务运维

2.1 Keystone优化-优化token失效时间(1分)

openstack api server在处理请求前会校验token是否合法,除了校验token是否过期,同时还校验token是否在token失效列表里面;这个token失效列表会在本地缓存,如果过期,则会去keystone重新获取,在并发的时候,keystone会成为瓶颈点。请修改相关配置,将Keystone的失效列表缓存时间增加到原来的两倍。配置完成后提交controller节点的用户名、密码和IP地址到答题框。

[root@controller ~]# vim /etc/keystone/keystone.conf
cache_time = 7200  #去掉注释,将默认的3600改成7200

2.2 Nova调度器管理(1分)

在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。在OpenStack中,默认调度器有三种,修改相关配置文件,修改调度器规则为会将VM放置到load最低的节点上的调度器。配置完成后提交controller点的用户名、密码和IP地址到答题框。

[rootacontroller ~]# vim /etc/nova/nova.conf
driver=simple_scheduler

2.3 Nova资源优化(1分)

在OpenStack中,默认的CPU超配比例是1:16,内存超配比例是1:1.5。当宿主机使用swap交换分区来为虚拟机分配内存的时候,则虚拟机的性能将急速下降。生产环境上一般不建议开启内存超售(建议配置比例1:1)。请编辑nova.conf文件,将内存预留量配置为4GB,保证该部分内存不能被虚拟机使用。配置完成后提交改动节点的用户名、密码和IP地址到答题框。

[root@controller ~]# vim /etc/nova/nova.conf
reserved_host_memory_mb=4096  #去掉注释,将512改4096

2.4 Nova安装与优化-优化数据库连接(1分)

在controller节点和compute节点上分别使用iaas-install-placement.sh脚本、iaas-install-nova -controller.sh脚本、iaas-install-nova-compute.sh脚本安装Nova服务。当并发业务处理,需要连接数据库,并发度高的时候,提示数据库连接超过了上限 。解决思路:调整各组件的数据库连接数配置,下面通过修改nova相关配置文件,修改连接池大小和最大允许超出的连接数为10。配置完成后提交controller点的用户名、密码和IP地址到答题框。

[root@controller ~]# vim /etc/nova/nova.conf
max_pool_size=10  #去掉注释,将<None>改10
max_overflow=10  #去掉注释,将<None>改10

2.5 OpenStack镜像压缩(1分)

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

[root@controller ~]# qemu-img convert -c -O qcow2 CentOS7.5-compress.qcow2 chinaskill-js-compress.qcow2

3、私有云运维开发

3.1 编写Shell脚本备份数据库(1分)

在OpenStack私有云平台,创建一台云主机,编写脚本,要求可以完成数据库的定期备份,并把数据库备份文件存放在/opt目录下,保存文件名为mysql.sql。完成后提交节点的IP地址、用户名和密码到答题框。

[root@controller ~]# vim mysqlbak.sh
#!/bin/bash
backup_dir="/opt"
backup_file="$backup_dir/mysql.sql"

mysqldump -uroot -p000000 --all-databases > $backup_file

[root@controller ~]# chmod +x /root/mysqlbak.sh 
[root@controller ~]# crontab -e
0 * * * * /root/mysqlbak.sh
[root@controller ~]# ./mysqlbak.sh 

  • 57
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值