2019年6月26日 星期三

Redhat RHCSA OpenStack ex210認證考試 (Pass)

終於考過了
生平第一次拿 Red Hat的證照




























準備
收到長官接案的需求
需要OpenStack的RHCSA證書
作為攻案使用
從4月底上完課程後
就開始緊接者Lab環境建置
準備 lab 的期間
光是環境的建置就花了2~3周建Lab環境的時間
期間工作上的事情
一樣也沒少,反而更多
什麼內外稽之類的

Lab機
沒有Lab環境,考試一定不會pass
最慘的是Lab環境要自己想辦法
公司基本上不管了,只看證照

我的Lab建置在筆電上
筆電是Lenovo W530
是台多年前的一代機皇
這台W530厲害的地方,就是有4個DIMM
RAM上限可達32G
所以我在這台筆電上我配置了32G的RAM
勉勉強強跑得動OpenStack的Lab環境
爾偶指令下太快,還是會當機這樣
至少,我可以不被綁在桌機前面
下班或是六日期間,我可以到圖書館
或是安靜的地方做Lab
一趟自擬Lab題目跑下來
順利的話大約3~4小時左右

中間還搞掛了一台筆電...
當初透過e-bay從海外購入多台W530
現在掛了1台,只能自己吸收了~慘啊~

最後
打鐵趁熱考完後趕快把考試經驗
打起來,算是對IT界盡一份心力吧~

考場環境
到考場後
恆逸工作人員會指引你進到小房間(真的很小間)
工作人員就會離開了
就自己在小房間

我是在恆逸考的
考場相當冷,冷到我再敲後面幾題的指令時
都不自覺的發抖
考完離開房間時,看了一下溫度
竟然是19度
恆逸果然大氣啊~

小房間內有台筆電
這台筆電就是考試環境
可別小看它喔,他可是 Lenovo P71
筆電上面有個camera
另外左邊還有台camera
小房間上方也有個camera
筆電的畫面會要你輸入你的Red hat的帳密
然後登入,進入考試環境

這時
畫面右下角會有個文字訊息
類次MSN那樣
老外透過這個文字訊息
問你,你的phone number之類的
然後查看你的證件
建議帶passport,避免不必要的困擾
即便你一開始排定考試日期時所上傳的是身分證也一樣
第一次考的時候,就跟我盧好久

老外大致上就是告知你
你若要喝水或是上廁所休息之類的
請透過文字訊息告訴他
不要直接就擅自離開小房間
也要保持你的手在鏡頭可以照的到的地方
言下之意,就是屁股養不要抓屁股之類吧~

考試中途
會需要你拿視訊鏡頭照一下小房間四周
這樣的確認動作
會用到你的考試時間

若有婚戒或是手錶
也都必須要收起來放進口袋

考試時
考試只有4小時
有些很耗時間的題目
若做錯了,你可能沒有機會做第2次
所以指令一定要一次就敲對
我全部做完時
大約剩下30多分鐘

筆電畫面中
會有個網頁在倒數4小時
而主戰機(考試用的筆電)上的時間是美東時間
這個網頁也會提示你一些資訊和手冊
但個人認為,這些手冊通通沒有用
進了考場,就是靠自己吧~

考試環境的OS裡面
是個有GUI的Red Hat
有個console
可以看到有directory, Ceph, compute0, compute1, controller
這5台VM在跑
我是都直接打開console看有沒有在run
避免考試時自己嚇自己

考試時
千萬不要緊張,雖然不太可能不緊張
若有跳出錯誤訊息都仔細看一下
再不行就問老外
透過右下角的文字訊息給老外
不過老外應該只會給你那個無用的手冊連結
T__T

考試
1. 建置 project, user, assign admin rule
大致上就是
建2個project
建4個帳號
其中2個帳號分別為各Project的admin身分的user
另外2個帳號分別是個Project的_member_身分的user
然後之後的題目
幾乎都在其中一個project的admin身分的user上做事

這些都不困難
只要把 dashboard 的 URL 找到就可以了
但這個 GUI 連結在哪
到 directory 看他的 cat overcloudrc 就可以了
裡面的IP就是了
記得ip後面加上 /dashboard 
即: http://ip/dashboard

2. 上傳 imge
考試給的是img檔
已經下載好了,就放在dir這台裡面
但題目說要用qcow2上傳
我當時就用
#qemu-img convert -f raw -O qcow2 xxx.img xxx.qcow2
想說轉成 qcow2去上傳,上傳時選擇qcow2
結果竟然上傳失敗,驚到
明明這個我Lab時做了不下50次
從來沒有異狀過
時間一點一點在流逝
乾脆直接就用題目給的 xxx.img去上傳
然後選 qcow2格式,竟然也上傳成功
算了,不管了
但可能會被扣分

3. 網路
建立網路算是整個 OpenStack 最耗腦細胞的部分
你可以不用很清楚
但你必須一定要知道如何 看到 OpenStack對應實體層的網路
在建對實體層mapping的網路時
你需要到Controller的 /etc/neutron/plugins/ml2/openvswitch_agent.ini
去查 Bridge_Mappings的參數所指的名稱是什麼
否則你一定建不起來
這個項目的網路要是建不起來,後面你也不用玩了
可以收拾包包跟老外講一下離開小房間了

建的時候
注意要選正確的類型>>flat
至於ID,我是設定500
千萬不要自己搞自己嘿
重考一次很貴的

再來就是
建project內的network, subnet, router

若對網路概念清楚
這幾個幾乎沒有難度
反正就是instance會有1個interface
這個interface用的是privater的IP
但要出外網,所以要assign 個 Public IP
而這個仿Public IP就是 flat 的類型
Lab有練習過,應該都會記得
不會太困難才是

4. 建 keypair, security group, flavor
這些基本上也沒有什麼難度
但在keypair的地方
要記得你是在哪裡建的

你在主戰機開Dashboard建keypair
下載後理所當然.pem也會在 主戰機

但題目要求你
放到 directory的指定位置
想要 #scp xxx.pem aaa@directory:~
但你沒有aaa的權限,請想一下怎麼處理
絕對路徑, 相對路徑 這是很基本的
不要自己嚇自己
直接在directory用CLI建keypair也可以
我是直接用 複製貼上 哈哈

總之
最後記得記得要 #chmod 600 xxx.pem 啊

5.建立 instance
這基本上
也沒有什麼難度
前面該建的都建了
image, flavor, network, subnet, security group, keypair, flating ip...

題目會要求
透過 SSH連進這個instance
你可以自己測試一下
#ssh -i xxx.pem cloud-user@instance_ip
記得要 #chmod 600 xxx.pem 啊
記得要 #chmod 600 xxx.pem 啊
記得要 #chmod 600 xxx.pem 啊
很重要所以要說3次
不要到時候用這個pem去ssh到instance時
出現錯誤自己嚇自己
不然就又要收拾書包先回家下次再來了

6.建立 volume 並掛上,然後再做snapshot
也沒有什麼難度
GUI點一點就好了
只是key-in的時候別打錯了
題目可是要求 掛成 /dev/vdb 別手殘打錯了
賺基本分的,別浪費

對volume做snaphsot的時候
一般來說都會先umount才做snapshot
但考試的時候並不會驗證volume裡面檔案的完整性
所以就大膽的直接 snapshot吧~
時間寶貴啊
耗時的題目還在後面等咧

7.建立 heat stack
題目會給你一個 yaml 的 template
要你去障礙排除
這個 yaml 檔是唯讀的
不論你怎麼切換root或是檔案owner stack的角色
就是無法對這個檔案 寫入
對了,這整個目錄都是

千萬不要執著
我第一次考試的時候就是太執著
處理這個 不能寫入的問題上

換個方式
我可以讀,那就把整個yaml讀出來
貼到 另外的檔案上
因為我可以指定 templates的路徑位置
所以不影響

然後要對這個 yaml檔
自己建 parameters 檔
而這個 parameters 檔案裡面需要指定那些參數
可以透過 yaml 檔案來看
靈活一點,不要搞自己

最後記得先加上 --dry-run
#openstack stack create -t XXX -e XXX --dry-run XXX 先試run一下
語法上有錯,會通知你,不會直接就跑下去


8. customize image
這題我Lab時都很順利
但考試的時候卻卡關了
卡在 #disk-image-create vm rhel7 -t qcow2 -p httpd -o XXXX.qcow2
一直給我跳出 不明的 file system

題目給的 qcow2會先放在 /tmp底下
先 複製一份出來
避免亂改,改到 qcow2,把qcow2改壞了

題目會要求你
在這個customize image內
安裝好 http 和建好 user帳號
也要在index.html內寫下題目指定的文字
我是直接寫在Script
很簡單

#!/bin/bash
yum -y install http
systemctl enable http
adduser test
touch /var/www/html/index.html
cat << EOF > /vat/www/html/index.html
this customize image
EOF

這邊
有個重點,就是建好 Script 檔後
記得要 #chmod +x 啊~


9. Create a messaging queue
題目要求要建queue 和 exchange
但沒有給 exchange的名稱
要不然就是我看不懂題目
總之,我都建了

這邊
要記得喔 rabbitmqadmin -c 所需要的參考驗證檔
要自己建喔
格式和 port 可以去參考 /etc/rabbitmq/ 底下的檔案 
[default]
username = 就是題目指定的
password = 題目指定的
hostnmae = 透過 ifconfig去查IP,若指令不吃,打錯了再回來改就好
port = 就去參考 /etc/rabbitmq/底下

10. 建 container
就GUI點一點就完成了
會要你再建個 keypair然後上傳
很沒有什麼難度

我倒還覺得 
Lab時比較難一點
還要把Container內的檔案複製到instance內
但可能會時間不夠吧


11. 建 compute node
記得這題不能用 overecloudrc 的 keystone file 喔
要改用 stackrc的 keystone file
不然 你怎麼敲 #openstack baremetal import --json XXXX就是會錯誤
而有千萬不要 import 錯 json 檔喔
跟目錄底下會有2個 json 檔 ,如果import錯的話
我在lab時,只有全部環境砍掉重練
意味者,不小心就又要收拾書包離開小房間了

再設定 property的時候
可以先參考 compute0 的 property
照著打才不會打錯
#openstack baremetal node show compute0 | grep property

最後deploy指令敲下去
大約要等個40多分鐘才會完成
盡量不要處理其他的題目
讓他全速跑完

跑完後
記得驗證一下
我印象中考試時最後有個error13的訊息跳出來
但Lab時並不會有這個錯誤
但我馬上驗證一下,都有在Work
應該不影響Compute Node的運作
#openstack baremetal node list

12. migrate instance
這題就GUI點一點
不要搞錯台就好
沒什麼難度
但前提是 compute1 要建得起來
否則這題就gg惹


自擬考題

      Red hat OpenStack EX210 自擬練習題目  (2019-05-10)
基本題型:
#lab deployment-review setup
1.     New 2 project [project1] [project2]
2.     Create 4 userproject1-amin and project1-user in project1, project2-amin and project2-user in project2
3.     Assign project-admin is admin role and project-user is member role
4.     Create flavor [project-flavor-web, CPU:2, ram:2g, root disk:10g]
5.     Upload image to create image [project1-image1-default, CPU:2, ram:2g, root disk:10g]
6.     Create security group [project1-security-group, ICMP, 22, 80, 443]
7.     Create keypair and save to workstation path ~/home/student/Download[project1-keypair1]
8.     Create private[project1-private, subnet: project1-private-subnet, 192.168.99.0/24]
Create Public[project1-public, 172.25.250.0/24]
Create Router[project1-Router] connection both interface
Allocate Floating IP x3 to project1
9.     Create instance to project1
[project1-instacne1-default, image: rhel7, network: project1-private, flavor: m1.web]
10. Create volume and then attach volume[project1-volume1, /dev/vdb]
11. Create volume snapshot flow Create volume >> Attach volume >> Snapshot volume
12. Copy and edit from admin keystone file for project1-admin user account save to director node

進階題型:
1.     Custom image[project1-image2-custom], must per-install and start httpd service, edit http html text[is custom image], and create user[utest9] in this image, and then use this image to create instance[project1-instance2-custom]
#lab customization-review setup
disk-image-create tools in /usr/share/
2.     use heat template to create instance[project1-instance3-heat]
#lab orchestration-heat-templates setup
http://materials.example.com/heat/finance-app1.yaml
a. you need fix this template someone yaml format error and need create environment
 file to create stack[project1-stack1]
b.this stack need auto create groupadd[gtest9] to heat template
3. Create rabbitmq user[project1-test1] and queue [project1.queue] and send Message
(port: 15672)
#lab communication-msg-brokering setup
4. new second compute node [compute1]
  #lab resilience-scaling-nodes setup
http://materials.example.com/instackenv-onenode.json
Ps: Scaling compute node need 4X min
5. Create instance in cmpute1
6. migrate compute0上其中一台instance to compute1
7. list metric resource save to /home/project/ceilometer.log
8. Create container[project1-container1] and upload file[project1-contain1-file, /user/student/project1-keypair1.pem] to this container, and copy form container this file to instance file[/var/www/html/index.html]
  #lab storage-review setup
  #ssh heat-admin@ceph0 >> sudo systemctl start ceph-osd@0

2 則留言:

  1. 版主您好
    感謝您的分享,讓我通過了210的考試
    為了避免記憶消失太快,想趕緊接著準備310的考試
    但是網路上卻完全找不到相關訊息
    所以想請問您是不是有310的考試經驗跟心得可以分享一下><?

    回覆刪除
  2. 版主您好~~ 我想詢問如果沒有參加認證課沒實際Lab模擬環境的話,只是用自己家裡的VM來做練習....這樣會有機會通過嗎?

    回覆刪除