雲計算技術與應用
==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.2、網路 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();
任務二、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 提供存儲支援