2024年3月12日 星期二

【IT Notes】RHCE考試環境建置

大半年沒有寫網誌了,除了結婚的籌備和蜜月旅行以外,我還忙了一段時間在處理搬家事宜,再來是上一分工作實在沒有太多技術文件可以寫,大部分時間都在搞infra,而且重複性很高,目前換了新工作,又回到Linux環境了,但是考試已經過了半年,得要趕快趁還沒有忘記考試內容前把細節記錄下來,以便將來遇到時有用。考試環境的練習,是先能夠要建立七台VM,大部分的網路上解答都沒有提到這部分,但其實它也很重要

環境建置的步驟:

·下載並安裝VirtualBox

網址:https://www.virtualbox.org/,這邊就不用特別多說了,頂多有些Windows電腦被要求多安裝Microsoft Visual C++,微軟官網就有提供下載點了。


二·安裝各台Linux

因為我在練習的時候找不到合適的安裝軟體,所以就選用RockyLinux,內容其實大都很完整也好用,安裝過程大同小異,流程我就不囉嗦了。
1.基本要給每一台主機相同的管理者帳密student帳號也用最高權限,考試的時候用的不會是root
root / redhat
student / student


2.建好一台主機後,用「再製」功能就能夠把虛擬機複製出來,不必一台台慢慢做。



3.CPU給4核心、RAM給4G、硬碟切sda和sdb。node1node2各有一個邏輯卷宗叫做research,要切割sda3出來並給它1G空間。


node1和node2有因應分割磁碟的題目而先做邏輯卷宗,另外三台則不用


4.因為沒有DNS主機,所以/etc/hosts上要做設定,做題的時候用的不是ip而是hostname

[student@workstation ansible]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.250.9 workstation
172.25.250.10 node1
172.25.250.11 node2
172.25.250.12 node3
172.25.250.13 node4
172.25.250.14 node5
172.25.250.15 example.classroom.com classroom



5.workstation上要把student帳號的ssh public key傳到各節點,並且設定不用輸入密碼就能登入。之前有寫過文章,方法在這個連結
把公鑰傳送到各節點的相對路徑之後,每次登入就能直接不透過密碼



6.Private IP 是給內部連線的,Public IP是給Putty連線之用,因為模擬考試的環境,那時也是用ssh連線到workstation主機,然後再連線到各個節點做操作,因此在安裝每一台虛擬機的時候,除了內部使用的NAT網卡外,要再增加一張「僅限主機介面卡凱。

點選「檔案」>「喜好設定」,準備建立每一台VM的內網環境。


「網路」>「+」,加入新的網路

名稱隨意,網段就開172.25.250.0/24,這樣內網環境就建立了。

第一張NAT網卡是內外部串連網路用的

第二張網卡選「僅限主機介面卡」,這是用來讓本機ssh進去用的


查詢本機的網路卡,用cmd輸入ipconfig /all 指令,可以查到這張interface,這就是可以用來shh道節點的網路環境


進去Linux,輸入nmtui指令,就能夠將網卡設定新的ip

這張網卡ip就設定192.168.56.0/24網段內某一ip


最後更新過的enp0s8,是用來跟自己電腦做連線的,如此我才能夠用ssh或putty連過去workstation操作。


三·Data主機的環境布置

最後一台的data主機要擔任提供下載資料用,包括repo、roles、collection和每一題所需要下載的yml,裡面的東西很多,要先都放好,還要先安裝網頁伺服器才能給其他台節點提供url,所以這台的建制就開一個新的標題。

1.先安裝網頁伺服器
[root@classroom ~]#yum install httpd -y
[root@classroom ~]#systemctl start httpd

2.開啟httpd的防火牆
[root@classroom ~]#firewall-cmd --add-port=80/tcp --permanent
[root@classroom ~]#firewall --reload

3.放考試用的資料

先建立三個資料夾

/var/www/html/cd/exam_ehce8/ 此路徑下面的檔案

haproxy.tar.gz和phpinfo.tar.gz這兩個檔案自己做太麻煩,我是從補習班資料取得的,後來把它放在雲端空間供下載:

salaries.yaml檔是加密的檔案,我也放在雲端給直接下載。

hosts.yml (裡面空的)
hosts.j2的內容如下
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
hwrepot.empty的內容如下
# Hardware report
HOST=inventoryhostname
MEMORY=memory_in_MB
BIOS=BIOS_version
DISK_SIZE_SDA=disk_sda_size
DISK_SIZE_SDB=disk_sdb_size

user_list.yml的內容如下
users:
- name: john
  uid: 1201
  password: "{{ pw_developer }}"
  group: devops
  job: developer
- name: james
  uid: 1202
  password: "{{ pw_manager }}"
  group: opsmgr
  job: manager
- name: mary
  uid: 2201
  password: "{{ pw_manager }}"
  group: opsmgr
  job: manager


materials資料夾下的三個檔案是從網路上抓的,此檔案很重要,關係到之後做題目的順暢度
不過我也還是放在雲端硬碟方便下載:
ansible-posix-1.4.0.tar.gz
community-general-4.3.0.tar.gz


repo檔之前有研究過,這邊就完全照抄上次的設定


以上大概是模擬考題環境的建置,光是這堆東西弄完就用幾個小時了,如果沒有先做這些,也就模擬不出來考試題目的各種效果,網路上這好像還沒有人先做,於是這篇的紀錄重點我個人覺得很重要。


沒有留言:

張貼留言

【IT Notes】透過api移轉Gmail到Exchange

 在雲端裡面串接api不是一件很好學的技術,第一次有機會學習到將GWS的Gmail信件全部轉移到M365的Exchange,其實方法很多種,像以前用的pst檔匯出轉移的方式等,但透過api串接,可以批次和排程轉移,是非常方便且準確的作法。唯一讓人感到困難的是學習成本不小,通常需要...