2019 年全國職業院校技能大賽題庫


任務一、IaaS 雲平台搭建 基礎環境:

1.使用命令行方式設置主機名,防火牆以及 SELinux 設置如下:

(1)設置控制節點主機名 controller;計算節點主機名:compute。

hostnamectl set-hostname controller

hostnamectl set-hostname compute

(2)各個節點關閉防火牆,設置開機不啟動。

systemctl stop firewalld

systemctl   disable firewalld

(3)設置各個節點 selinux 狀態為 permissive。

vi /etc/selinux/conf

SELINUX=permissive

setenforce 0

2.使用命令查詢控制/計算節點的主機名。

hostname

3.使用命令查詢控制/計算節點 selinux 的狀態。

getenforce

4.在控制節點上通過 SecureFX 上傳兩個鏡像文件 CentOS-7-x86_64-DVD-1511.iso, XianDian-IaaS-v2.2.iso 到 opt 下,使用命 令創建/opt 下兩個目錄,並將以上鏡像文件分別掛載到上述兩個目錄下,並 使用命令查看掛載的情況(需顯示掛載的文件系統類型和具體的大小)。

5.在控制節點上通過 SecureFX 上傳兩個鏡像文件 CentOS-7-x86_64-DVD-1511.iso, XianDian-IaaS-v2.2.iso 到 opt 下,通過命 令行創建兩個目錄,並將以上鏡像文件分別掛載到上述兩個目錄下。

6.配置控制節點本地 yum 源文件 local.repo ,搭建 ftp 服務器指向存放 yum 源路徑;配置計算節點 yum 源文件 ftp.repo 使用之前配置的控制節點 ftp 作 為 yum 源,其中的兩個節點的地址使用主機名表示。使用 cat 命令查看上述 控制/計算節點的 yum 源全路徑配置文件。

controller:

[centos]

name=centos

baseurl=file:///opt/centos

enabled=1

gpgcheck=0

[iaas]

name=iaas

baseurl=file:///opt/iaas/iaas-repo

enabled=1

gpgcheck=0

compute:

[centos]

name=centos

baseurl=ftp://controller/centos

enabled=1

gpgcheck=0

[iaas]

name=iaas

baseurl=ftp://controller/iaas/iaas-repo

enabled=1

gpgcheck=0

7.在控制節點和計算節點分別安裝 iaas-xiandian 軟件包,完成配置文件中基 本變量的配置,並根據提供的參數完成指定變量的配置。

yum  install iaas-xiandian    -y

sed  -i  -e   "s/PASS=/PASS=000000/"  -e "s/^#//"  /etc/xiandian/openrc.sh

vi /etc/xiandian/openrc.sh

HOST_IP=192.168.100.40

HOST_NAME=controller

HOST_IP_NODE=192.168.100.50

HOST_NAME_NODE=compute

RABBIT_USER=openstack

RABBIT_PASS=000000

DB_PASS=000000

DOMAIN_NAME=demo

ADMIN_PASS=000000

DEMO_PASS=000000

KEYSTONE_DBPASS=000000

GLANCE_DBPASS=000000

GLANCE_PASS=000000

NOVA_DBPASS=000000

NOVA_PASS=000000

NEUTRON_DBPASS=000000

NEUTRON_PASS=000000

METADATA_SECRET=000000

INTERFACE_NAME=eno2

minvlan=101

maxvlan=200

CINDER_DBPASS=000000

CINDER_PASS=000000

BLOCK_DISK=sda3

TROVE_DBPASS=000000

TROVE_PASS=000000

SWIFT_PASS=000000

OBJECT_DISK=sda4

STORAGE_LOCAL_NET_IP=192.168.100.50

HEAT_DBPASS=000000

HEAT_PASS=000000

CEILOMETER_DBPASS=000000

CEILOMETER_PASS=000000

AODH_DBPASS=000000

AODH_PASS=000000

Mysql 搭建:

1.根據平台安裝步驟安裝至數據庫服務,使用一條命令安裝提供的 iaas-install-mysql.sh 腳本並查看腳本運行的時間。

time  iaas-install-mysql.sh

2.使用 root 用戶登錄數據庫,查詢數據庫列表信息。

mysql -uroot -p000000

show databases;

3.使用 root 用戶登錄數據庫,使用 mysql 數據庫,查詢所有表的信息。

mysql -uroot -p000000

use  mysql

show tables;

4.使用 root 用戶登錄數據庫,使用 mysql 數據庫,查詢所有表的信息,並查 詢表 user 中的host,user,password 特定的信息。

mysql -uroot -p000000

use  mysql

show tables;

select host,user,password  from  user;

Keystone 搭建:

1.按要求安裝完 keystone 腳本后,在數據庫中查詢 keystone 用戶的遠程訪問 權限信息。

mysql -uroot -p000000

show grants for "keystone"@"%";

2.列出數據庫 keystone 中的所有表。

mysql  -uroot  -p000000

use   keystone

show tables;

3.使用相關命令,查詢角色列表信息。

openstack role list  

4.使用相關命令,查詢 admin 項目信息。

openstack project show admin

5.使用相關命令,查詢用戶列表信息。

openstack user list

6.使用相關命令,查詢 admin 用戶詳細信息。

openstack user show admin

7.使用相關命令,查詢服務列表信息。

openstack server list

8.使用一條命令將 keystone 的數據庫導出為當前路徑下的 keystone.sql 文件, 並使用命令查詢文件 keystone.sql 的大小。

mysqldump -uroot -p000000  keystone > keystone.sql

ls -lh  keystone.sql

Glance 搭建:

1.根據平台安裝步驟安裝至鏡像服務,在控制節點使用提供的腳本 iaas-install-glance.sh 安裝 glance 組件。使用鏡像文件 CentOS_7.2_x86_64_XD.qcow2 創建 glance 鏡像名為 CentOS7.2,格式為 qcow2。

glance image-create  --name "centos7"  --disk-format "qcow2" --container-format  bare --progress < /root/CentOS_7.2_x86_64_XD.qcow2

2.使用相關命令查詢鏡像列表,並查詢 CentOS7.2 鏡像的詳細信息。

glance image-list

glance image-show 760be10f-8738-408d-a6dd-abad15fd6930

3.使用相關命令,在一條命令中查詢 glance 組件中所有服務的狀態信息。

systemctl status openstack-glance *nn

Nova 搭建:

1.根據平台安裝步驟安裝至 nova 計算服務,在控制節點使用提供的腳本 iaas-install-nova-controller.sh、在計算節點使用提供的腳本 iaas-install-nova-compute.sh,安裝 nova 組件。

controller:

iaas-install-nova-controller.sh

compute:

iaas-install-nova-compute.sh

2.使用相關命令查詢計算節點虛擬機監控器的狀態。

nova hypervisor-stats

3.使用相關命令查詢 nova 服務狀態列表。

nova service-list

4.使用相關命令查詢網絡的列表信息。

nova network-list

5.使用相關命令查詢 nova 資源使用情況的信息。

nova usage-list

Neutron 搭建:

1.根據平台安裝步驟安裝至 neutron 網絡服務,在控制節點和計算節點通過 提供的 neutron 腳本,完成 neutron 服務在控制節點和計算節點的安裝,並配 置為 GRE 網絡。

 

2.根據平台安裝步驟安裝至 neutron 網絡服務,在控制節點和計算節點通過 提供的 neutron 腳本,完成 neutron 服務在控制節點和計算節點的安裝,並配置為 VLAN 網絡。

3.使用相關命令查詢網絡服務的列表信息,並以下圖的形式打印出來。

neutron agent-list -c binary -c agent_type -c alive

4.使用相關命令查詢網絡服務的列表信息中的“binary”一列。

neutron agent-list  -c  binary

5.使用相關命令查詢網絡服務 DHCP agent 的詳細信息。

neutron agent-list

+--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+

| id                                   | agent_type         | host       | availability_zone | alive | admin_state_up | binary                    |

+--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+

| 29146532-5ee5-4885-839a-4509968d3e52 | L3 agent           | controller | nova              | :-)   | True           | neutron-l3-agent          |

| 8a05e29f-f217-47de-8c40-7a716cd16f31 | Metadata agent     | controller |                   | :-)   | True           | neutron-metadata-agent    |

| 9ca03127-4108-466a-a398-aef386bfe37d | Loadbalancer agent | controller |                   | :-)   | True           | neutron-lbaas-agent       |

| a590b488-dfa2-4b5b-b46a-beefa4510dac | Metadata agent     | compute    |                   | :-)   | True           | neutron-metadata-agent    |

| bf902fcf-aad7-4f76-aef4-d8cf79fabae8 | DHCP agent         | controller | nova              | :-)   | True           | neutron-dhcp-agent        |

| ce51aac9-166b-42d1-8130-f68b13be5e2f | Open vSwitch agent | controller |                   | :-)   | True           | neutron-openvswitch-agent |

| da1a3947-7ee3-452f-ae2e-fcbb194c675d | Open vSwitch agent | compute    |                   | :-)   | True           | neutron-openvswitch-agent |

+--------------------------------------+--------------------+------------+-------------------+-------+----------------+---------------------------+

neutron agent-show bf902fcf-aad7-4f76-aef4-d8cf79fabae8

6.使用 ovs-vswitchd 管理工具的相關命令查詢計算節點的網橋列表信息。

ovs-vsctl list-br

7.使用 ovs-vswitchd 管理工具的相關命令查詢控制節點的網橋 br-ex 的端口 列表信息。

ovs-vsctl list-ports br-ex

8.創建雲主機外部網絡 ext-net,子網為 ext-subnet,雲主機浮動 IP 可用網段 為 192.168.200.100 ~ 192.168.200.200,網關為 192.168.200.1。

neutron net-create ext-net  --router:external

neutron subnet-create  ext-net  --name ext-subnet  --allocation-pool start=192.168.200.10,end=192.168.200.200 --disable-dhcp --gateway 192.168.200.1  192.168.200.0/24

創建雲主機內 部網絡 int-net1,子網為 int-subnet1,雲主機子網 IP 可用網段為 10.0.0.100 ~ 10.0.0.200,網關為10.0.0.1;

neutron net-create  int-net1

neutron subnet-create  int-net1  --name int-subnet1  --allocation-pool start=10.0.0.100,end=10.0.0.200  --enable-dhcp --gateway 10.0.0.1  10.0.0.0/24

創建雲主機內部網絡int-net2,子網為 int-subnet2, 雲主機子網 IP 可用網段為 10.0.1.100 ~ 10.0.1.200,網關為 10.0.1.1。

neutron net-create int-net2  

neutron  subnet-create   int-net2  --name int-subnet2   --allocation-pool start=10.0.1.100,end=10.0.1.200 --enable-dhcp  --gateway 10.0.1.1  10.0.1.0/24

添加名 為 ext-router 的路由器,添加網關在 ext-net 網絡,添加內部端口到 int-net1 網絡,完成內部網絡 int-net1 和外部網絡的連通。

neutron router-create  ext-router

neutron  router-gateway-set ext-router  ext-net

neutron  router-interface-add  ext-router  int-subnet1

9.使用相關命令查詢所創建路由器的詳細信息。

neutron router-show ext-router

10.使用相關命令查詢所創建子網的列表信息,並查看內網子網的詳細信息。

neutron subnet-list

+--------------------------------------+-------------+------------------+------------------------------------------------------+

| id                                   | name        | cidr             | allocation_pools                                     |

+--------------------------------------+-------------+------------------+------------------------------------------------------+

| cb71a8f3-01cd-4c6e-a15a-b77a4ad44dd3 | ext-subnet  | 192.168.200.0/24 | {"start": "192.168.200.2", "end": "192.168.200.254"} |

| df801f44-9f4a-4481-9424-081326474069 | int-subnet1 | 10.0.0.0/24      | {"start": "10.0.0.2", "end": "10.0.0.254"}           |

| 46f50de0-991e-4e25-a0d3-7eff9ef719cf | int-subnet2 | 10.0.1.0/24      | {"start": "10.0.1.2", "end": "10.0.1.254"}           |

+--------------------------------------+-------------+------------------+------------------------------------------------------+

neutron subnet-show  df801f44-9f4a-4481-9424-081326474069

neutron subnet-show  46f50de0-991e-4e25-a0d3-7eff9ef719cf

11.使用相關命令查詢所創建網絡的列表信息。

Dashboard 搭建:

1.通過腳本 iaas-install-dashboard.sh 安裝 dashboard 組件,使用 curl 命令查詢網址 http://192.168.100.10/dashboard。

curl -v http://192.168.100.40/dashboard/

2.通過腳本 iaas-install-dashboard.sh 安裝 dashboard 組件,通過 chrome 瀏覽 器使用 admin 賬號登錄雲平台網頁,進入管理員菜單中的系統信息頁面。

Heat 搭建:

1.在控制節點使用提供的腳本 iaas-install-heat.sh 安裝 heat 組件。

2.使用 heat 相關命令,查詢 stack 列表。

heat stack-list

3.從考試系統附件下載 server.yml 文件,通過命令行使用 server.yml 文件創 建棧 mystack,指定配置參數為鏡像 CentOS7.2、網絡 int-net2。

4.查詢棧 mystack 狀態為 CREATE_COMPLETE 的事件詳細信息。

openstack stack create --template server.yaml --parameter "image=CentOS7.2;network=int-net2" mystack

heat stack-create --template-file server.yml --parameters "image=centos7;network=int-net2" mystack

5.查詢棧 mystack 的事件列表信息。

heat event-list  mystack

Trove 搭建:

1.在控制節點配置提供的腳本 iaas-install-trove.sh,使其連接的網絡為 int-net1, 安裝數據庫 trove 服務,完成 trove 服務在控制節點的安裝。完成后查詢所有 的數據庫實例列表。

vi /usr/local/bin/iaas-install-trove.sh

crudini  --set /etc/xtrove/trove.conf DEFAULT default_neutron_networks c171fe62-ba6a-4077-9da6-495f817462a2

2.在控制節點上傳提供的 MySQL_5.6_XD.qcow2 到系統內,並創建 mysql 的數據庫存儲類型,使用上傳的鏡像更新該數據庫類型的版本信息和鏡像信息。

glance image-create --name mysql5.6  --disk-format "qcow2"  --container-format  bare  --progress < /root/ MySQL_5.6_XD.qcow2

trove-mange datastore_update mysql ""

trove-manage datastore_version_update mysql5.6 mysql

3.在控制節點查創建名稱為 mysql-1,大小為 5G,數據庫名稱為 myDB、遠 程連接用戶為 user,密碼為 r00tme,類型為 m1.small 完成后查詢 trove 列表 信息,並查詢 mysql-1 的詳細信息。

trove create mysql-1 m1.small --size 5 --databases myDB --user  root:000000 --datastore mysql --datastore_version 5.6

trove list

trove show mysql-1

4.在控制節點查詢所有數據的版本信息,完成后查詢 mysql 數據庫的詳細信息。

trove databastore-version-list mysql

trove datastore-show mysql

任務二、IaaS 雲平台運維

Rabbitmq 運維:

1.按以下配置在雲平台中創建雲主機,完成本任務下的相關試題后關閉雲主機。

雲主機: (1)名稱:IaaS

(2)鏡像文件:Xiandian-IaaS-All.qcow2

(3)雲主機類型:4cpu、8G 內存、100G 硬盤

(4)網絡:網絡 1:int-net1,綁定浮動 IP 網絡 2:int-net2 注:該鏡像已安裝 IaaS 平台所有可能使用的組件,用於完成 IaaS 平台相關 運維操作題,必須按以上配置信息配置接入兩個網絡才能保證雲主機運行正常。 根據題目要求,連接相應的雲主機或各節點服務器,進行以下答題。

2.使用 rabbitmqctl 創建用戶 xiandian-admin,密碼為 admin。

rabbitmqctl add_user xiandian-admin adminra

3.使用 rabbitmqctl 命令查詢所有用戶列表。

rabbitmqctl list_users

4.使用命令對 xiandian-admin 用戶進行授權,對本機所有資源可寫可讀權限。

rabbitmqctl set_permissions  xiandian-admin ".*" ".*" ".*"

5.使用 rabbitmqctl 命令查詢集群狀態。

rabbitmqctl cluster_status

6.使用命令給 xiandian-admin 用戶創建 administrator 角色,並查詢。

rabbitmqctl set_user_tags xiandian-admin administrator

rabbitmqctl list_users

7.使用命令對用戶 xiandian-admin 進行授權,對本機所有資源可寫可讀權限, 然后查詢 xiandian-admin 用戶的授權信息。

rabbitmqctl list_user_permissions xiandian-admin

8.使用 rabbitmqctl 命令,查看隊列信息,所包含的信息包括 name,arguments, messages,memory。

rabbitmqctl list_queues name arguments messages memory

9.通過修改配置文件的方式修改 memcache 的緩存大小,使用 ps 相關命令查詢 memcahce 進程的信息,將修改的配置文件全路徑文件名、修改的參數以 及相應的參數值、查詢 memcache 進程信息。

vi /etc/syscoofig/memcached

CACHESIZE="256"

systemctl restart memcached.service

[root@controller ~]# ps -aux | grep memcached

memcach+ 41013  0.2  0.0 325640  1248 ?        Ssl  15:05   0:00 /usr/bin/memcached -u memcached -p 11211 -m 256 -c 1024

root     41036  0.0  0.0 112644   952 pts/0    S+   15:05   0:00 grep --color=auto memcached

10.構建 rabbitmq 集群,並對集群進行運維操作。

Mysql 運維:

mysql -uroot  -p000000

1.使用數據庫的相關命令查詢數據庫的編碼方式。

show variables like 'character_set_database';

2.通過 mysql 相關命令查詢當前系統時間。

select now();

select sysdate();

3.通過 mysql 相關命令,查看當前是什么用戶。

select user();

4.通過 mysql 相關命令,查看 mysql 的默認存儲引擎信息,並查看 mysql 支 持的存儲引擎有哪些。

show variables like '%storage_engine%';

show engines;

5.進入數據庫 keystone,通過 user 表和 local_user 表做聯合更新,u 用來做 user 表別名,lu 用來做 local_user 表別名,sql 語句更新 neutron 用戶的 enabled 狀態為 0, 更新語句中 user 表在 local_user 前面。

update user as u join local_user as lu on u.id-lu.user_id set enabled=0  where lu.name='neutron';

6.進入數據庫 keystone,通過 user 表和 local_user 表做聯合查詢,u 用來做 user 表別名,lu 用來做 local_user 表別名,兩表聯合查詢 nova 用戶的 enabled 狀態,查詢語句中 user 表在 local_user 前面。

select enabled from user u join local_user lu on u.id=lu.user_id where lu.name='nova';

7.進入數據庫,創建本地用戶 examuser,密碼為 000000,然后查詢 mysql 數據庫中的 user 表的特定字段。最后賦予這個用戶所有數據庫的“查詢”“刪 除”“更新”“創建”的本地權限。

create user 'testuser'@'localhost' identified by '000000';

select  host,user,password from user;

grant select,delete,update,create on *.* to examuser@'localhost' identified by '000000';

8.登錄 iaas 雲主機,登錄 mysql 數據庫,使用 keystone 數據庫,查詢本地用戶表中的所有信息,並按照 id 的降序排序。(關於數據庫的命令均使用小寫)

mysql -uroot  -p000000

use keystone;

select * from user order by id desc;

MongoDB 運維

1.登錄 iaas 雲主機,登錄 MongoDB 數據庫,查看數據庫,使用 ceilometer 數據庫,查看此數據庫下的集合,並查詢此數據庫用戶,最后創建一個數據庫並查詢。

mongo

show dbs;

use ceilometer

show collections;

show users;

use   test

show  dbs   (新建數據庫要向里面插入數據之后才會在列表中顯示)

2.登錄 iaas 雲主機,登錄 MongoDB 數據庫,新建一個數據庫,使用這個數據庫,向集合中插入數據,最后查詢特定的一類數據。

use new-db

db.new_collection.insert({"name":"zhangsan","age":21})

db.new_collection.insert({"name":"lisi","age":"22"})

3.登錄 iaas 雲主機,登錄 MongoDB 數據庫,新建一個數據庫,使用這個數據庫,向集合中插入數據,插入完畢后,數據進行修改,修改完后,查詢修改完的數據。

use student

db.student.insert({"name":"xiaoming"});

db.student.update({"name":"xiaoming"},{"name":"wenwen"});

db.student.find()

4.登錄 iaas 雲主機,登錄 MongoDB 數據庫,新建一個數據庫,使用這個數據庫,向集合中插入數據(其中某一條數據插入兩遍),插入數據完畢后,發現某條數據多插入了一遍需要刪除,請使用命令刪除多余的一行數據,最后將數據庫刪除。

> use class

switched to db class

> db.class.insert({"name":"1"},{"class":"1"});

WriteResult({ "nInserted" : 1 })

>

> db.class.insert({"name":"1"},{"class":"1"});

WriteResult({ "nInserted" : 1 })

> db.class.insert({"name":"2"},{"class":"2"});

WriteResult({ "nInserted" : 1 })

>

> db.class.find()

{ "_id" : ObjectId("5daf83f4b7870f79e5a4baf1"), "name" : "1" }

{ "_id" : ObjectId("5daf83fab7870f79e5a4baf2"), "name" : "1" }

{ "_id" : ObjectId("5daf8406b7870f79e5a4baf3"), "name" : "2" }

> db.class.remove({"_id":"ObjectId("5daf83fab7870f79e5a4baf2")"})

5.登錄 iaas 雲主機,登錄MongoDB 數據庫,新建一個數據庫,使用這個數據庫,向集合中插入數據,插入完畢后,查詢集合中的數據並按照某關鍵字的升序排序。

6.登錄 iaas 雲主機,登錄MongoDB 數據庫,新建一個數據庫,使用這個數據庫,向集合中批量插入多條數據,使用 for 循環,定義變量 i=1,插入"_id" : i,"name" : "xiaoming", "age" : "21"。插入數據完畢后,統計集合中的數據條數,然后查詢集合中滿足特定條件的結果。

7.登錄 iaas 雲主機,使用 mongoimport 命令,將給定的文件,導入至 MongoDB 下的相應數據庫中的指定集合中。導入后登錄 MongoDB 數據庫。查詢集合 中滿足特定條件的結果。注:PPG--場均得分;PTS--總得分;FG%--投籃命 中率;3P%--三分命中率;MPG--平均上場時間

Keystone 運維:

1.在 keystone 中創建用戶 testuser,密碼為 password。

openstack user create --domain demo --password password testuser

2.將 testuser 用戶分配給 admin 項目,賦予用戶 user 的權限。

openstack role add --project admin --user testuser user

3.以管理員身份將 testuser 用戶的密碼修改為 000000。

openstack user set --password 000000 testuser

4.通過 openstack 相關命令獲取 token 值。

openstack token issue

5.使用命令查詢認證服務的查詢端點信息。

openstack endpoint list | grep keystone

6.使用命令列出認證服務目錄。

openstack catalog list

7.在 keystone 中創建用戶 testuser,密碼為 password,創建好之后,使用命令修改 testuser 密碼為 000000,並+查看 testuser 的詳細信息。

openstack user create --domain demo --password password testuser

openstack user set --password 000000  testuser

openstack user show testuser

8.在 keystone 中創建用戶 testuser,密碼為 password,創建好之后,使用命令修改 testuser 的狀態為 down,並查看 testuser 的詳細信息。

openstack user set --disable testuser

openstack user show testuser

9.完成 keystone 證書加密的 HTTPS 服務提升。

 

Glance 運維:

1.使用 glance 相關命令上傳 CentOS_6.5_x86_64_XD.qcow2 鏡像到雲主機中, 鏡像名為 testone,然后使用 openstack 相關命令,並查看鏡像的詳細信息。

glance image-create --name "testone" --disk-format "qcow2"  --container-format bare --progress < /root/CentOS_6.5_x86_64_XD.qcow2

openstack image show testone

2.使用glance相關命令上傳兩個鏡像,一個名字為testone,一個名字叫testtwo, 使用相同的鏡像源 CentOS_6.5_x86_64_XD.qcow2,然后使用 openstack 命令 查看鏡像列表,接着檢查這兩個鏡像的 checksum 值是否相同。

glance image-create --name "testone" --disk-format "qcow2"  --container-format bare --progress < /root/CentOS_6.5_x86_64_XD.qcow2

glance image-create --name "testtwo" --disk-format "qcow2"  --container-format bare --progress < /root/CentOS_6.5_x86_64_XD.qcow2

openstack image list

openstack image show testone | grep checksum

openstack image show testtwo | grep checksum

3.登錄 iaas 雲主機,使用 glance 相關命令,上傳鏡像,源使用 CentOS_6.5_x86_64_XD.qcow2,名字為 testone,然后使用 openstack 命令修 改這個鏡像名改為 examimage,改完后使用 openstack 命令查看鏡像列表。

glance image-create --name "testone" --disk-format "qcow2"  --container-format bare --progress < /root/CentOS_6.5_x86_64_XD.qcow2

openstack image set testone --name "examimage"

openstack image list

4 使用 glance 相關命令,上傳鏡像,源使用 CentOS_6.5_x86_64_XD.qcow2, 名字為 examimage,然后使用 openstack 命令查看鏡像列表,然后給這個鏡 像打一個標簽,標簽名字為 lastone,接着查詢修改的結果。

glance image-create --name "examimage" --disk-format "qcow2"  --container-format bare --progress < /root/CentOS_6.5_x86_64_XD.qcow2

openstack image list

openstack image set examimage --tag lastone

openstack image show   examimage

5.通過一條組合命令獲取鏡像列表信息,該組合命令包含:

(1)使用 curl 命令獲取鏡像列表信息;

(2)使用 openstack 相關命令獲取的 token 值;

(3)僅使用 awk 命令且用“|”作為分隔符獲取 token 具體參數值。

curl -i -H "X-Auth-Token:$(openstack token issue | awk -F "|" '/\sid\s/{print $3}')" http://controller:9292/v2/images

6.通過一條組合命令獲取該鏡像詳細信息,該組合命令要求:

(1)不能使用任何 ID 作為參數;

(2)使用 openstack 相關命令獲取詳細信息;

(3)使用 glance 相關命令獲取鏡像對應關系;

(4)僅使用 awk 命令且用“|”作為分隔符獲取 ID 值。

openstack image show `glance image-list | awk -F "|" '/examimage/{print $2}'`

7.查看 glance 配置文件,找到默認的鏡像存儲目錄,進入到存儲目錄中,使用 qemu 命令查看任意的一個鏡像信息。

cat /etc/glance/glance-api.conf | grep filesystem_store_datadir

cd /var/lib/glance/images/

qemu-img info 05cf4c95-cf94-44a6-8ccd-ff9969dc39e2

Nova 運維:

1.修改雲平台中默認每個 tenant 的實例注入文件配額大小,並修改。

nova quota-class-update default --injected-file-content-bytes 102400

nova quota-defaults

2.通過 nova 的相關命令創建雲主機類型,名字exam,ID為1234,內存為1024,硬盤為20G,虛擬內核數量為2,並查詢該雲主機的詳細信息。

nova flavor-create exam 1234 1024 20 2

nova flavor-show exam

3.使用 nova 相關命令,查詢 nova 所有服務狀態。

nova service-list

4.修改雲平台中默認每個 tenant 的實例配額個數並查詢。

nova quota-class-update default --instances 20

nova quota-defaults

5.使用 nova 相關命令,查詢 nova 所有的監控列表,並查看監控主機的詳細信息。

nova hypervisor-list

nova hypervisor-show <hypervisor>    hypervisor為參數  可通過  nova hypervisor-list  獲得

6.使用 grep 命令配合-v 參數控制節點/etc/nova/nova.conf 文件中有效的命令行覆蓋輸出到/etc/novaback.conf 文件。

grep -v ^# /etc/nova/nova.conf | grep -v ^$ > /etc/novaback.conf

7.此題可使用物理 iaas 環境,使用 nova 相關命令,啟動一個雲主機,雲主 機類型使用 m1.small,鏡像使用 CentOS_6.5_x86_64_XD.qcow2,雲主機名 稱為 examtest。

nova boot --flavor m1.small --image CentOS_6.5_x86_64_XD.qcow2 --nic net-id=c5221f87-5f27-4fb0-9e31-08269c104676 examtest

8.此題可使用物理 iaas 環境,使用 openstack 相關命令,啟動一個雲主機, 雲主機類型使用 m1.small,鏡像使用 centos6.5,雲主機名稱為 xxxtest,並 使用 openstack 命令查看此雲主機的詳細信息。

openstack server create --flavor m1.small --image examimage --nic net-id=c5221f87-5f27-4fb0-9e31-08269c104676 xxxtest

openstack server show xxxtest

9.此題可使用物理環境,登錄 dashboard 界面,創建一台虛擬機,將該虛擬機使用手動遷移的方式,遷移至另一個計算節點並查看。(controller 既是 控制也是計算)

 

10.登錄 iaas-all 雲主機,修改 nova 后端默認存儲位置。

11.修改相應的配置文件,使得 openstack 雲主機的工作負載實現所要求的性 能、可靠性和安全性。

12.配置 NFS 網絡存儲作為 nova 的后端存儲。

Cinder 運維:

1.使用分區工具,對/dev/vda 進行分區,創建一個分區,使用命令將剛創建的分區創建為物理卷,然后使用命令查看物理卷信息。

fdisk /dev/vda

pvcreate /dev/vda1

pvdisplay

2.使用命令查看當前卷組信息,使用命令創建邏輯卷,查詢該邏輯卷詳細信息。

lvcreate -L 20G  -n lv1 vg1

vgdisplay

3.創建一個卷類型,然后創建一塊帶這個卷類型標識的雲硬盤,查詢該雲硬盤的詳細信息。

openstack volume type create type1

openstack volume create --size 20 --type type1 examlv1

openstack volume show examlv1

4.通過命令行創建雲硬盤,將其設置為只讀,查詢該雲硬盤的詳細信息。

cinder create --display-name "examlv2" --volume-type type1 20

cinder readonly-mode-update examlv2 true

cinder show examlv2

5.通過命令行創建雲硬盤,查詢該雲硬盤的詳細信息。

cinder create --display-name "examlv2" --volume-type type1 20

cinder show examlv2

6.使用命令,對/dev/vda 分區,並把這個分區創建成物理卷,然后再把這個物理卷加入到 cinder-volumes 卷組中,查看卷組詳情。

fdisk /dev/vda

pvcreate /dev/vda1

vgcreate cinder-volume /dev/vda1

vgdisplay cinder-volumes

7.使用命令創建一個雲硬盤,然后通過 lvm 相關命令查看該雲硬盤的詳細信息,最后通過 cinder 命令對這塊雲硬盤進行擴操作容,並查看詳細信息。

cinder create --display-name "examlv2" --volume-type type1 20

lvdisplay /dev/centos/cinder--volumes-volume--d85f9089-be7f-4ae0-8b98-6546720ca98a

cinder extend examlv2 30

cinder show examlv2

8.登錄 iaas 雲主機,使用命令對硬盤/dev/vda 進行分區,將這個分區創建為物理卷並使用 pvs 查看,然后將這個物理卷添加到 cinder-volumes 卷組中並 使用 vgs 查看。

parted /dev/sda

vgcreate /dev/vda1

pvs

vgextend  cinder-volumes  /dev/vda1

vgs

9.登錄 controller 節點,創建雲主機,鏡像使用 centos6.5,flavor 使用 m1.medium,配置好網絡。然后給雲主機 iaas 掛載一個雲硬盤,使用這塊雲硬盤,把雲主機 iaas 的根目錄擴容,最后在 iaas 雲主機上用 df -h 命令查看。

openstack server create --image centos6.5 --flavor m1.medium --nic net-id=c5221f87-5f27-4fb0-9e31-08269c104676 cindertest

openstack server add volume  cindertest  examlv1

10.登錄“iaas-all”雲主機,使用命令對磁盤/dev/vda 進行分區,然后使用命令, 創建 raid 磁盤陣列,最后將 md0 格式化為 ext4 格式並查看該磁盤陣列的 UUID。

12.登錄“iaas-all”雲主機,查看 cinder 后端存儲空間大小,將 cinder 存儲空間 擴容 10 個 G 大小,最后查看 cinder 后端存儲空間大小。

13.修改相應的配置文件,增加 cinder backup 后端備份。

14.配置 NFS 網絡存儲作為 cinder 的后端存儲。

Swift 運維:

1.使用命令查看 swift 服務狀態,然后創建一個容器,並使用命令查看容器列表。

openstack-status  | grep swift

swift post container1

swift list

2.使用 swift 相關命令,創建一個容器,然后使用命令查看該容器的狀態。

swift post container1

swift stat container1

3.使用 swift 相關命令,查詢 swift 對象存儲服務可以存儲的單個文件大小的最大值。

swift capabilities

4.使用 swift 相關命令,創建一個容器,然后往這個容器中上傳一個文件(文件可以自行創建),上傳完畢后,使用命令查看容器。

swift post container1

swift upload  container1 test.txt

5.登錄 iaas 雲主機,使用 openstack 命令,創建一個容器,並查詢,上傳一個文件(可自行創建)到這個容器中,並查詢。

openstack container create container2

openstack container show container2

openstack object create container2 test.txt

openstack object list container2

6.登錄 IaaS 雲主機,創建 swifter 用戶,並創建 swift 租戶,將 swifter 用戶規划到 swift 租戶下,賦予 swifter 用戶使用 swift 服務的權限,並通過 url 的方式使用該用戶在swift中創建容器。

openstack user create --domain demo --password 000000 swifter

openstack project create --domain demo --enable swift

openstack role add  --project swift  --user swifter user

swift --os-auth-url http://controller:5000/v3 --auth-version 3 --os-project-name swift --os-project-domain-name demo --os-username swifter  --os-user-domain-name demo --os-password 000000  post admin_container3

7.使用 url 的方式,用 admin 賬號在 swift 中創建容器,創建完之后用 url 的 方式查看容器列表。

openstack role add  --project admin  --user swifter user

swift --os-auth-url http://controller:5000/v3 --auth-version 3 --os-project-name swift --os-project-domain-name demo --os-username admin  --os-user-domain-name demo --os-password 000000  post admin_container3

swift --os-auth-url http://controller:5000/v3 --auth-version 3 --os-project-name swift --os-project-domain-name demo --os-username swift  --os-user-domain-name demo --os-password 000000  list

8.配置 swift 對象存儲為 glance 的后端存儲,並查看。

KVM 運維:

1.在物理雲平台查詢雲主機 IaaS 在 KVM 中的真實實例名,在計算節點使用 virsh 命令找到該實例名對應的 domain-id,使用該 domain-id 關閉雲主機 IaaS。

OpenStack server  show  Iaas

virsh  dominfo  instance-00000002

virsh shutdown d7fe7a00-d0d7-4745-8625-6d88805e4ccf

2.在物理雲平台查詢雲主機 IaaS 在 KVM 中的真實實例名,在計算節點使用 virsh 命令找到該實例名對應的 domain-id,使用該 domain-id 重啟雲主機 IaaS。

OpenStack server  show  Iaas

virsh  dominfo  instance-00000002

virsh reboot d7fe7a00-d0d7-4745-8625-6d88805e4ccf

3.此題使用物理 iaas 平台。登錄 compute 節點,使用命令將 KVM 進程綁定到特定的 cpu 上。

ps -e | grep  kvm

taskset -cp 0-5 37902

4.此題使用物理平台。登錄 controller 節點,調優 kvm 的 I/O 調度算法,centos7 默認的是 deadline,使用命令將參數改為 noop 並查詢。

echo noop > /sys/block/sda/queue/scheduler

cat /sys/block/sda/queue/scheduler

5.此題使用物理 iaas 平台。登錄 controller 節點,使用 cat 命令,只查看當前系統有多少大頁,然后設置大頁數量並查看,接着使用命令使配置永久生效,最后將大頁掛載到/dev/hugepages/上。

cat /proc/meminfo | grep HugePages

echo 2000 > /proc/sys/vm/nr_hugepages

sysctl  -w vm.nr_hugepages=2000

mount -t hugetlbfs hugetlbfs /dev/hugepages

6.登錄 192.168.100.10/dashboard,創建一個雲主機。在雲主機所在的物理節點,進入 virsh 交互式界面,調整虛擬機的內存大小,最后使用命令查看該虛擬機的詳情。

virsh

virsh #  setmem instance-00000009  3G --config --live

virsh # setmem instance-00000009  4G --config --live

7.KVM 網絡優化:讓虛擬機訪問物理網卡的層數更少,直至對物理網卡的單獨占領,和物理機一樣的使用物理網卡,達到和物理機一樣的網絡性能。

網絡運維:

1.在控制節點安裝配置 JDK 環境。安裝完成后,查詢 JDK 的版本信息。

mkdir /usr/jdk64

tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/jdk64

vi /etc/profile

export JAVA_HOME=/usr/jdk64/jdk1.8.0_77

export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile

java -version

2.在控制節點安裝配置 Maven 環境。安裝完成后,查詢 Maven 的版本信息。

mkdir  /data

tar -zxvf apache-maven-3.6.2-bin.tar.gz -C /data/

vi /etc/profile

export MAVEN_HOME=/data/apache-maven-3.6.2

export PATH=$MAVEN_HOME/bin:$PATH

source /etc/profile

mvn -v

3.繼續完成 OpenDaylight 的安裝,完成后使用 curl 命令訪問網頁 http://192.168.100.10:8181/index.html。

 

4.創建網橋 br-test,把網卡 enp9s0 從原網橋遷移到 br-test,查詢 openvswitch 的網橋信息和該網橋的端口信息。

5.創建命名空間 ns。

6.在網橋 br-test 中創建內部通信端口 tap。

7.在命名空間 ns 中配置端口 tap 的地址為 172.16.0.10/24。

8.在命名空間中查詢端口 tap 的地址信息。

9.通過 openvswitch 手動運維 openstack 中虛擬主機的通訊信息。

Ceilometer 運維:

1.使用 ceilometer 相關命令,查詢測量值的列表信息。

ceilometer meter-list

2.使用 ceilometer 相關命令,查詢給定名稱的測量值的樣本列表信息。

ceilometer sample-list -m vcpus

3.使用 ceilometer 相關命令,查詢事件列表信息。

ceilometer event-list

4.使用 ceilometer 相關命令,查詢資源列表。

ceilometer resource-list

5.按以下提供的參數及其順序,使用 ceilometer 相關命令創建一個新的基於計算統計的告警。以下題目都需在這個基礎上完成。

(1)名字為:cpu_hi

(2)測量值的名稱為:cpu_util

(3)閾值為:70.0

(4)對比的方式為:大於

(5)統計的方式為:平均值

(6)周期為:600s

(7)統計的次數為:3

(8)轉為告警狀態時提交的 URL 為:'log://'

(9)關鍵字:resource_id=INSTANCE_ID

ceilometer alarm-threshold-create --name high_cpu_util --description 'High CPU Util' --meter-name cpu_util --threshold 70.0  --statistic avg --period 70 --evaluation-periods 2 --alarm-action 'log:// --queryresource id='RESOURCEID''

6.使用 ceilometer 相關命令,查詢用戶的告警列表信息。

ceilometer alarm-list

7.使用 ceilometer 相關命令,查詢給定名稱的告警的歷史改變信息。

ceilometer alarm-history  <ALARM_ID>                                                   ceilometer alarm-history a3cccb1d-fea9-4b56-8eab-a743595b3ef2

8.使用 ceilometer 相關命令,修改給定名稱的告警狀態為不生效。

ceilometer alarm-update --enabled False  <ALARM_ID>               ceilometer alarm-update --enabled False      a3cccb1d-fea9-4b56-8eab-a743595b3ef2                

9.使用 ceilometer 相關命令,刪除給定名稱的告警,並使用命令查看刪除結果。

ceilometer alarm-delete a3cccb1d-fea9-4b56-8eab-a743595b3ef2

ceilometer alarm-list

10.使用Ceilometer相關命令,查看某雲主機有哪些樣本,然后使用Ceilometer 命令查看雲主機的特定樣本信息。

ceilometer sample-list

ceilometer sample-show 372645cc-f442-11e9-bb2b-40a8f0282afc

Heat 運維:

1.使用 heat 相關命令,查看 heat 的服務列表信息。

heat service-list

2.使用 heat 相關命令,查詢給定的詳細資源類型信息。

heat resource-list

3.使用 heat 相關命令,查詢 heat 模板的版本信息。

heat template-version-list

4.使用 heat 相關命令,查詢 heat 最新版本模板的功能列表。

heat template-function-list heat_template_version.2016-04-08

5.使用提供的文件 server.yml 創建名為 heat 的 stack,其中 glance 鏡像使用 centos7,網絡使用 int-net1。查詢 stack 列表信息。

(heat stack-create --template-file server.yml --parameters "image=centos7;network=int-net2" mystack     此題的標准答案,下面答案是為了與server.yml 相符合所適用的      )

heat stack-create -f server.yml -P Image=centos -P Net=int-net2 mystack     //命令不懂看server.yml腳本解釋

heat stack-list

6.現有 server.yml 文件,請使用該 yml 文件創建堆棧 mystack,指定使用鏡 像 centos6.5,使用網絡 int-net1,待創建完成后,查詢堆棧 mystack 的狀態 為 CREATE_COMPLETE 的事件信息。

(heat stack-create --template-file server.yml --parameters "image=centos6.5;network=int-net1" mystack     此題的標准答案,下面答案是為了與server.yml 相符合所適用的      )

heat stack-create -f server.yml -P Image=examimage -P Net=int-net1 mystack

heat event-show mystack server1  8b515891-9a64-441b-abbd-44ec027be47b

7.對提供的 server.yml 模板進行修改,添加所需參數。通過命令使用 heat 模板創建名為test-heat的stack,其中glance鏡像使用centos7,網絡使用int-net1。 查詢 stack 列表信息。

數據加密:

前提:按要求配置靜態 fixed_key,使 cinder 和 nova 組件可以使用加密過的 Block Storage 卷服務,配置好之后,創建一個卷類型叫 luks,並把這個類型配置 為加密類型,cipher 使用“aes-xts-plain64”,key_size 使用“512”,control-location 使用“front-end”,Provider 使用“nova.volume.encryptors.luks.LuksEncryptor”。

openstack-config --set /etc/cinder/cinder.conf keymgr fixed_key HEX_KEY

systemctl restart openstack-cinder-volume

openstack-config --set /etc/nova/nova.conf keymgr  fixed_key HEX_KEY

openstack-service restart nova-compute

cinder type-create luks

cinder type-create luks

cinder encryption-type-create --cipher aes-xts-plain64 --key_size 512 --control_location front-end luks nova.volume.encryptors.luks.LuksEncryptor

1.使用命令查看卷類型列表和加密卷類型列表。

cinder type-list

cinder encryption-type-list

2.使用命令創建兩個卷,前者不加密,后者使用 luks 卷類型加密。然后查看卷列表。

cinder create --display-name volume1  --volume-type type1 20

cinder create --display-name volume2  --volume-type luks 20

openstack volume list

3.使用命令創建兩個卷,前者不加密,后者使用 luks 卷類型加密。使用 nova 命令,創建一個雲主機,鏡像使用提供的 cirros 鏡像,然后使用命令分別將 創建的兩塊雲硬盤 attach 到雲主機上,最后使用 cinder list 查看。

cinder create --display-name volume1  --volume-type type1 20

cinder create --display-name volume2  --volume-type luks 20

nova boot  --flavor docker --image "examimage"  --nic net-id=c5221f87-5f27-4fb0-9e31-08269c104676 vm-test1

nova volume-attach vm-test1 e36e5bd8-167b-466e-829a-6be337761847    (此ID為雲硬盤ID)

nova volume-attach vm-test2 2ae85634-3e8a-4e95-94dc-a050ffa0cb2c

cinder list

4.使用命令創建兩個卷,前者不加密,后者使用 luks 卷類型加密。使用 nova 命令,創建一個雲主機,鏡像使用提供的 cirros 鏡像,然后使用命令分別將創建的兩塊雲硬盤 attach 到雲主機上,最后使用 strings 命令驗證數據卷的加密功能。

cinder create --display-name volume1  --volume-type type1 20

cinder create --display-name volume2  --volume-type luks 20

nova boot  --flavor docker --image "examimage"  --nic net-id=c5221f87-5f27-4fb0-9e31-08269c104676 vm-test1

nova volume-attach vm-test1 e36e5bd8-167b-466e-829a-6be337761847    (此ID為雲硬盤ID)

nova volume-attach vm-test2 2ae85634-3e8a-4e95-94dc-a050ffa0cb2c

負載均衡:

1.安裝完 neutron 網絡后,使用 neutron 命令查詢 lbaas 服務的狀態。(物理環境)

neutron agent-list

2.使用負載均衡創建 nginx 資源池,使用 http 協議,選擇輪循負載均衡方式。 創建完成后添加 vip:nginx-vip,使用 http 協議,端口為 80,HTTP_COOKIE 會話持久化。使用 neutron 命令查詢資源池 nginx 詳細信息、nginx-vip 詳細 信息。

neutron lb-pool-create --name nginx --lb-method ROUND_ROBIN --subnet-id f9df5c0e-94ba-46f2-89f0-d15ace32aa4b --protocol HTTP

3.使用負載均衡創建 nginx 資源池,使用 http 協議,選擇輪循負載均衡方式。 創建完成后添加 vip:nginx-vip,使用 http 協議,端口為 80,HTTP_COOKIE 會話持久化。使用命令查看所創建資源池的 haproxy 配置文件。(物理環境)

防火牆:

1.防火牆規則創建,添加名為 icmp 的規則,拒絕所有源 IP、源端口、目的 IP、目的端口的 ICMP 規則。使用 neutron 命令查詢規則列表信息、詳細信息。(物理環境)

neutron firewall-rule-create  --name icmp --protocol icmp --action reject

neutron firewall-rule-list

neutron firewall-rule-show icmp

2.防火牆創建,創建名為 nginx 的防火牆,添加防火牆規則 nginx-80,放行 所有源 IP、源端口、目的 IP、目的端口為 80 的規則。創建防火牆策略 nginx-policy,添加 nginx-80 規則。使用 neutron 命令查詢防火牆詳細信息、策略詳細信息、規則詳細信息。(物理環境)

neutron firewall-rule-create --name nginx80 --protocol tcp --destination-port 80 --action allow

neutron firewall-policy-create --firewall-rule nginx80  nginx-policy

neutron firewall-create nginx-policy --name nginx

neutron firewall-policy-show nginx-policy

neutron firewall-rule-show nginx80


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM