Contents

Linux - RHV 部屬與管理虛擬機器

RHV 紅帽虛擬化平台可以創建不同的作業系統的虛擬機器,也能將虛擬機器透過不關機方式轉移至不同的 host 節點,達成效能使用最佳化,也使得不中斷維護成為可行性。

1. RHV 簡介

紅帽虛擬化 (Red Hat Virtualization) 是一個開放、軟體定義、容易使用的基礎架構與集中式管理平台,適用於 Linux 虛擬化的平台,底層基本 KVM 技術架構,可以較低成本建置企業內部的虛擬化平台,並且可以在短時間內完成部屬與啟用。

https://hackmd.io/_uploads/BJcPMjrWn.png
From www.redhat.com

開源上游版
所有紅帽系列產品都有上開源版,對於 RHV 來說上游就屬於 oVirt 組織

2. RHV 創建虛擬機

透過 ISO 創建虛擬機先決必要條件 :

必須下載 RHV CA 憑證並由瀏覽器認證 (僅需認證一次即可),否則會因憑證導致瀏覽器禁止上傳檔案而失敗。

  1. 至登入頁面 https://rhvm.lab.example.com 下載 CA Certificate。

https://hackmd.io/_uploads/S1Ual2LZ3.png"下載CA憑證"

  1. 以 FireFox 為例選擇設定並且匯入憑證。

https://hackmd.io/_uploads/rJ5nenUZ2.png"匯入憑證"

  1. 將下載的憑證匯入(檔案如未找到請選擇所有檔案格式)。

https://hackmd.io/_uploads/B16jxnUbh.png"檔案類型"

  1. 信任此 CA 來辨識網站。

https://hackmd.io/_uploads/Hkkjlh8-h.png"信任CA"

  1. 網頁連線就會顯示安全性連線。

https://hackmd.io/_uploads/S1zqehIbh.png
安全連線

2.1. 上傳 Fedora ISO 至 RHV

Fedora Workstation 37 ISO 下載連結請點我

  1. 使用 admin 登入 https://rhvm.lab.example.com 頁面後選擇 Storage -> Disks -> Upload

https://hackmd.io/_uploads/r1u_e38-3.png

  1. 點擊 Fedora ISO 作為上傳光碟後點擊 OK 上傳。

https://hackmd.io/_uploads/HkDrx38b3.png
上傳 ISO

重要
如果執行 Test Connection 出現下列失敗,表示未進行 CA 憑證匯入。 https://hackmd.io/_uploads/B1x4gn8-h.png
  1. 上傳後從 Lock 狀態變成 OK 表示上傳完畢。

https://hackmd.io/_uploads/rkjZbnU-h.png
Status OK

2.2. 創建 VM 虛擬機

  1. 選擇左側 Computer -> Virtual Machines -> New 新增虛擬機器。

https://hackmd.io/_uploads/r1ar-nU-h.png

  1. 創建新虛擬機
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
1. 作業系統 : Linux
2. 虛擬機 SIZE : Small
        Tiny:    CPU: 1 ,RAM : 512  MB
        Small:   CPU: 1 ,RAM : 2084 MB
        Medium:  CPU: 2 ,RAM : 4096 MB
        Large:   CPU: 4, RAM : 8192 MB
        XLarge:  CPU: 4, RAM :16384 MB
        Custom :  自定義
3. 最佳化 : Desktop ( Desktop, Server, High Perfomance )
4. 虛擬機名稱 : fedora37
5. 創建新硬碟 10 GB (使用 Thin Provision 精簡佈建)
6. 網卡選擇 ovirtmgmt/ovirtmgmt ( 預設的邏輯網路 ) 

https://hackmd.io/_uploads/HkY9-n8W3.png
Create VM

  1. 點擊新創建的虛擬機並選擇 Run Once

https://hackmd.io/_uploads/H1Zd428-3.png
Run Once

  1. 選擇 Boot Options -> Attach CD 選擇 Fedora ISO ,開機選項可以調整 CD-ROM 優先,點擊 OK 開機。

https://hackmd.io/_uploads/rkjhV28Z2.png
Boot 光碟開機

  1. 選擇 Fedora37 虛擬機點擊 Console 會下載連線方式。

https://hackmd.io/_uploads/r1f3Fh8Z3.png

  1. 點擊下載的 console 會自動喚起 Remote-Viwer 來存取虛擬機。

https://hackmd.io/_uploads/H1Yb22U-2.png

Console 連線方式
Linux 機器可以直接使用 Remote-Viwer 直接存取訪問,如果是 Windows 可以下載 spice client 。 或是進階設定將此改成 VNC 連線。

2.3. 移轉虛擬機

當 host 節點需要維護或是要平衡其虛擬機運作資源,可以透過 Migrate 來在虛擬機執行狀態中移轉虛擬機器至別的節點上。

  1. 選擇虛擬機點擊 Migrate 。

https://hackmd.io/_uploads/BkVun2LZ2.png
Migrate VM

  1. 可以透過自動選擇或是下拉選單選擇要轉移至哪一個節點 。

https://hackmd.io/_uploads/Bk31a3IW2.png

  1. 點擊後會開始執行轉移 。

https://hackmd.io/_uploads/rkiep2L-2.png

  1. 直到跳出通知表示轉移完成 。

https://hackmd.io/_uploads/rJHfphU-3.png

3. 添加 iSCSI 作為儲存資源

最初安裝時使用 NFS 來當作初始儲存媒介,也可以添加 iSCSI 當作儲存資源池。

先決必要條件 :

1
2
3
1. 創建 iScsi Target
2. 具備 ACL 可以存取
3. 開放防火牆規則
主機名稱 IP 用途 規格
hosta.lab.example.com 192.168.50.120 HOST A 主機 (oVirt 4.3) CPU: 4 MEM : 8G
hostb.lab.example.com 192.168.50.121 HOST B 主機 (oVirt 4.3) CPU: 4 MEM : 8G
rhvm.lab.example.com 192.168.50.124 RHVM Hosted 虛擬機 CPU: 4 MEM : 4G
utility.lab.example.com 192.168.50.125 NFS 、 IdM 與 iScsi Target (Rocky 8) CPU: 2 MEM : 4G
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@utility ~]# targetcli ls
o- / ...................................................................................... [...]
  o- backstores ........................................................................... [...]
  | o- block ............................................................... [Storage Objects: 1]
  | | o- rhvm ........................................ [/dev/vdc (100.0GiB) write-thru activated]
  | |   o- alua ................................................................ [ALUA Groups: 1]
  | |     o- default_tg_pt_gp .................................... [ALUA state: Active/optimized]
  | o- fileio .............................................................. [Storage Objects: 0]
  | o- pscsi ............................................................... [Storage Objects: 0]
  | o- ramdisk ............................................................. [Storage Objects: 0]
  o- iscsi ......................................................................... [Targets: 1]
  | o- iqn.2023-04.com.example.lab:utility ............................................ [TPGs: 1]
  |   o- tpg1 ............................................................ [no-gen-acls, no-auth]
  |     o- acls ....................................................................... [ACLs: 3]
  |     | o- iqn.1994-05.com.redhat:594eac084eaf ............................... [Mapped LUNs: 1]
  |     | | o- mapped_lun0 ............................................... [lun0 block/rhvm (rw)]
  |     | o- iqn.1994-05.com.redhat:97b664fd36a5 ............................... [Mapped LUNs: 1]
  |     | | o- mapped_lun0 ............................................... [lun0 block/rhvm (rw)]
  |     | o- iqn.1994-05.com.redhat:d0338f08c069 ............................... [Mapped LUNs: 1]
  |     |   o- mapped_lun0 ............................................... [lun0 block/rhvm (rw)]
  |     o- luns ....................................................................... [LUNs: 1]
  |     | o- lun0 .................................... [block/rhvm (/dev/vdc) (default_tg_pt_gp)]
  |     o- portals ................................................................. [Portals: 1]
  |       o- 0.0.0.0:3260 .................................................................. [OK]
  o- loopback ...................................................................... [Targets: 0]
iSCSI Target 設定
如何提供 iSCSI Target 可以參考 HowHow 的 Linux - 提供 iSCSI 儲存

3.1. 創建 Storage Domains

  1. 點擊左側 Storage -> Domains -> New Domain 。

https://hackmd.io/_uploads/r15tT3Lbn.png

  1. 選擇可用 LUN ID 並點擊 OK 同意。
1
2
3
4
5
6
1. 建立 Domain 名稱: lab-data
2. 儲存類別 : iSCSI
3. Target IP : 192.168.50.125
4. 選擇發現其 Target
5. Login 此 Target
6. 選擇可用的 Lun 加入

https://hackmd.io/_uploads/rJ4UJp8Wh.png

  1. 加入後即看到該儲存資源。

https://hackmd.io/_uploads/rkDXxpIZ2.png

Failed login iSCSI Target
如果出現未授權登入 iSCSI 會因為節點 IQN 未加入 ACL 導致,可以點擊 host 訊息查尋其 host 的 IQN 並加入 iSCSI Target ACL 內。 https://hackmd.io/_uploads/ByzLra8b2.png

4. 附錄

4.1. Console 改為 VNC 模式

  1. 編輯虛擬機並開啟左下方進階選項,選擇 VGA type 使用 VNC 的協定。

https://hackmd.io/_uploads/HkqdeaIWn.png
Edit VM Console

  1. 虛擬機開機後檢視其下載的 console 檔案。

會出現其連線 IP、 Port 、 Password 等資訊

https://hackmd.io/_uploads/HkB3gTIb3.png

  1. 可以至任一作業系統使用 VNC viwer 存取其虛擬機。

https://hackmd.io/_uploads/Sy6W-TL-n.png
VNC

4.2. Hosted Engine HA 高可用性

Hosted Engine 是 RHV 最重要的心臟,不過如果 Host A (預設安裝的節點)失效,也會導致其虛擬機失效,故在加入機器時可以多部屬幾個 Hosted Engine 作為備用,當主 Hosted Engine失效可以由其他的補上,所以有共同的儲存資源就是很重要的一件事情。

https://hackmd.io/_uploads/HyjeaTLW3.png
Deploy Hosted Engine

https://hackmd.io/_uploads/HysVhpU-3.png
HA 高可用性

進入維護模式會執行切轉。

https://hackmd.io/_uploads/Bk-8aaUWh.png
PreparingForMaintenance

切轉完成,Host A 進入維護模式。

https://hackmd.io/_uploads/ByTJA6I-2.png
Hosted Engine on Host C

5. 小結

對於中小型企業及個人 LAB 環境來說 RHV (oVirt) 是非常足夠的,所有東西都有開源版可以使用,不會受到商用版的虛擬化平台試用期限或是試用版有使用量上限而被限制住,可以完全自由且靈活的進行操作。



如果你還沒有註冊 Like Coin,你可以在文章最下方看到 Like 的按鈕,點下去後即可申請帳號,透過申請帳號後可以幫我的文章按下 Like,而 Like 最多可以點五次,而你不用付出任何一塊錢,就能給我寫這篇文章的最大的回饋!