RHV 紅帽虛擬化平台可以創建不同的作業系統的虛擬機器,也能將虛擬機器透過不關機方式轉移至不同的 host 節點,達成效能使用最佳化,也使得不中斷維護成為可行性。
1. RHV 簡介
紅帽虛擬化 (Red Hat Virtualization) 是一個開放、軟體定義、容易使用的基礎架構與集中式管理平台,適用於 Linux 虛擬化的平台,底層基本 KVM 技術架構,可以較低成本建置企業內部的虛擬化平台,並且可以在短時間內完成部屬與啟用。
From www.redhat.com
開源上游版
所有紅帽系列產品都有上開源版,對於 RHV 來說上游就屬於
oVirt 組織 。
2. RHV 創建虛擬機
透過 ISO 創建虛擬機先決必要條件 :
必須下載 RHV CA 憑證並由瀏覽器認證 (僅需認證一次即可),否則會因憑證導致瀏覽器禁止上傳檔案而失敗。
- 至登入頁面
https://rhvm.lab.example.com
下載 CA Certificate。

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

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

- 信任此 CA 來辨識網站。

- 網頁連線就會顯示安全性連線。
安全連線
2.1. 上傳 Fedora ISO 至 RHV
Fedora Workstation 37 ISO 下載連結請點我。
- 使用 admin 登入
https://rhvm.lab.example.com
頁面後選擇 Storage -> Disks -> Upload

- 點擊 Fedora ISO 作為上傳光碟後點擊 OK 上傳。
上傳 ISO
重要
如果執行 Test Connection 出現下列失敗,表示未進行 CA 憑證匯入。

- 上傳後從 Lock 狀態變成 OK 表示上傳完畢。
Status OK
2.2. 創建 VM 虛擬機
- 選擇左側 Computer -> Virtual Machines -> New 新增虛擬機器。

- 創建新虛擬機
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 ( 預設的邏輯網路 )
|
Create VM
- 點擊新創建的虛擬機並選擇 Run Once
Run Once
- 選擇 Boot Options -> Attach CD 選擇 Fedora ISO ,開機選項可以調整 CD-ROM 優先,點擊 OK 開機。
Boot 光碟開機
- 選擇 Fedora37 虛擬機點擊 Console 會下載連線方式。

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

Console 連線方式
Linux 機器可以直接使用 Remote-Viwer 直接存取訪問,如果是 Windows 可以下載 spice client 。 或是進階設定將此改成 VNC 連線。
2.3. 移轉虛擬機
當 host 節點需要維護或是要平衡其虛擬機運作資源,可以透過 Migrate 來在虛擬機執行狀態中移轉虛擬機器至別的節點上。
- 選擇虛擬機點擊 Migrate 。
Migrate VM
- 可以透過自動選擇或是下拉選單選擇要轉移至哪一個節點 。

- 點擊後會開始執行轉移 。

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

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]
|
3.1. 創建 Storage Domains
- 點擊左側 Storage -> Domains -> New Domain 。

- 選擇可用 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 加入
|

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

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

4. 附錄
4.1. Console 改為 VNC 模式
- 編輯虛擬機並開啟左下方進階選項,選擇 VGA type 使用 VNC 的協定。
Edit VM Console
- 虛擬機開機後檢視其下載的 console 檔案。
會出現其連線 IP、 Port 、 Password 等資訊

- 可以至任一作業系統使用 VNC viwer 存取其虛擬機。
VNC
4.2. Hosted Engine HA 高可用性
Hosted Engine 是 RHV 最重要的心臟,不過如果 Host A (預設安裝的節點)失效,也會導致其虛擬機失效,故在加入機器時可以多部屬幾個 Hosted Engine 作為備用,當主 Hosted Engine失效可以由其他的補上,所以有共同的儲存資源就是很重要的一件事情。
Deploy Hosted Engine
HA 高可用性
進入維護模式會執行切轉。
PreparingForMaintenance
切轉完成,Host A 進入維護模式。
Hosted Engine on Host C
5. 小結
對於中小型企業及個人 LAB 環境來說 RHV (oVirt) 是非常足夠的,所有東西都有開源版可以使用,不會受到商用版的虛擬化平台試用期限或是試用版有使用量上限而被限制住,可以完全自由且靈活的進行操作。