发布时间:2025-12-09 18:02:22 浏览次数:6
使用提供的用户名密码,登录提供的 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 分
使用提供的 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=centosbaseurl=file:///opt/centos #比赛使用的是http远程yum源gpgcheck=0enabled=1[iaas]name=iaasbaseurl=file:///opt/iaas/iaas-repogpgcheck=0enabled=1[root@controller ~]#1.查看/etc/yum.repos.d/http.repo 文件,有正确的 baseurl 路径,计 0.5 分
配置 controller 节点可以无秘钥访问 compute 节点,配置完成后,尝试 ssh 连接 compute
节点的 hostname 进行测试。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。
1.查看控制节点允许计算节点无秘钥登录计 0.5 分
【题目 4】基础安装[0.5 分]
在控制节点和计算节点上分别安装 openstack-iaas 软件包,根据表 2 配置两个节点脚本文件中的基本变量(配置脚本文件为/etc/openstack/openrc.sh)。
1.检查环境变量文件配置正确计 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 分
在 controller 节点上使用 iaas-install-keystone.sh 脚本安装 Keystone 服务。安装完成后, 使用相关命令,创建用户 chinaskill,密码为 000000。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-keystone.sh[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 ~]##注意我的域名是自定义的,正常应该是demo1.检查keystone 服务安装正确计 0.2 分
2.检查chinaskill 用户创建正确计 0.3 分
在 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]# lsamphora-x64-haproxy.qcow2 CentOS-7-x86_64-2009.qcow2 MySQL_5.6_XD.qcow2CentOS7_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]#1.检查glance 服务安装正确计 0.1 分
2.检查cirros 镜像最小启动硬盘与内存配置正确计 0.4 分
在 controller 节点和 compute 节点上分别使用 iaas-install-placement.sh 脚本、iaas-install-nova -controller.sh 脚本、iaas-install-nova-compute.sh 脚本安装Nova 服务。安装完成后,请修改 nova 相关配置文件,解决因等待时间过长而导致虚拟机启动超时从而获取不到 IP 地址而报
[root@controller ~]# iaas-install-placement.sh[root@controller ~]# iaas-install-nova-controller.sh[root@controller ~]# vim /etc/nova/nova.conf#vif_plugging_is_fatal=true改为vif_plugging_is_fatal=false1.检查nova 服务解决超时问题配置正确计 0.5 分
使用提供的脚本 iaas-install-neutron-controller.sh 和 iaas-install-neutron-compute.sh,在controller 和 compute 节点上安装 neutron 服务。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-neutron-controller.sh1.检查neutron 服务安装正确计 0.2 分
2.检查neutron 服务的 linuxbridge 网桥服务启动正确计 0.3 分
在controller 节点上使用iaas-install-dashboad.sh 脚本安装dashboad服务。安装完成后, 将 Dashboard 中的 Djingo 数据修改为存储在文件中(此种修改解决了 ALL-in-one 快照在其他云平台 Dashboard 不能访问的问题)。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-dashboard.sh[root@controller ~]# vim /etc/openstack-dashboard/local_settingsSESSION_ENGINE = 'django.contrib.sessions.backends.cache'改为SESSION_ENGINE = 'django.contrib.sessions.backends.file'1.检查Dashboard 服务安装正确计 0.2 分
2.检查Dashboard 服务中Djingo 数据修改为存储在文件中配置正确计 0.3 分
在 控 制 节 点 和 计 算 节 点 上 分 别 使 用 iaas-install-swift-controller.sh 和iaas-install-swift-compute.sh 脚本安装 Swift 服务。安装完成后,使用命令创建一个名叫examcontainer 的容器,将 cirros-0.3.4-x86_64-disk.img 镜像上传到 examcontainer 容器中,并设置分段存放,每一段大小为 10M。完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-swift-controller.sh[root@compute ~]# iaas-install-swift-compute.sh[root@controller ~]# lsanaconda-ks.cfg cirros-0.3.4-x86_64-disk.img logininfo.txt[root@controller ~]# swift post examcontainers[root@controller ~]# swift upload examcontaiers -S 10000000 cirros-0.3.4-x86_64-disk.imgcirros-0.3.4-x86_64-disk.img segment 1cirros-0.3.4-x86_64-disk.img segment 0cirros-0.3.4-x86_64-disk.img[root@controller ~]# du -sh cirros-0.3.4-x86_64-disk.img13M cirros-0.3.4-x86_64-disk.img[root@controller ~]##因为镜像就13M,所有存储为两段1.检查 swift 服务安装正确计 0.3 分
2.分段上传cirros 镜像正确计 0.2 分
在 控 制 节 点 和 计 算 节 点 分 别 使 用 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[root@compute ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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 partsr0 11:0 1 4.4G 0 rom[root@compute ~]#[root@compute ~]# vgdisplay--- Volume group ---VG Name cinder-volumesSystem IDFormat lvm2Metadata Areas 1Metadata Sequence No 4VG Access read/writeVG Status resizableMAX LV 0Cur LV 1Open LV 0Max PV 0Cur PV 1Act PV 1VG Size <10.00 GiBPE Size 4.00 MiBTotal PE 2559Alloc PE / Size 2438 / 9.52 GiBFree PE / Size 121 / 484.00 MiBVG UUID 3k0yKg-iQB2-b2CM-a0z2-2ddJ-cdG3-8WpyrG--- Volume group ---VG Name centosSystem IDFormat lvm2Metadata Areas 1Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size <19.00 GiBPE Size 4.00 MiBTotal PE 4863Alloc PE / Size 4863 / <19.00 GiBFree PE / Size 0 / 0VG UUID acAXNK-eqKm-qs9b-ly3T-R3Sh-8qyv-nELNWv[root@compute ~]# vgextend cinder-volumes /dev/sdb4Volume group "cinder-volumes" successfully extended[root@compute ~]# vgdisplay--- Volume group ---VG Name cinder-volumesSystem IDFormat lvm2Metadata Areas 2Metadata Sequence No 5VG Access read/writeVG Status resizableMAX LV 0Cur LV 1Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 14.99 GiBPE Size 4.00 MiBTotal PE 3838Alloc PE / Size 2438 / 9.52 GiBFree PE / Size 1400 / <5.47 GiBVG UUID 3k0yKg-iQB2-b2CM-a0z2-2ddJ-cdG3-8WpyrG--- Volume group ---VG Name centosSystem IDFormat lvm2Metadata Areas 1Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 2Max PV 0Cur PV 1Act PV 1VG Size <19.00 GiBPE Size 4.00 MiBTotal PE 4863Alloc PE / Size 4863 / <19.00 GiBFree PE / Size 0 / 0VG UUID acAXNK-eqKm-qs9b-ly3T-R3Sh-8qyv-nELNWv[root@compute ~]#1.检查cinder 后端存储扩容成功计 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 |+--------------------------------------+--------------------+------------+------------+--------------------------------------+----------------------+-------------+[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 |+--------------------------------------+------------+------+-------------+-----------+-----------+--------------------+-----------------------------+-------------------+[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'|' -f3path = 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 -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 1.9G 0 1.9G 0% /devtmpfs 1.9G 4.0K 1.9G 1% /dev/shmtmpfs 1.9G 12M 1.9G 1% /runtmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root 17G 4.8G 13G 29% //dev/sda1 1014M 152M 863M 15% /boottmpfs 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[root@compute ~]#1.检查 share01 共享存储正确创建并赋予权限计 0.5 分
使用 iaas-install-barbican.sh 脚本安装 barbican 服务,安装服务完毕后,使用 openstack 命令创建一个名为 secret01 的密钥,创建完成后提交控制节点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# iaas-install-barbican.sh[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 分
使用 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.981.检查hashmap 评级模块启用成功计 0.2 分
2.检查服务匹配规则volume.size 创建成功 0.8 分
搭建完 OpenStack 平台后,关闭系统的内存共享,打开透明大页。完成后提交控制节点
的用户名、密码和 IP 地址到答题框。
1.检查系统内存优化成功计 0.5 分
Linux 服务器大并发时,往往需要预先调优 Linux 参数。默认情况下,Linux 最大文件句柄数为 1024 个。当你的服务器在大并发达到极限时,就会报出“too many open files”。创建一台云主机,修改相关配置,将控制节点的最大文件句柄数永久修改为 65535。配置完成后提交 controller 点的用户名、密码和 IP 地址到答题框。
[root@controller ~]# ulimit -n1024[root@controller ~]# echo "* soft nofile 65535" >> /etc/security/limits.conf[root@controller ~]# echo "* hard nofile 65535" >> /etc/security/limits.conf* #代表所有用户soft #超过文件句柄数时,仅提示hard #超过文件句柄数时,直接限制Last login: Thu May 5 19:26:47 2022 from 10.60.2.201########################## Welcome to XianDian ##########################[root@controller ~]# ulimit -n65535[root@controller ~]#1.检查配置 linux 系统句柄数为 65535 成功计 0.5 分
修改 controller 节点的相关配置文件,开启 SYN cookie,防止 SYN 洪水攻击。完成后提交 controller 节点的用户名、密码和 IP 地址到答题框。
[root@container ~]# vim /etc/sysctl.conf#添加以下参数net.ipv4.tcp_max_syn_backlog=2048net.ipv4.tcp_syncookies=1net.ipv4.tcp_syn_retries = 0[root@container ~]# sysctl -pnet.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-ip6tables = 1net.ipv4.tcp_max_syn_backlog = 2048net.ipv4.tcp_syncookies = 1sysctl: setting key "net.ipv4.tcp_syn_retries": Invalid argumentnet.ipv4.tcp_syn_retries = 0[root@container ~]#1.检查开启SYN cookie 配置计 1 分