【任務 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 分