==openstack==
IaaS 雲計算基礎架構平臺
基礎環境:
1.使用命令行方式設置主機名,防火牆以及 SELinux 設置以下:
(1)設置控制節點主機名 controller;計算節點主機名:compute。
# hostnamectl set-hostname controller
# hostnamectl set-hostname compute
(2)各個節點關閉防火牆,設置開機不啓動。
# systemctl stop firewalld.service
# systemctl disable firewalld.service
(3)設置各個節點 selinux 狀態爲 permissive。
# vi /etc/selinux/config
SELINUX=permissive
2.使用命令查詢控制/計算節點的主機名。
# hostname
3 .使用命令查詢控制/計算節點 selinux 的狀態。
# getenforce
4 .在控制節點上經過 SecureFX 上傳兩個鏡像文件
CentOS-7-x86_64-DVD-1511.iso, XianDian-IaaS-v2.2.iso 到 opt 下,使用命 令建立/opt 下兩個目錄,並將以上鏡像文件分別掛載到上述兩個目錄下,並 使用命令查看掛載的狀況(需顯示掛載的文件系統類型和具體的大小)。
# mkdir /opt/centos /opt/iaas
# mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos
# mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas
# df-Th
5 .在控制節點上經過 SecureFX 上傳兩個鏡像文件
CentOS-7-x86_64-DVD-1511.iso, XianDian-IaaS-v2.2.iso 到 opt 下,經過命 令行建立兩個目錄,並將以上鏡像文件分別掛載到上述兩個目錄下。
# mkdir /opt/centos /opt/iaas
# mount -o loop CentOS-7-x86_64-DVD-1511.iso /opt/centos
# mount -o loop XianDian-IaaS-v2.2.iso /opt/iaas
# df-Th
6 .配置控制節點本地 yum 源文件 local.repo ,搭建 ftp 服務器指向存放 yum 源路徑;配置計算節點 yum 源文件 ftp.repo 使用以前配置的控制節點 ftp 做 爲 yum 源,其中的兩個節點的地址使用主機名錶示。使用 cat 命令查看上述 控制/計算節點的 yum 源全路徑配置文件。
[controller]
在/etc/yum.repos.d建立local.repo源文件
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=file:///opt/iaas-repo
gpgcheck=0
enabled=1
[root@controller ~]# cat /etc/yum.repos.d/local.repo
【compute】
在/etc/yum.repos.d建立ftp.repo源文件
[centos]
name=centos
baseurl=ftp://192.168.100.10/centos
gpgcheck=0
enabled=1
[iaas]
name=iaas
baseurl=ftp://192.168.100.10/iaas-repo
gpgcheck=0
enabled=1
# cat /etc/yum.repos.d/ftp.repo
7. 在控制節點和計算節點分別安裝 iaas-xiandian 軟件包,完成配置文件中基 本變量的配置,並根據提供的參數完成指定變量的配置。
# yum install -y iaas-xiandian
# vi /etc/xiandian/openrc.sh
# 傳送命令scp /etc/xiandian/openrc.sh 192.168.100.20:/etc/xiandian/
Mysql 搭建:
1.根據平臺安裝步驟安裝至數據庫服務,使用一條命令安裝提供的 iaas-install-mysql.sh 腳本並查看腳本運行的時間。
# time /usr/local/bin/iaas-install-mysql.sh
2.使用 root 用戶登陸數據庫,查詢數據庫列表信息。
# mysql -uroot -p000000
MariaDB [(none)]> show databases;
3.使用 root 用戶登陸數據庫,使用 mysql 數據庫,查詢全部表的信息。
# mysql -uroot -p000000
MariaDB [(none)]> show databases;
MariaDB [(none)]> use mysql;
MariaDB [mysql]> show tables;
4.使用 root 用戶登陸數據庫,使用 mysql 數據庫,查詢全部表的信息,並查 詢表 user 中的特定的信息。
MariaDB [mysql]> select host,user,password from user;
Keystone 搭建:
1.按要求安裝完 keystone 腳本後,在數據庫中查詢 keystone 用戶的遠程訪問 權限信息。
iaas-install-keystone.sh
# mysql -uroot -p000000
MariaDB [(none)]> use keystone;
MariaDB [keystone]> desc access_token;
2.列出數據庫 keystone 中的全部表。
# mysql -uroot -p000000
MariaDB [(none)]> use keystone;
MariaDB [keystone]> show tables;
3.使用相關命令,查詢角色列表信息。
# source /etc/keystone/admin-openrc.sh 生效
# openstack role list
4.使用相關命令,查詢 admin 項目信息。
# openstack project show admin
5.使用相關命令,查詢用戶列表信息。
# openstack user list
6.使用相關命令,查詢 admin 用戶詳細信息。
# openstack user show admin
7.使用相關命令,查詢服務列表信息。
# openstack service list
8.使用一條命令將 keystone 的數據庫導出爲當前路徑下的 keystone.sql 文件, 並使用命令查詢文件 keystone.sql 的大小。
# mysqldump -uroot -p000000 keystone > keystone.sql
# du -h keystone.sql
Glance 搭建:
1.根據平臺安裝步驟安裝至鏡像服務,在控制節點使用提供的腳本 iaas-install-glance.sh 安裝 glance 組件。使用鏡像文件
CentOS_7.2_x86_64_XD.qcow2 建立 glance 鏡像名爲 CentOS7.2,格式爲 qcow2。
# iaas-install-glance.sh
# source admin-openrc.sh (上傳鏡像前必須生效)
# glance image-create --name "CentOS7.0" --disk-format qcow2 --container-format bare --progress < /opt/images/centos_7-x86_64_xiandian.qcow2
2.使用相關命令查詢鏡像列表,並查詢 CentOS7.2 鏡像的詳細信息。
# glance image-list
# glance image-show 30ea40cb-62b6-4866-90bd-3ec7ef3d79eb (這一串數字表明此鏡像的id號)
3.使用相關命令,在一條命令中查詢 glance 組件中全部服務的狀態信息。
# systemctl status openstack-glance-registry.service openstack-glance-api.service
Nova 搭建:
1.根據平臺安裝步驟安裝至 nova 計算服務,在控制節點使用提供的腳本
iaas-install-nova-controller.sh、在計算節點使用提供的腳本 iaas-install-nova-compute.sh,安裝 nova 組件。
# iaas-install-nova-controller.sh
# iaas-install-nova-compute.sh
2.使用相關命令查詢計算節點虛擬機監控器的狀態。
# nova hypervisor-list
+----+---------------------+-------+---------+
| ID | Hypervisor hostname | State | Status |
+----+---------------------+-------+---------+
| 1 | compute | up | enabled |
| 2 | controller | up | enabled |
+----+---------------------+-------+---------+
3.使用相關命令查詢 nova 服務狀態列表。
# nova service-list
4.使用相關命令查詢網絡的列表信息。
# nova network-list
5.使用相關命令查詢 nova 資源使用狀況的信息。
# nova quota-show
# nova host-list
# nova host-describe compute
Neutron 搭建:
1.根據平臺安裝步驟安裝至 neutron 網絡服務,在控制節點和計算節點經過 提供的 neutron 腳本,完成 neutron 服務在控制節點和計算節點的安裝,並配 置爲 GRE 網絡。
# iaas-install-neutron-controller.sh
# iaas-install-neutron-compute.sh
# iaas-install-neutron-controller-gre.sh
# iaas-install-neutron-compute-gre.sh
2.根據平臺安裝步驟安裝至 neutron 網絡服務,在控制節點和計算節點經過 提供的 neutron 腳本,完成 neutron 服務在控制節點和計算節點的安裝,並配
置爲 VLAN 網絡。
# iaas-install-neutron-controller-vlan.sh
# iaas-install-neutron-compute-vlan.sh
3.使用相關命令查詢網絡服務的列表信息,並如下圖的形式打印出來。
# neutron agent-list | cut - d"|" -f3,8,6
4.使用相關命令查詢網絡服務的列表信息中的「binary」一列。
# neutron agent-list | cut -c 119-160
# neutron agent-list | cut -d "|" -f 8
# mysql -uroot -p000000
MariaDB [(none)]> use neutron;
MariaDB [neutron]> show tables;
MariaDB [neutron]> select 'binary' from agents;
5.使用相關命令查詢網絡服務 DHCP agent 的詳細信息。
# mysql -uroot -p000000
MariaDB [(none)]> use neutron;
MariaDB [neutron]> show tables;
MariaDB [neutron]> select id from agents where agent_type= 'DHCP agent';
[root@controller ~]# neutron agent-show 8631b6d5-1b70-4de1-a7d5-73b2d2a446ed
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。建立雲主機內
部網絡 int-net1,子網爲 int-subnet1,雲主機子網 IP 可用網段爲 10.0.0.100 ~ 10.0.0.200,網關爲 10.0.0.1;建立雲主機內部網絡 int-net2,子網爲 int-subnet2, 雲主機子網 IP 可用網段爲 10.0.1.100 ~ 10.0.1.200,網關爲 10.0.1.1。添加名 爲 ext-router 的路由器,添加網關在 ext-net 網絡,添加內部端口到 int-net1 網絡,完成內部網絡 int-net1 和外部網絡的連通。
# neutron net-create --router:external=true ext-net1
# neutron subnet-create --name ext-subnet1 --allocation-pool start=192.168.200.100,end=192.168.200.200 --gateway 192.168.200.1 --enable-dhcp --ip-version 4 ext-net 192.168.200.0/24
# neutron net-create int-net1
# neutron subnet-create --name int-subnet1 --allocation-pool start=10.0.0.100,end=10.0.0.200 --gateway 10.0.0.1 --ip-version 4 int-net1 10.0.0.0/24
# neutron net-create int-net2
# neutron subnet-create --name int-subnet2 --allocation-pool start=10.0.1.100,end=10.0.1.200 --gateway 10.0.1.1 --ip-version 4 int-net2 10.0.1.0/24
# neutron router-create ext-router
# neutron router-gateway-set 8d8ea5f2-895d-4e78-a40b-d444097c14dc//上一條建立路由器的命令執行後的列表中能夠看到該路由器的id ea3bf9b6-bb5e-400c-ae07-18755145268//使用neutron net-list命令查看name爲ext-net1的網絡id
# neutron router-interface-add 8d8ea5f2-895d-4e78-a40b-d444097c14dc 4c5519fc-377b-4746-9aea-4dc93c4265b0//使用neutron net-list命令查看name爲ext-net1的sub-net網絡id
9.使用相關命令查詢所建立路由器的詳細信息。
# neutron router-list
# neutron router-show 46c33de5-a148-46a2-9223-72eb6e56cb5c //路由器的id號
10.使用相關命令查詢所建立子網的列表信息,並查看內網子網的詳細信息。
# neutron subnet-list
# neutron subnet-show 5130a772-60f9-4492-a9ea-2c3002812ba9
//子網的id號
11.使用相關命令查詢所建立網絡的列表信息。
# neutron net-list
Dashboard 搭建:
1 .經過腳本 iaas-install-dashboard.sh 安裝 dashboard 組件,使用 curl 命令查詢
網址 http://192.168.100.10/dashboard。
# iaas-install-dashboard.sh
# curl -i http://192.168.100.10/dashboard
2 .經過腳本 iaas-install-dashboard.sh 安裝 dashboard 組件,經過 chrome 瀏覽 器使用 admin 帳號登陸雲平臺網頁,進入管理員菜單中的系統信息頁面。
http://192.168.100.10/dashboard/admin/info/
Heat 搭建:
1.在控制節點使用提供的腳本 iaas-install-heat.sh 安裝 heat 組件。
# iaas-install-heat.sh
2.使用 heat 相關命令,查詢 stack 列表。
# heat stack-list
3 .從考試系統附件下載 server.yml 文件,經過命令行使用 server.yml 文件創 建棧 mystack,指定配置參數爲鏡像 CentOS7.二、網絡 int-net2。
# glance image-list
# nova network-list
# heat stack-create -f server.yml -P ImageId=CentOS7.2 -P NetID=int-net2 mystack(註釋)
# heat stack-create -f server.yml -P 0d234b90-f11c-4cf6-b298-9ecbb8e54b34=CentOS7.2 -P ce494d87-a05c-4575-bcba-d79c3bedae8d=int2-net mystack
4 .查詢棧 mystack 狀態爲 CREATE_COMPLETE 的事件詳細信息。
# heat event-list mystack
5.查詢棧 mystack 的事件列表信息。
# heat event-show mystack
Trove 搭建:
注意:安裝trove時必須安裝完cinder和swift
1 .在控制節點配置提供的腳本 iaas-install-trove.sh,使其鏈接的網絡爲 int-net1, 安裝數據庫 trove 服務,完成 trove 服務在控制節點的安裝。完成後查詢全部 的數據庫實例列表。
# iaas-install-trove.sh
# mysql -uroot -p000000
MariaDB [(none)]> use trove;
MariaDB [(none)]> show databases;
2 .在控制節點上傳提供的 MySQL_5.6_XD.qcow2 到系統內,並建立 mysql 的數據庫存儲類型,使用上傳的鏡像更新該數據庫類型的版本信息和鏡像信 息。
# glance image-create --name "mysql-5.6" --disk-format qcow2 --container-format bare --progress < /opt/images/MySQL_5.6_XD.qcow2
# trove-manage datastore_update mysql ''
# glance_id=$(glance image-list | awk '/ mysql-5.6 / { print $2 }')
# trove-manage datastore_version_update mysql mysql-5.6 mysql ${glance_id} '' 1
3.在控制節點查建立名稱爲 mysql-1,大小爲 5G,數據庫名稱爲 myDB、遠 程鏈接用戶爲 user,密碼爲 r00tme,類型爲 m1.small 完成後查詢 trove 列表 信息,並查詢 mysql-1 的詳細信息。
# FLAVOR_ID=$(openstack flavor list | awk '/ m1.small / { print $2 }')
# trove create mysql-1 ${FLAVOR_ID} --size 5 --databases myDB --users user:r00tme --datastore_version mysql-5.6 --datastore mysql
# trove list
4.在控制節點查詢全部數據的版本信息,完成後查詢 mysql 數據庫的詳細信 息。
.
# mysql -uroot -p000000
> select version();
任務2、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 admin
3. 使用 rabbitmqctl 命令查詢全部用戶列表。
# rabbitmqctl list_users
4.使用命令對 xiandian-admin 用戶進行受權,對本機全部資源可寫可讀權限。
# rabbitmqctl set_permissions -p / 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 set_permissions -p / xiandian-admin ".*" ".*" ".*"
# rabbitmqctl list_user_permissions xiandian-admin
8.使用 rabbitmqctl 命令,查看隊列信息,所包含的信息包括 name,arguments, messages,memory。
# rabbitmqctl list_queues
9.經過修改配置文件的方式修改 memcache 的緩存大小,使用 ps 相關命令查
詢 memcahce 進程的信息,將修改的配置文件全路徑文件名、修改的參數以 及相應的參數值、查詢 memcache 進程信息。
# vi /etc/sysconfig/memcached
# ps -ef | grep memcached
10.構建 rabbitmq 集羣,並對集羣進行運維操做。
Mysql 運維:
1.使用數據庫的相關命令查詢數據庫的編碼方式。
# mysql -uroot -p000000
MariaDB [(none)]> show variables like 'character_set_database';
2.經過 mysql 相關命令查詢當前系統時間。
MariaDB [(none)]> select now();
3.經過 mysql 相關命令,查看當前是什麼用戶。
MariaDB [(none)]> select user();
4.經過 mysql 相關命令,查看 mysql 的默認存儲引擎信息,並查看 mysql 支 持的存儲引擎有哪些。
MariaDB [(none)]> show variables like 'default_storage_engine';
MariaDB [(none)]> show engines;
5 .進入數據庫 keystone,經過 user 表和 local_user 表作聯合更新,u 用來作 user 表別名,lu 用來作 local_user 表別名,sql 語句更新 neutron 用戶的 enabled 狀態爲 0, 更新語句中 user 表在 local_user 前面。
MariaDB [(none)]> use keystone;
MariaDB [keystone]> update user u,local_user lu set u.enabled=0 where u.id=lu.user_id and lu.name='neutron';
6 .進入數據庫 keystone,經過 user 表和 local_user 表作聯合查詢,u 用來作 user 表別名,lu 用來作 local_user 表別名,兩表聯合查詢 nova 用戶的 enabled 狀態,查詢語句中 user 表在 local_user 前面。
MariaDB [(none)]> use keystone;
MariaDB [keystone]> select u.enabled from user u,local_user lu where u.id=lu.user_id and lu.name='nova';
7.進入數據庫,建立本地用戶 examuser,密碼爲 000000,而後查詢 mysql 數據庫中的 user 表的特定字段。最後賦予這個用戶全部數據庫的「查詢」「刪 除」「更新」「建立」的本地權限。
# mysql -uroot -p000000
MariaDB [(none)]> use mysql;
MariaDB [mysql]> create user 'examuser'@'localhost' identified by '000000';
MariaDB [mysql]> select Host,User,Password from user where User='examuser';
MariaDB [mysql]> grant select,insert,update,delete on *.* to 'examuser'@'localhost' identified by '000000';
8.登陸 iaas 雲主機,登陸 mysql 數據庫,使用 keystone 數據庫,查詢本地用 戶表中的全部信息,並按照 id 的降序排序。(關於數據庫的命令均使用小 寫)
# mysql -uroot -p000000
MariaDB [(none)]> use keystone;
MariaDB [keystone]> select * from local_user order by id desc;
MongoDB 運維
1.登陸 iaas 雲主機,登陸 MongoDB 數據庫,查看數據庫,使用 ceilometer 數據庫,查看此數據庫下的集合,並查詢此數據庫用戶,最後建立一個數據 庫並查詢。
[root@controller ~]# mongo //登陸數據庫
> show dbs; //查看數據庫
> use ceilometer; //切換數據庫
> show collections; //查看集合
> show users; //查看用戶
> use wjm
switched to db wjm //建立名爲wjm的數據庫
> db.createCollection('wjm')
{ "ok" : 1 } // 查詢建立的數據庫
2.登陸 iaas 雲主機,登陸 MongoDB 數據庫,新建一個數據庫,使用這個數 據庫,向集合中插入數據,最後查詢特定的一類數據。
[root@controller ~]# mongo //登陸數據庫
> use dancy //新建名爲dancy的數據庫
switched to db dancy
> db.user.insert({"name": "dancy", "age": 23}) //向集合插入數據
WriteResult({ "nInserted" : 1 })
> db.user.find() //查看已插入集合的全部文檔: db.user.find() , find方法裏面能夠傳遞參數(查詢條件)
{ "_id" : ObjectId("5cad7de3136f9fa15d2a9a8e"), "name" : "dancy", "age" : 23 }
3.登陸 iaas 雲主機,登陸 MongoDB 數據庫,新建一個數據庫,使用這個數 據庫,向集合中插入數據,插入完畢後,數據進行修改,修改完後,查詢修 改完的數據。
> use cyw; //建立數據庫
switched to db cyw
> db.createCollection("yunjisuan");
{ "ok" : 1 }
>db.yunjisuan.insert({"name":"chengyinwu","age":20,"jiguan":"qingyang"}); //插入數據
WriteResult({ "nInserted" : 1 })
> db.yunjisuan.insert({"name":"zhufanyu","age":20});
WriteResult({ "nInserted" : 1 })
> db.yunjisuan.update({"name":"zhufanyu"},{"age":21}); //更新數據
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.yunjisuan.find() //查詢修改完的數據
{ "_id" : ObjectId("5cad8b903345be69b178b3d9"), "name" : "chengyinwu", "age" : 20, "jiguan" : "qingyang" }
{ "_id" : ObjectId("5cad8bbf3345be69b178b3da"), "age" : 21 }
4.登陸 iaas 雲主機,登陸 MongoDB 數據庫,新建一個數據庫,使用這個數 據庫,向集合中插入數據(其中某一條數據插入兩遍),插入數據完畢後, 發現某條數據多插入了一遍須要刪除,請使用命令刪除多餘的一行數據,最 後將數據庫刪除。
> use zhangsan //新建數據庫
switched to db zhangsan
> db.createCollection("chengxuyuan")
{ "ok" : 1 }
> db.chengxuyuan.insert({"name":"yihao","age":100});
WriteResult({ "nInserted" : 1 }) //插入數據(相同)
> db.chengxuyuan.insert({"name":"yihao","age":100});
WriteResult({ "nInserted" : 1 })
> db.chengxuyuan.remove({"name":"yihao"})
WriteResult({ "nRemoved" : 2 }) //刪除多餘一行數據
> db.dropDatabase() // 刪除數據庫
{ "dropped" : "zhangsan", "ok" : 1 }
5.登陸 iaas 雲主機,登陸 MongoDB 數據庫,新建一個數據庫,使用這個數 據庫,向集合中插入數據,插入完畢後,查詢集合中的數據並按照某關鍵字 的升序排序。
> use cyw; //建立數據庫
switched to db cyw
> db.createCollection("yunjisuan");
{ "ok" : 1 }
>db.yunjisuan.insert({"name":"chengyinwu","age":20,"jiguan":"qingyang"}); //插入數據
WriteResult({ "nInserted" : 1 })
> db.yunjisuan.insert({"name":"zhufanyu","age":20});
WriteResult({ "nInserted" : 1 })
> db.yunjisuan.update({"name":"zhufanyu"},{"age":21}); //更新數據
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.yunjisuan.find().sort({age:1}) //按照關鍵字age升序
6.登陸 iaas 雲主機,登陸 MongoDB 數據庫,新建一個數據庫,使用這個數 據庫,向集合中批量插入多條數據,使用 for 循環,定義變量 i=1,插入"_id" : i,"name" : "xiaoming", "age" : "21"。插入數據完畢後,統計集合中的數據 條數,而後查詢集合中知足特定條件的結果。
> use dhd;
switched to db dhd
> for(var i=1;i<10;i++){db.dhd.insert({_id:i,name:"xiaoming",age:21})}
WriteResult({ "nInserted" : 1 })
> db.dhd.find();
{ "_id" : 1, "name" : "xiaoming", "age" : 21 }
{ "_id" : 2, "name" : "xiaoming", "age" : 21 }
{ "_id" : 3, "name" : "xiaoming", "age" : 21 }
{ "_id" : 4, "name" : "xiaoming", "age" : 21 }
{ "_id" : 5, "name" : "xiaoming", "age" : 21 }
{ "_id" : 6, "name" : "xiaoming", "age" : 21 }
{ "_id" : 7, "name" : "xiaoming", "age" : 21 }
{ "_id" : 8, "name" : "xiaoming", "age" : 21 }
{ "_id" : 9, "name" : "xiaoming", "age" : 21 }
7.登陸 iaas 雲主機,使用 mongoimport 命令,將給定的文件,導入至 MongoDB 下的相應數據庫中的指定集合中。導入後登陸 MongoDB 數據庫。查詢集合 中知足特定條件的結果。注:PPG--場均得分;PTS--總得分;FG%--投籃命 中率;3P%--三分命中率;MPG--平均上場時間
mongoimport -d basketball -c player test.dat
use basketball
db.player.find({"MPG":{$gt:"35"},"PPG":{$gte:"20"},"PPG":{$lte:"25"}}).sort({"PTS":-1})
Keystone 運維:
1 .在 keystone 中建立用戶 testuser,密碼爲 password。
# source /etc/keystone/admin-openrc.sh
# 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 值。
[root@controller ~]# openstack token issue
5. 使用命令查詢認證服務的查詢端點信息。
[root@controller ~]# mysql -uroot -p000000
MariaDB [(none)]> use keystone;
MariaDB [keystone]> select * from service; //查詢服務
MariaDB [keystone]> select * from endpoint; //查詢端點
6.使用命令列出認證服務目錄。
[root@controller ~]# openstack service list
7 .在 keystone 中建立用戶 testuser,密碼爲 password,建立好以後,使用命 令修改 testuser 密碼爲 000000,並查看 testuser 的詳細信息。
# source /etc/keystone/admin-openrc.sh
# openstack user create --domain demo --password password testuser
# openstack user set --password 000000 testuser
[root@controller ~]# openstack user list
[root@controller ~]# openstack user show b4c59d24268c445da8e69ccb1ff826d8
8 .在 keystone 中建立用戶 testuser,密碼爲 password,建立好以後,使用命 令修改 testuser 的狀態爲 down,並查看 testuser 的詳細信息。
# source /etc/keystone/admin-openrc.sh
# openstack user create --domain demo --password password testuser
9 .完成 keystone 證書加密的 HTTPS 服務提高。
[root@controller ~]# keystone-manage ssl_setup
Glance 運維:
1.使用 glance 相關命令上傳 CentOS_6.5_x86_64_XD.qcow2 鏡像到雲主機中, 鏡像名爲 testone,而後使用 openstack 相關命令,並查看鏡像的詳細信息。
# source /etc/keystone/admin-openrc.sh
# glance image-create –name 「testone」 –disk-format qcow2 –container-format bare –progress < /opt/images/ CentOS_6.5_x86_64_XD.qcow2
# openstack image list
# openstack image show id號
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 < /opt/images/ CentOS_6.5_x86_64_XD.qcow2
# glance image-create –name 「testtwo」 –disk-format qcow2 –container-format bare –progress < /opt/images/ CentOS_6.5_x86_64_XD.qcow2
# openstack image list
# openstack image show id號
3.登陸 iaas 雲主機,使用 glance 相關命令,上傳鏡像,源使用 CentOS_6.5_x86_64_XD.qcow2,名字爲 testone,而後使用 openstack 命令修 改這個鏡像名改成 examimage,改完後使用 openstack 命令查看鏡像列表。
# source /etc/keystone/admin-openrc.sh
# glance image-create --name "testone" --disk-format qcow2 --container-format bare --progress < /opt/images/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 < /opt/images/CentOS_6.5_x86_64_XD.qcow2
# openstack image list
[root@controller ~]# openstack image set examimage --tag lastone
[root@controller ~]# openstack image show 315f8ebc-8ffb-43a2-8102-b84a40fafbaf
5.經過一條組合命令獲取鏡像列表信息,該組合命令包含:
(1)使用 curl 命令獲取鏡像列表信息;
(2)使用 openstack 相關命令獲取的 token 值;
(3)僅使用 awk 命令且用「|」做爲分隔符獲取 token 具體參數值。
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]#curl -i -H "X-Auth-Token:`openstack token issue | awk -F '|' ' / id / {print $3}'`" http://controller:9292/v2/images
6.經過一條組合命令獲取該鏡像詳細信息,該組合命令要求:
(1)不能使用任何 ID 做爲參數;
(2)使用 openstack 相關命令獲取詳細信息;
(3)使用 glance 相關命令獲取鏡像對應關係;
(4)僅使用 awk 命令且用「|」做爲分隔符獲取 ID 值。
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]#curl -i -H "X-Auth-Token:`openstack token issue | awk -F '|' ' / id / {print $3}'`" http://controller:9292/v2/images
7.查看 glance 配置文件,找到默認的鏡像存儲目錄,進入到存儲目錄中,使 用 qemu 命令查看任意的一個鏡像信息。
# cat /etc/glance/glance-api.conf
Nova 運維:
1.修改雲平臺中默認每一個 tenant 的實例注入文件配額大小,並修改。
# nova quota-class-show default
# nova quota-class-update --instances 20 default
# nova quota-class-show default
2.經過 nova 的相關命令建立雲主機類型,並查詢該雲主機的詳細信息。
# nova flavor-create exam 1234 1024 20 2
# nova flavor-show 1234
3.使用 nova 相關命令,查詢 nova 全部服務狀態。
# nova service-list
4.修改雲平臺中默認每一個 tenant 的實例配額個數並查詢。
# nova quota-class-show default
# nova quota-class-update --instances 20 default
# nova quota-class-show default
5.使用 nova 相關命令,查詢 nova 全部的監控列表,並查看監控主機的詳細 信息。
[root@controller ~]# nova hypervisor-list
[root@controller ~]# nova hypervisor-show controller
6.使用 grep 命令配合-v 參數控制節點/etc/nova/nova.conf 文件中有效的命令行覆蓋輸出到/etc/novaback.conf 文件。
# grep -v '#' /etc/nova/nova.conf > /etc/novaback.conf
7.此題可以使用物理 iaas 環境,使用 nova 相關命令,啓動一個雲主機,雲主 機類型使用 m1.small,鏡像使用 CentOS_6.5_x86_64_XD.qcow2,雲主機名 稱爲 examtest。
[root@controller ~]# nova start examtest
8.此題可以使用物理 iaas 環境,使用 openstack 相關命令,啓動一個雲主機, 雲主機類型使用 m1.small,鏡像使用 centos6.5,雲主機名稱爲 xxxtest,並 使用 openstack 命令查看此雲主機的詳細信息。
[root@controller ~]# openstack image list
9.此題可以使用物理環境,登陸 dashboard 界面,建立一臺虛擬機,將該虛擬 機使用手動遷移的方式,遷移至另外一個計算節點並查看。(controller 既是 控制也是計算)
[root@compute~]#cd/var/lib/nova/instances/
[root@computeinstances]#ll
[root@computeinstances]#scp-r62b6ab26-7040-4a04-9456-23549a2a0ddb/root@controller:/var/lib/nova/instances/
[root@controller~]#cd/var/lib/nova/instances/
[root@controllerinstances]#ll
[root@controllerinstances]#chown-Rnova:nova62b6ab26-7040-4a04-9456-23549a2a0ddb/
MariaDB[(none)]>showdatabases;
MariaDB[(none)]>usenova;
MariaDB[nova]>updateinstancessethost='controller',node='controller'whereuuid='62b6ab26-7040-4a04-9456-23549a2a0ddb';
[root@controllerinstances]#systemctlrestartopenstack-nova-compute
[root@controllerinstances]#novastart62b6ab26-7040-4a04-9456-23549a2a0ddb
10.登陸 iaas-all 雲主機,修改 nova 後端默認存儲位置。
[root@controller ~]# cd /var/lib/nova/instances/
11.修改相應的配置文件,使得 openstack 雲主機的工做負載實現所要求的性 能、可靠性和安全性。
# /etc/neutron/neutron.conf
12.配置 NFS 網絡存儲做爲 nova 的後端存儲。
Cinder 運維:
1.使用分區工具,對/dev/vda 進行分區,建立一個分區,使用命令將剛建立 的分區建立爲物理卷,而後使用命令查看物理卷信息。
[root@cyw ~]# fdisk /dev/vda
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): p
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-83873316, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-83873316, default 83873316): 10240
Partition 1 of type Linux and of size 4 MiB is set
2.使用命令查看當前卷組信息,使用命令建立邏輯卷,查詢該邏輯卷詳細信 息。
Fdisk -l
3.建立一個卷類型,而後建立一塊帶這個卷類型標識的雲硬盤,查詢該雲硬 盤的詳細信息。
4.經過命令行建立雲硬盤,將其設置爲只讀,查詢該雲硬盤的詳細信息。
5.經過命令行建立雲硬盤,查詢該雲硬盤的詳細信息。
6.使用命令,對/dev/vda 分區,並把這個分區建立成物理卷,而後再把這個 物理卷加入到 cinder-volumes 卷組中,查看卷組詳情。
7.使用命令建立一個雲硬盤,而後經過 lvm 相關命令查看該雲硬盤的詳細信 息,最後經過 cinder 命令對這塊雲硬盤進行擴容操做,並查看詳細信息。
8.登陸 iaas 雲主機,使用命令對硬盤/dev/vda 進行分區,將這個分區建立爲 物理卷並使用 pvs 查看,而後將這個物理卷添加到 cinder-volumes 卷組中並 使用 vgs 查看。
9 .登陸 controller 節點,建立雲主機,鏡像使用 centos6.5,flavor 使用 m1.medium,配置好網絡。而後給雲主機 iaas 掛載一個雲硬盤,使用這塊雲 硬盤,把雲主機 iaas 的根目錄擴容,最後在 iaas 雲主機上用 df -h 命令查看。
[root@controller ~]# lsblk
[root@controller ~]# vgs
[root@controller ~]# lvs
[root@controller ~]# pvcreate /dev/vda3
[root@controller ~]# vgextend VolGroup /dev/vda3
[root@controller ~]# vgs
[root@controller ~]# lVextend -L +5G /dev/mapper/VolGroup-lv_root
[root@controller ~]# df -h
[root@controller ~]# resize2fs /dev/mapper/volGroup-lv_root
[root@controller ~]# df -h
10 .登陸「iaas-all」雲主機,使用命令對磁盤/dev/vda 進行分區,而後使用命令, 建立 raid 磁盤陣列,最後將 md0 格式化爲 ext4 格式並查看該磁盤陣列的 UUID。
12 .登陸「iaas-all」雲主機,查看 cinder 後端存儲空間大小,將 cinder 存儲空間 擴容 10 個 G 大小,最後查看 cinder 後端存儲空間大小。
[root@xiandian~]#fdisk/dev/vda
Command(mforhelp):n
Select(defaultp):p
Lastsector,+sectorsor+size{K,M,G}(104857600-209715199,default209715199):+10G
Command(mforhelp):w
root@xiandian~]#lsblk
[root@xiandian~]#partprobe
[root@xiandian~]#lsblk
[root@xiandian~]#pvcreate/dev/vda2
Device/dev/vda2notfound(orignoredbyfiltering).
[root@xiandian~]#vi/etc/lvm/lvm.conf
[root@xiandian~]#pvcreate/dev/vda2
Physicalvolume"/dev/vda2"successfullycreated
[root@xiandian~]#pvs
PVVGFmtAttrPSizePFree
/dev/vda2lvm2---10.00g10.00g
/dev/vda7cinder-volumeslvm2a--4.75g4.75g
[root@xiandian~]#vgextendcinder-volumes/dev/vda2
Volumegroup"cinder-volumes"successfullyextended
[root@xiandian~]#vgs
VG#PV#LV#SNAttrVSizeVFree
cinder-volumes200wz--n-14.74g14.74g
13 .修改相應的配置文件,增長 cinder backup 後端備份。
14.配置 NFS 網絡存儲做爲 cinder 的後端存儲。
Swift 運維:
1.使用命令查看 swift 服務狀態,而後建立一個容器,並使用命令查看容器 列表。
[root@controller ~]# source /etc/keystone/admin-openrc.sh
[root@controller ~]# swift stat //查看服務狀態
[root@controller ~]# swift post test //建立容器
[root@controller ~]# swift list --lh //查看容器列表
2.使用 swift 相關命令,建立一個容器,而後使用命令查看該容器的狀態。
[root@controller ~]# swift post test //建立容器
[root@controller ~]# swift stat //查看服務狀態
3.使用 swift 相關命令,查詢 swift 對象存儲服務能夠存儲的單個文件大小的 最大值。
4.使用 swift 相關命令,建立一個容器,而後往這個容器中上傳一個文件(文 件能夠自行建立),上傳完畢後,使用命令查看容器。
[root@controller ~]# swift post test //建立容器
[root@controller ~]# dd if=/dev/zero of=/tmp/example-500Mb bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 0.380656 s, 1.4 GB/s
[root@controller ~]# swift list --lh //查看容器列表
5.登陸 iaas 雲主機,使用 openstack 命令,建立一個容器,並查詢,上傳一 個文件(可自行建立)到這個容器中,並查詢。
[root@controller ~]# swift post test //建立容器
[root@controller ~]# dd if=/dev/zero of=/tmp/example-500Mb bs=1M count=500
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 0.380656 s, 1.4 GB/s
[root@controller ~]# swift list --lh //查看容器列表
6.登陸 IaaS 雲主機,建立 swifter 用戶,並建立 swift 租戶,將 swifter 用戶規 劃到 swift 租戶下,賦予 swifter 用戶使用 swift 服務的權限,並經過 url 的方 式使用該用戶在 swift 中建立容器。
7.使用 url 的方式,用 admin 帳號在 swift 中建立容器,建立完以後用 url 的 方式查看容器列表。
8.配置 swift 對象存儲爲 glance 的後端存儲,並查看。
KVM 運維:
1.在物理雲平臺查詢雲主機 IaaS 在 KVM 中的真實實例名,在計算節點使用
virsh 命令找到該實例名對應的 domain-id,使用該 domain-id 關閉雲主機 IaaS。
2.在物理雲平臺查詢雲主機 IaaS 在 KVM 中的真實實例名,在計算節點使用
virsh 命令找到該實例名對應的 domain-id,使用該 domain-id 重啓雲主機 IaaS。
3.此題使用物理 iaas 平臺。登陸 compute 節點,使用命令將 KVM 進程綁定 到特定的 cpu 上。
[root@controller ~]# ps -e|grep kvm
4.此題使用物理平臺。登陸 controller 節點,調優 kvm 的 I/O 調度算法,centos7 默認的是 deadline,使用命令將參數改成 noop 並查詢。
5.此題使用物理 iaas 平臺。登陸 controller 節點,使用 cat 命令,只查看當前
最後將大頁掛載到/dev/hugepages/上。
[root@xiandian ~]# echo 20 > /proc/sys/vm/nr_hugepages
[root@xiandian ~]# grep Huge /proc/meminfo
AnonHugePages: 1067008 kB
HugePages_Total: 20
HugePages_Free: 20
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB6.登陸 192.168.100.10/dashboard,建立一個雲主機。在雲主機所在的物理節 點,進入 virsh 交互式界面,調整虛擬機的內存大小,最後使用命令查看該 虛擬機的詳情。
[root@controller~]#virsh
virsh#dominfoinstance-000000fd
virsh#setmeminstance-000000fd5242880
virsh#dominfoinstance-000000fd
7.KVM 網絡優化:讓虛擬機訪問物理網卡的層數更少,直至對物理網卡的 單獨佔領,和物理機同樣的使用物理網卡,達到和物理機同樣的網絡性能。
網絡運維:
1.在控制節點安裝配置 JDK 環境。安裝完成後,查詢 JDK 的版本信息。
[root@controller ~]# java -version
2.在控制節點安裝配置 Maven 環境。安裝完成後,查詢 Maven 的版本信息。
[root@controller ~]# java -version
3 .繼續完成 OpenDaylight 的安裝,完成後使用 curl 命令訪問網頁
http://192.168.100.10:8181/index.html。
[root@controller ~]# 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 相關命令,查詢測量值的列表信息。
[root@controller ~]# ceilometer meter-list
2.使用 ceilometer 相關命令,查詢給定名稱的測量值的樣本列表信息。
[root@controller ~]# ceilometer meter-list -q resource_id=a55e5bda-2a94-471e-a773-3ed65259b85b
3.使用 ceilometer 相關命令,查詢事件列表信息。
[root@controller ~]# ceilometer event-list
4.使用 ceilometer 相關命令,查詢資源列表。
[root@controller ~]# 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 cpu_hi --meter-name cpu_util --threshold 70.0 --comparison -operator gt --statistic avg --period 600 --evaluqtion-periods 3 --alarm-action 'log://' --query resource_id=INSTANCE_ID
6.使用 ceilometer 相關命令,查詢用戶的告警列表信息。
[root@controller ~]# ceilometer alarm-list
7.使用 ceilometer 相關命令,查詢給定名稱的告警的歷史改變信息。
[root@controller ~]# ceilometer alarm-history (id號)
8.使用 ceilometer 相關命令,修改給定名稱的告警狀態爲不生效。
[root@controller ~]# ceilometer alarm-update --enabled False
9.使用 ceilometer 相關命令,刪除給定名稱的告警,並使用命令查看刪除結 果。
# ceilometer alarm-delete -a 後跟id
10.使用 Ceilometer 相關命令,查看某雲主機有哪些樣本,而後使用 Ceilometer
命令查看雲主機的特定樣本信息。
Heat 運維:
1.使用 heat 相關命令,查看 heat 的服務列表信息。
[root@controller ~]# heat service-list
2.使用 heat 相關命令,查詢給定的詳細資源類型信息。
[root@controller ~]# heat resource-type-list //列出可用的資源類型
[root@controller ~]# heat resource-type-show OS::Nova::ServerGroup //查詢給定的資源
3.使用 heat 相關命令,查詢 heat 模板的版本信息。
[root@controller ~]# heat template-version-list
4.使用 heat 相關命令,查詢 heat 最新版本模板的功能列表。
[root@controller ~]# heat template-function-list
5.使用提供的文件 server.yml 建立名爲 heat 的 stack,其中 glance 鏡像使用
centos7,網絡使用 int-net1。查詢 stack 列表信息。
# glance image-list
# nova network-list
# heat stack-create -f server.yml -P ImageId=CentOS7.2 -P NetID=int-net2 mystack(註釋)
# heat stack-create -f server.yml -P 0d234b90-f11c-4cf6-b298-9ecbb8e54b34=CentOS7.2 -P ce494d87-a05c-4575-bcba-d79c3bedae8d=int2-net mystack
6.現有 server.yml 文件,請使用該 yml 文件建立堆棧 mystack,指定使用鏡 像 centos6.5,使用網絡 int-net1,待建立完成後,查詢堆棧 mystack 的狀態 爲 CREATE_COMPLETE 的事件信息。
# heat event-list mystack
7.對提供的 server.yml 模板進行修改,添加所需參數。經過命令使用 heat 模 板建立名爲 test-heat 的 stack,其中 glance 鏡像使用 centos7,網絡使用 int-net1。 查詢 stack 列表信息。
# heat event-show mystack
數據加密:
前提:按要求配置靜態 fixed_key,使 cinder 和 nova 組件能夠使用加密過的 Block Storage 卷服務,配置好以後,建立一個卷類型叫 luks,並把這個類型配置 爲加密類型,cipher 使用「aes-xts-plain64」,key_size 使用「512」,control-location 使用「front-end」,Provider 使用「nova.volume.encryptors.luks.LuksEncryptor」。
1.使用命令查看卷類型列表和加密卷類型列表。
2.使用命令建立兩個卷,前者不加密,後者使用 luks 卷類型加密。而後查看 卷列表。
3 .使用命令建立兩個卷,前者不加密,後者使用 luks 卷類型加密。使用 nova 命令,建立一個雲主機,鏡像使用提供的 cirros 鏡像,而後使用命令分別將 建立的兩塊雲硬盤 attach 到雲主機上,最後使用 cinder list 查看。
4 .使用命令建立兩個卷,前者不加密,後者使用 luks 卷類型加密。使用 nova 命令,建立一個雲主機,鏡像使用提供的 cirros 鏡像,而後使用命令分別將 建立的兩塊雲硬盤 attach 到雲主機上,最後使用 strings 命令驗證數據卷的加 密功能。
負載均衡:
1.安裝完 neutron 網絡後,使用 neutron 命令查詢 lbaas 服務的狀態。(物理 環境)
2.使用負載均衡建立 nginx 資源池,使用 http 協議,選擇輪循負載均衡方式。 建立完成後添加 vip:nginx-vip,使用 http 協議,端口爲 80,HTTP_COOKIE 會話持久化。使用 neutron 命令查詢資源池 nginx 詳細信息、nginx-vip 詳細 信息。
3.使用負載均衡建立 nginx 資源池,使用 http 協議,選擇輪循負載均衡方式。 建立完成後添加 vip:nginx-vip,使用 http 協議,端口爲 80,HTTP_COOKIE 會話持久化。使用命令查看所建立資源池的 haproxy 配置文件。(物理環境)
[root@controller ~]# cd /var/lib/neutron/lbaas/
[root@controller lbaas]# cat /var/lib/neutron/lbaas/9412c907-99f5-401b-b5bc-0d1a7628387e/conf
global
daemon
user nobody
group haproxy
log /dev/log local0
log /dev/log local1 notice
stats socket /var/lib/neutron/lbaas/9412c907-99f5-401b-b5bc-0d1a7628387e/sock mode 0666 level user
defaults
log global
retries 3
option redispatch
timeout connect 5000
timeout client 50000
timeout server 50000
frontend 42aea3d2-84fb-4b15-97c7-cd56376fc360
option tcplog
bind 10.0.0.4:80
mode http
default_backend 9412c907-99f5-401b-b5bc-0d1a7628387e
option forwardfor
backend 9412c907-99f5-401b-b5bc-0d1a7628387e
mode http
balance roundrobin
option forwardfor[root@controller lbaas]#
防火牆:
1.防火牆規則建立,添加名爲 icmp 的規則,拒絕全部源 IP、源端口、目的 IP、目的端口的 ICMP 規則。使用 neutron 命令查詢規則列表信息、詳細信 息。(物理環境)
[root@controller ~]# neutron firewall-rule-list
[root@controller ~]# neutron firewall-rule-show
2.防火牆建立,建立名爲 nginx 的防火牆,添加防火牆規則 nginx-80,放行 全部源 IP、源端口、目的 IP、目的端口爲 80 的規則。建立防火牆策略 nginx-policy,添加 nginx-80 規則。使用 neutron 命令查詢防火牆詳細信息、
策略詳細信息、規則詳細信息。(物理環境)
[root@controller ~]# neutron firewall-show
[root@controller ~]# neutron firewall-policy-show
[root@controller ~]# neutron firewall-rule-show
Mariadb 高可用:
1.申請兩臺虛擬機,構建 mariadb 高可用數據庫集羣,經過命令查詢集羣狀 態。
2.申請兩臺虛擬機,構建 mariadb 主從數據庫,經過命令查詢數據庫狀態。
3.配置 mariadb 高可用數據庫,並對集羣數據庫進行運維操做。
系統排錯:
1.使用 awk 相關命令,查詢表格文件中以空格爲分隔符,包含關鍵字「key」 的一行中第一個字段和最後一個字段的內容,以「,」做爲間隔。
# awk -F 「」 ‘$1~/key/{print $NF}’ cheng.txt
2.使用 sed 相關命令,顯示文件中第 10 行內容。
[root@controller ~]# sed -n '10,10p' cheng.txt
3.使用 sed 相關命令,替換文件中的關鍵詞「key」爲「guanjianci」。
[root@controller ~]# sed -i "s/key/guanjianci/g" cheng.txt
4.使用 grep 相關命令,查詢顯示文件中以「[」開始並以「]」結束的全部行。
5.使用 grep 相關命令,查詢顯示文件中的包含關鍵詞「key」的行。
6 .登陸「iaas-all」雲主機,使用 curl 的方式,獲取 token 值,並使用該 token
值,獲取用戶信息。
7 .登陸「iaas-all」雲主機,使用 curl 的方式,獲取 token 值,並使用該 token
值,獲取指定用戶信息。
8 .登陸「iaas-all」雲主機,獲取 token 值,使用 curl 的方式,建立用戶並使用 命令查詢驗證。
9.在雲平臺後臺管理的過程當中出現錯誤致使沒法獲取鏡像信息,找出錯誤原
因,並進行修復。
10.在雲平臺後臺管理的過程當中出現錯誤致使沒法登陸數據庫,找出錯誤原 因,並進行修復。
11.在雲平臺後臺管理的過程當中出現錯誤致使沒法進行 keystone 驗證,找出 錯誤緣由,並進行修復。
12.在雲平臺後臺管理的過程當中對象存儲功能沒法使用,找出錯誤緣由,並 進行修復。
13.在雲平臺後臺管理的過程當中塊存儲功能沒法使用,找出錯誤緣由,並進 行修復。
14.在雲平臺後臺管理的過程當中沒法上傳鏡像,找出錯誤緣由,並進行修復。
15.在雲平臺後臺管理的過程當中沒法將雲硬盤掛載到雲主機上,找出錯誤原 因,並進行修復。
16.在雲平臺後臺管理的過程當中沒法獲取雲主機詳細信息,找出錯誤緣由, 並進行修復。
17.在雲平臺中建立雲主機過程當中出現錯誤沒法成功建立,找出錯誤緣由, 並進行修復。
18.在雲平臺後臺管理的過程當中發生錯誤,錯誤現象爲沒法建立可用的雲硬 盤,沒法獲取雲主機信息,也沒法將雲硬盤掛載到雲主機上。找出錯誤緣由, 並進行修復。
19.搭建 Ceph 分佈式集羣存儲,配置 Ceph 做爲 openstack 後端的統一存儲, 爲 glance、nova、cinder、swift 提供存儲支持