建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

這篇文章是上一篇文章的延續——》建立容錯的 IT 基礎架構。 第 1 部分 - 準備部署 oVirt 4.3 集群“。

它將涵蓋用於託管高可用虛擬機器的 oVirt 4.3 叢集的基本安裝和配置過程,同時考慮到先前已經完成了準備基礎架構的所有初步步驟。

前驅症狀

本文的主要目的是提供逐步說明,例如“下一頁 -> -> “如何在安裝和設定時顯示一些功能。 由於基礎設施和環境的特徵,部署叢集的過程可能並不總是與其中描述的過程一致,但一般原則是相同的。

從主觀角度來說, oVirt 4.3 其功能與VMware vSphere 5.x版類似,但當然具有自己的配置和操作功能。

對於有興趣的人,RHEV(又稱 oVirt)和 VMware vSphere 之間的所有差異都可以在 Internet 上找到,例如 這裡,但隨著文章的進展,我仍然偶爾會注意到它們之間的一些差異或相似之處。

另外,我想對虛擬機器網路的工作做一些比較。 oVirt 對虛擬機器(以下簡稱 VM)實現了類似的網路管理原理,與 VMware vSphere 中一樣:

  • 使用標準 Linux 橋接器(在 VMware 中 - 標準vSwitch),運行在虛擬化主機上;
  • 使用 Open vSwitch (OVS)(在 VMware 中 - 分散式虛擬交換機)是一個分散式虛擬交換機,由兩個主要元件組成:中央 OVN 伺服器和託管主機上的 OVN 控制器。

需要注意的是,由於易於實施,本文將介紹如何使用標準 Linux 橋接器在 oVirt 中為 VM 設定網絡,這是使用 KVM 虛擬機管理程式時的標準選擇。

在這方面,在叢集中使用網路有幾個基本規則,最好不要違反:

  • 將主機新增至 oVirt 之前,主機上的所有網路設定必須相同(IP 位址除外)。
  • 一旦主機處於oVirt 的控制之下,強烈建議不要在對您的操作沒有完全信心的情況下手動更改網絡設置中的任何內容,因為oVirt 代理會在重新啟動主機後將它們簡單地回滾到之前的設定或代理人。
  • 為虛擬機器新增網路以及使用它只能從 oVirt 管理主控台完成。

其他 重要的提示 - 對於非常關鍵的環境(對金錢損失非常敏感),仍然建議使用付費支援並使用 紅帽虛擬化 4.3。 oVirt叢集運作過程中,可能會出現一些問題,建議盡快尋求合格的協助,而不是自行處理。

最後 建議 在部署 oVirt 叢集之前,請先熟悉一下 官方文件,以便至少了解基本概念和定義,否則閱讀文章的其餘部分會有點困難。

這些指導文件是理解本文和 oVirt 叢集運作原理的基礎:

裡面的內容不是很大,一兩個小時就可以完全掌握基本原理,但喜歡細節的還是建議看一下 紅帽虛擬化 4.3 產品文檔 — RHEV 和 oVirt 本質上是同一件事。

那麼,如果主機、交換器和儲存系統的基本設定都完成了,我們就直接進行oVirt的部署。

第 2 部分:安裝和設定 oVirt 4.3 集群

為了便於理解,我將本文的主要部分列出來,必須一一完成:

  1. 安裝oVirt管理伺服器
  2. 建立新的資料中心
  3. 建立新集群
  4. 在自架環境中安裝附加主機
  5. 建立儲存區域或儲存域
  6. 為虛擬機器建立和設定網絡
  7. 建立用於部署虛擬機器的安裝映像
  8. 創建虛擬機

安裝oVirt管理伺服器

oVirt管理伺服器 - 這是 oVirt 基礎架構中最重要的元素,以虛擬機器、主機或虛擬設備的形式管理整個 oVirt 基礎架構。

它與虛擬化領域的相似之處是:

  • VMware vSphere - vCenter 伺服器
  • Microsoft Hyper-V - 系統中心虛擬機器管理器 (VMM)。

要安裝oVirt管理伺服器,我們有兩種選擇:

選項1
以專用虛擬機器或主機的形式部署伺服器。

這個選項效果很好,但前提是這樣的虛擬機器獨立於叢集運行,即不像執行 KVM 的常規虛擬機器那樣在任何叢集主機上運行。

為什麼這樣的虛擬機器不能部署在叢集主機上呢?

在部署oVirt管理伺服器的過程的一開始,我們遇到了一個困境 - 我們需要安裝一個管理虛擬機,但實際上還沒有叢集本身,因此我們可以立即想出什麼辦法呢? 沒錯——在未來的叢集節點上安裝 KVM,然後在上面建立一個虛擬機,例如使用 CentOS 作業系統,並在其中部署 oVirt 引擎。 通常可以出於完全控制此類虛擬機器的原因來完成此操作,但這是一個錯誤的意圖,因為在這種情況下,將來此類控制虛擬機器將 100% 出現問題:

  • 無法在oVirt控制台中在叢集的主機(節點)之間進行遷移;
  • 使用 KVM 遷移時 維爾什遷移,該虛擬機器將無法從 oVirt 控制台進行管理。
  • 集群主機無法顯示 維護模式 (維護模式),如果您使用下列命令將此虛擬機器從一個主機遷移到另一個主機 維爾什遷移.

因此,請按照規則進行所有操作 - 對 oVirt 管理伺服器使用單獨的主機,或者在其上運行獨立的虛擬機,或者更好的是,按照第二個選項中的說明進行操作。

選項2
在其管理的叢集主機上安裝 oVirt Engine Appliance。

我們將進一步認為這個選項更正確、更適合我們的情況。
下面描述了此類 VM 的要求;我僅補充一點,建議基礎架構中至少有兩台可以運行控制 VM 的主機,以使其具有容錯能力。 在這裡我想補充一點,正如我在上一篇文章的評論中已經寫過的那樣,我始終無法得到 裂腦 在由兩台主機組成的 oVirt 叢集上,能夠在它們上執行託管引擎虛擬機器。

在叢集的第一台主機上安裝 oVirt Engine Appliance

官方文件連結 - oVirt 自託管引擎指南, 章節 ”使用命令列部署自承載引擎»

該文件指定了部署託管引擎虛擬機器之前必須滿足的先決條件,也詳細描述了安裝過程本身,因此逐字重複的意義不大,因此我們將重點放在一些重要的細節上。

  • 在開始所有操作之前,請務必在主機的 BIOS 設定中啟用虛擬化支援。
  • 在主機上安裝託管引擎安裝程式套件:

yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm 
yum -y install epel-release
yum install screen ovirt-hosted-engine-setup

  • 我們在主機上的畫面啟動部署 oVirt Hosted Engine 的程序(您可以透過 Ctrl-A + D 退出,透過 Ctrl-D 關閉):

screen
hosted-engine --deploy

如果您願意,可以使用預先準備好的應答檔案來執行安裝:

hosted-engine --deploy --config-append=/var/lib/ovirt-hosted-engine-setup/answers/answers-ohe.conf

  • 部署託管引擎時,我們指定所有必要的參數:

- имя кластера
- количество vCPU и vRAM (рекомендуется 4 vCPU и 16 Гб)
- пароли
- тип хранилища для hosted engine ВМ – в нашем случае FC
- номер LUN для установки hosted engine
- где будет находиться база данных для hosted engine – рекомендую для простоты выбрать Local (это БД PostgreSQL работающая внутри этой ВМ)
и др. параметры. 

  • 為了安裝具有託管引擎的高可用虛擬機,我們之前在儲存系統上建立了一個特殊的 LUN,編號為 4,大小為 150 GB,然後將其提供給叢集主機 - 請參閱 上一篇文章.

之前我們也檢查了它在主機上的可見性:

multipath -ll
…
3600a098000e4b4b3000003c95d171065 dm-3 DELL    , MD38xxf
size=150G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='service-time 0' prio=14 status=active
| `- 15:0:0:4  sdc 8:32  active ready running
`-+- policy='service-time 0' prio=9 status=enabled
  `- 18:0:0:4  sdj 8:144 active ready running

  • 託管引擎部署過程本身並不複雜;最後我們應該收到以下內容:

[ INFO  ] Generating answer file '/var/lib/ovirt-hosted-engine-setup/answers/answers-20191129131846.conf'
[ INFO  ] Generating answer file '/etc/ovirt-hosted-engine/answers.conf'
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination
[ INFO  ] Hosted Engine successfully deployed

我們檢查主機上是否有 oVirt 服務:

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

如果一切正確,則安裝完成後,使用網頁瀏覽器訪問 https://ovirt_hostname/ovirt-engine 從管理員電腦上,然後按一下 [管理入口網站].

「管理入口網站」截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

透過在視窗中輸入登入名稱和密碼(在安裝過程中設定)(如螢幕截圖所示),我們將進入 Open Virtualization Manager 控制面板,您可以在其中對虛擬基礎架構執行所有操作:

  1. 新增資料中心
  2. 新增並配置集群
  3. 新增和管理主機
  4. 為虛擬機器磁碟新增儲存區域或儲存域
  5. 為虛擬機器新增和設定網絡
  6. 新增和管理虛擬機器、安裝映像、VM 模板

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

所有這些行動都將進一步討論,其中一些在大型單元中進行,另一些則更詳細且有細微差別。
但首先我建議閱讀這個附加元件,它可能對許多人有用。

增加

1) 原則上,如果有這樣的需求,那麼沒有什麼可以阻止您使用軟體包在叢集節點上提前安裝 KVM hypervisor libvirt и qemu-kvm (或者 qemu-kvm-ev)所需版本,儘管在部署 oVirt 叢集節點時,它可以自行執行此操作。

但如果 libvirt и qemu-kvm 如果您尚未安裝最新版本,則在部署託管引擎時可能會收到以下錯誤:

error: unsupported configuration: unknown CPU feature: md-clear

那些。 一定有 更新後的版本 libvirt 具有保護 MDS,支持該政策:

<feature policy='require' name='md-clear'/>

安裝 libvirt v.4.5.0-10.el7_6.12,並支援 md-clear:

yum-config-manager --disable mirror.centos.org_centos-7_7_virt_x86_64_libvirt-latest_

yum install centos-release-qemu-ev
yum update
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer libguestfs libguestfs-tools dejavu-lgc-sans-fonts virt-top libvirt libvirt-python libvirt-client

systemctl enable libvirtd
systemctl restart libvirtd && systemctl status libvirtd

檢查“md-clear”支援:

virsh domcapabilities kvm | grep require
      <feature policy='require' name='ss'/>
      <feature policy='require' name='hypervisor'/>
      <feature policy='require' name='tsc_adjust'/>
      <feature policy='require' name='clflushopt'/>
      <feature policy='require' name='pku'/>
      <feature policy='require' name='md-clear'/>
      <feature policy='require' name='stibp'/>
      <feature policy='require' name='ssbd'/>
      <feature policy='require' name='invtsc'/>

之後,您可以繼續安裝託管引擎。

2) 在 oVirt 4.3 中,防火牆的存在與使用 firewalld 是強制性要求。

如果在部署託管引擎的虛擬機器期間我們收到以下錯誤:

[ ERROR ] fatal: [localhost]: FAILED! => {"changed": false, "msg": "firewalld is required to be enabled and active in order to correctly deploy hosted-engine. Please check, fix accordingly and re-deploy.n"}
[ ERROR ] Failed to execute stage 'Closing up': Failed executing ansible-playbook
[https://bugzilla.redhat.com/show_bug.cgi?id=1608467

然後你需要關閉另一個防火牆(如果使用的話),並安裝並運行 firewalld:

yum install firewalld
systemctl enable firewalld
systemctl start firewalld

firewall-cmd --state
firewall-cmd --get-default-zone
firewall-cmd --get-active-zones
firewall-cmd --get-zones

稍後,在叢集的新主機上安裝 ovirt 代理程式時,它將配置所需的連接埠 firewalld автоматически。

3) 重新啟動其上運行有託管引擎的虛擬機器的主機。

和往常一樣 鏈接1 и 鏈接2 到管理文件。

託管引擎虛擬機器的所有管理僅使用命令完成 託管引擎 在運行它的主機上,大約 維爾什 我們必須忘記,您可以透過 SSH 連接到該虛擬機器並運行命令“關閉“。

將虛擬機器置於維護模式的過程:

hosted-engine --set-maintenance --mode=global

hosted-engine --vm-status
!! Cluster is in GLOBAL MAINTENANCE mode !!
--== Host host1.test.local (id: 1) status ==--
conf_on_shared_storage             : True
Status up-to-date                  : True
Hostname                           : host1.test.local
Host ID                            : 1
Engine status                      : {"health": "good", "vm": "up", "detail": "Up"}
Score                              : 3400
stopped                            : False
Local maintenance                  : False
crc32                              : dee1a774
local_conf_timestamp               : 1821
Host timestamp                     : 1821
Extra metadata (valid at timestamp):
        metadata_parse_version=1
        metadata_feature_version=1
        timestamp=1821 (Sat Nov 29 14:25:19 2019)
        host-id=1
        score=3400
        vm_conf_refresh_time=1821 (Sat Nov 29 14:25:19 2019)
        conf_on_shared_storage=True
        maintenance=False
        state=GlobalMaintenance
        stopped=False

hosted-engine --vm-shutdown

我們使用託管引擎代理重新啟動主機並使用它來執行我們需要的操作。

重新啟動後,使用託管引擎檢查 VM 的狀態:

hosted-engine --vm-status

如果我們的具有託管引擎的虛擬機器無法啟動並且我們在服務日誌中看到類似的錯誤:

服務日誌中出現錯誤:

journalctl -u ovirt-ha-agent
...
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.hosted_engine.HostedEngine ERROR Failed to start necessary monitors
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.agent.Agent ERROR Traceback (most recent call last):#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 131, in _run_agent#012    return action(he)#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/agent.py", line 55, in action_proper#012    return he.start_monitoring()#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 413, in start_monitoring#012    self._initialize_broker()#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/agent/hosted_engine.py", line 537, in _initialize_broker#012    m.get('options', {}))#012  File "/usr/lib/python2.7/site-packages/ovirt_hosted_engine_ha/lib/brokerlink.py", line 86, in start_monitor#012    ).format(t=type, o=options, e=e)#012RequestError: brokerlink - failed to start monitor via ovirt-ha-broker: [Errno 2] No such file or directory, [monitor: 'ping', options: {'addr': '172.20.32.32'}]
Jun 29 14:34:44 host1 journal: ovirt-ha-agent ovirt_hosted_engine_ha.agent.agent.Agent ERROR Trying to restart agent

然後我們連接儲存並重新啟動代理:

hosted-engine --connect-storage
systemctl restart ovirt-ha-agent
systemctl status ovirt-ha-agent

hosted-engine --vm-start
hosted-engine --vm-status

使用託管引擎啟動虛擬機器後,我們將其退出維護模式:

將虛擬機器從維護模式中刪除的過程:

hosted-engine --check-liveliness
hosted-engine --set-maintenance --mode=none
hosted-engine --vm-status

--== Host host1.test.local (id: 1) status ==--

conf_on_shared_storage             : True
Status up-to-date                  : True
Hostname                           : host1.test.local
Host ID                            : 1
Engine status                      : {"health": "good", "vm": "up", "detail": "Up"}
Score                              : 3400
stopped                            : False
Local maintenance                  : False
crc32                              : 6d1eb25f
local_conf_timestamp               : 6222296
Host timestamp                     : 6222296
Extra metadata (valid at timestamp):
        metadata_parse_version=1
        metadata_feature_version=1
        timestamp=6222296 (Fri Jan 17 11:40:43 2020)
        host-id=1
        score=3400
        vm_conf_refresh_time=6222296 (Fri Jan 17 11:40:43 2020)
        conf_on_shared_storage=True
        maintenance=False
        state=EngineUp
        stopped=False

4) 刪除託管引擎以及與之相關的所有內容。

有時需要正確刪除先前安裝的託管引擎 - 鏈接 至指導文件。

只需在主機上執行命令:

/usr/sbin/ovirt-hosted-engine-cleanup

接下來,我們刪除不必要的包,如有必要,在此之前備份一些配置:

yum autoremove ovirt* qemu* virt* libvirt* libguestfs 

建立新的資料中心

參考文件 - oVirt 管理指南。 第 4 章:資料中心

首先我們來定義它是什麼 資料中心 (我引用自幫助)是一個邏輯實體,它定義了在特定環境中使用的一組資源。

資料中心是一種容器,由以下部分組成:

  • 叢集和主機形式的邏輯資源
  • 主機上邏輯網路和實體適配器形式的叢集網路資源,
  • 儲存區域(儲存域)形式的儲存資源(用於 VM 磁碟、範本、映像)。

資料中心可以包括由多個主機組成的多個集群,這些主機上運行虛擬機,並且還可以有多個與其關聯的儲存區域。
可以有多個資料中心;它們彼此獨立運作。 Ovirt 按角色劃分權力,您可以在資料中心層級及其各個邏輯元素上單獨配置權限。

資料中心或多個資料中心(如果有多個資料中心)透過單一管理控制台或入口網站進行管理。

若要建立資料中心,請前往管理入口網站並建立新的資料中心:
計算 >> 數據中心 >> 全新

由於我們在儲存系統上使用共享存儲,因此存儲類型應該是共享的:

資料中心建立精靈的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

安裝具有hosted-engine的虛擬機器時,預設會建立一個資料中心 - 數據中心1,然後,如有必要,您可以將其儲存類型變更為其他類型。

建立資料中心是一項簡單的任務,沒有任何棘手的細微差別,文件中描述了與之相關的所有其他操作。 我唯一要注意的是,僅具有用於虛擬機器的本地存儲(磁碟)的單一主機將無法進入存儲類型為共享的數據中心(它們無法添加到那裡),並且您需要為它們創建一個單獨的數據中心- 即每台具有本地儲存的主機都需要自己獨立的資料中心。

建立新集群

文件連結 - oVirt 管理指南。 第 5 章:集群

沒有不必要的細節, – 這是具有公共儲存區域的主機的邏輯分組(以儲存系統上的共用磁碟的形式,如我們的範例)。 也希望叢集中的主機具有相同的硬體並具有相同類型的處理器(Intel 或 AMD)。 當然,叢集中的伺服器最好是完全相同的。

叢集是資料中心的一部分(具有特定類型的儲存 - 當地共享),並且所有主機必須屬於某種集群,具體取決於它們是否具有共享儲存。

在主機上安裝具有託管引擎的虛擬機器時,預設會建立一個資料中心 - 數據中心1,與簇一起 – 集群1,將來您可以配置其參數、啟用其他選項、向其添加主機等。

與往常一樣,有關所有集群設置的詳細信息,建議參閱官方文檔。 關於設定叢集的一些功能,我只補充一點,在建立叢集時,只需在選項卡上配置基本參數即可 .

我會記下最重要的參數:

  • 處理器類型 - 根據叢集主機上安裝的處理器、它們來自哪個製造商以及主機上的哪個處理器是最舊的來選擇,因此,根據此,使用叢集中的所有可用處理器指令。
  • 開關類型 – 在我們的叢集中,我們只使用 Linux 橋接器,這就是我們選擇它的原因。
  • 防火牆類型 – 這裡一切都清楚了,這是firewalld,必須在主機上啟用和設定。

帶有集群參數的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

在自架環境中安裝附加主機

鏈接 用於文檔。

自託管環境的其他主機的新增方式與常規主機相同,但也需要部署具有託管引擎的虛擬機器 - 選擇託管引擎部署操作 >> 部署。 由於附加主機還必須提供用於具有託管引擎的 VM 的 LUN,這意味著如果需要,該主機可以用於託管其上具有託管引擎的 VM。
出於容錯目的,強烈建議至少有兩台主機可以放置託管引擎虛擬機器。

在附加主機上,停用 iptables(如果已啟用),啟用firewalld

systemctl stop iptables
systemctl disable iptables

systemctl enable firewalld
systemctl start firewalld

安裝所需的 KVM 版本(如有必要):

yum-config-manager --disable mirror.centos.org_centos-7_7_virt_x86_64_libvirt-latest_

yum install centos-release-qemu-ev
yum update
yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python libvirt-client virt-install virt-viewer libguestfs libguestfs-tools dejavu-lgc-sans-fonts virt-top libvirt libvirt-python libvirt-client

systemctl enable libvirtd
systemctl restart libvirtd && systemctl status libvirtd

virsh domcapabilities kvm | grep md-clear

安裝必要的儲存庫和託管引擎安裝程式:

yum -y install http://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
yum -y install epel-release
yum update
yum install screen ovirt-hosted-engine-setup

接下來,進入控制台 開啟虛擬化管理器,新增一個新主機,然後一步一步做所有事情,如中所寫 文件.

因此,在添加額外的主機後,我們應該在管理控制台中看到類似圖片的內容,如螢幕截圖所示。

管理入口網站 - 主機的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

託管引擎虛擬機器目前處於活動狀態的主機有一頂金冠,並刻有“運行託管引擎虛擬機“,如有必要,可以在其上啟動該虛擬機的主機 - 銘文“可以運行託管引擎VM“。

如果主機發生故障,則“運行託管引擎虛擬機",它將在第二台主機上自動重新啟動。 此虛擬機器也可以從主用主機遷移到備用主機進行維護。

在 oVirt 主機上設定電源管理/防護

文件連結:

雖然看起來您已經完成了主機的新增和配置,但事實並非如此。
為了使主機正常運行,並識別/解決其中任何主機的故障,需要電源管理/防護設定。

擊劍隔離(fencing)是從叢集中暫時排除故障或故障的主機的過程,在此期間,主機上的 oVirt 服務或主機本身都會重新啟動。

像往常一樣,文件中給出了有關電源管理/防護的定義和參數的所有詳細資訊;我將僅舉例說明如何配置此重要參數,例如應用於配備 iDRAC 640 的 Dell R9 伺服器。

  1. 進入管理門戶,點選 計算 >> 主機 選擇一個主機。
  2. 點選 編輯.
  3. 點選選項卡 電源管理應用.
  4. 選取該選項旁邊的方塊 啟用電源管理.
  5. 選取該選項旁邊的方塊 Kdump 集成以防止主機在記錄內核故障轉儲時進入防護模式。

注。

在已運行的主機上啟用 Kdump 整合後,必須按照 oVirt Administration Guide -> 中的步驟重新安裝它 第 7 章:主機 -> 重新安裝主機。

  1. 或者,您可以選取該方塊 禁用電源管理的策略控制,如果我們不希望主機電源管理由叢集的調度策略控制。
  2. 單擊按鈕(+)要新增新的電源管理設備,將開啟代理屬性編輯視窗。
    對於 iDRAC9,請填寫欄位:

    • 地址 – iDRAC9 位址
    • 用戶名密碼 – 分別用於登入 iDRAC9 的登入名稱和密碼
    • 類別 —drac5
    • 標記 安全
    • 新增以下選項: cmd_prompt=>,login_timeout=30

主機屬性中包含「電源管理」參數的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

建立儲存區域或儲存域

文件連結 - oVirt 管理指南, 第 8 章:存儲.

儲存域或儲存區域,是儲存虛擬機器磁碟、安裝映像、範本和快照的集中位置。

儲存區域可以使用各種協定、叢集和網路檔案系統連接到資料中心。

oVirt 有三種類型的儲存區域:

  • 數據域 – 儲存與虛擬機器相關的所有資料(磁碟、範本)。 Data Domain 不能在不同資料中心之間共用。
  • ISO域 (過時的儲存區域類型) – 用於儲存作業系統安裝映像。 ISO Domain可以在不同資料中心之間共用。
  • 匯出域名 (過時的儲存區域類型)-用於暫時儲存在資料中心之間移動的影像。

在我們的特定案例中,Data Domain 類型的儲存區域使用光纖通道協定 (FCP) 連接到儲存系統上的 LUN。

從oVirt的角度來看,當使用儲存系統(FC或iSCSI)時,每個虛擬磁碟、快照或範本都是一個邏輯磁碟。
區塊設備使用卷組組裝成單一單元(在叢集主機上),然後使用 LVM 劃分為邏輯卷,這些邏輯卷用作 VM 的虛擬磁碟。

使用下列命令可以在叢集主機上看到所有這些群組和許多 LVM 卷 視頻 и LVS。 當然,除特殊情況外,此類磁碟的所有操作都只能從 oVirt 控制台完成。

VM 的虛擬磁碟可以有兩種類型 - QCOW2 或 RAW。 光碟可能是“薄的“ 或者 ”厚的“。快照始終創建為“".

管理儲存域或透過 FC 存取的儲存區域的方式非常合乎邏輯 - 對於每個 VM 虛擬磁碟,都有一個單獨的邏輯卷,只能由一台主機寫入。 對於 FC 連接,oVirt 使用叢集 LVM 之類的東西。

位於相同儲存區域的虛擬機器可以在屬於相同叢集的主機之間遷移。

從描述中我們可以看出,oVirt 中的叢集與VMware vSphere 或Hyper-V 中的叢集本質上是同一件事——它是主機的邏輯分組,最好在硬體組成上相同,並且具有用於虛擬化的公共儲存。機器磁碟。

讓我們直接建立資料儲存區域(VM 磁碟),因為沒有它,資料中心將無法初始化。
讓我提醒您,儲存系統上提供給叢集主機的所有 LUN 必須在使用命令“的情況下在它們上可見”多路徑-ll“。

根據 文件, 轉至門戶 轉至 儲存應用 >> -> 新域 並按照「新增 FCP 儲存」部分的說明進行操作。

啟動精靈後,填寫必填欄位:

  • 姓名 — 設定叢集名稱
  • 域函數 -數據
  • 存儲類型 - 光纖通道
  • 主機使用 — 選擇我們需要的 LUN 可用的主機

在LUN清單中,標記我們需要的LUN,按一下 加入 然後 ОК。 如有必要,您可以透過按一下 來調整儲存區域的其他參數 高級參數.

新增「儲存域」精靈截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

根據嚮導的結果,我們應該會收到一個新的儲存區域,並且我們的資料中心應該移動到狀態 UP,或初始化:

資料中心及其儲存區域的螢幕截圖:

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

為虛擬機器建立和設定網絡

文件連結 - oVirt 管理指南, 第 6 章:邏輯網絡

網路或網路用於對 oVirt 虛擬基礎架構中使用的邏輯網路進行分組。

為了在虛擬機器上的網路介面卡和主機上的實體適配器之間進行交互,需要使用Linux橋接器等邏輯介面。

為了對網路之間的流量進行分組和劃分,需要在交換器上設定 VLAN。

在oVirt中為虛擬機器建立邏輯網路時,必須為其分配與交換器上的VLAN號相對應的標識符,以便虛擬機器可以相互通信,即使它們運行在叢集的不同節點上。

主機上用於連接虛擬機器的網路適配器的初步設定必須在 上一篇文章 – 設定邏輯介面 bondxnumx,那麼所有網路設定只能透過 oVirt 管理入口網站進行。

建立具有hosted-engine的VM後,除了自動建立資料中心和叢集之外,還自動建立了邏輯網路來管理我們的叢集 - 奧夫里特姆特,該虛擬機器已連接到該虛擬機器。

如有必要,您可以查看邏輯網路設置 奧夫里特姆特 並調整它們,但您必須小心,不要失去對 oVirt 基礎設施的控制。

邏輯網路設定 ovritmgmt

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

若要為常規虛擬機器建立新的邏輯網絡,請在管理入口網站中前往 網絡 >> 網絡應用 >> 全新,並在選項卡上 新增具有所需 VLAN ID 的網絡,並選取“虛擬機器網絡”,這意味著它可以用於分配給虛擬機器。

新 VLAN32 邏輯網路的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

在選項卡中 ,我們將此網路附加到我們的集群 集群1.

之後我們去 計算 >> 主機,依序進入每個主機,進入選項卡 網絡接口,然後啟動嚮導 設定主機網絡,綁定到新邏輯網路的主機。

「設定主機網路」精靈的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

oVirt 代理程式將自動在主機上進行所有必要的網路設定 - 建立 VLAN 和橋接。

主機上新網路的設定檔範例:

cat ifcfg-bond1
# Generated by VDSM version 4.30.17.1
DEVICE=bond1
BONDING_OPTS='mode=1 miimon=100'
MACADDR=00:50:56:82:57:52
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

cat ifcfg-bond1.432
# Generated by VDSM version 4.30.17.1
DEVICE=bond1.432
VLAN=yes
BRIDGE=ovirtvm-vlan432
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

cat ifcfg-ovirtvm-vlan432
# Generated by VDSM version 4.30.17.1
DEVICE=ovirtvm-vlan432
TYPE=Bridge
DELAY=0
STP=off
ONBOOT=yes
MTU=1500
DEFROUTE=no
NM_CONTROLLED=no
IPV6INIT=no

再次提醒大家,在叢集主機上 不需要 提前手動建立網路介面 ifcfg-bond1.432 и ifcfg-ovirtvm-vlan432.

新增邏輯網路並檢查主機與託管引擎VM之間的連線後,即可在虛擬機器中使用。

建立用於部署虛擬機器的安裝映像

文件連結 - oVirt 管理指南, 第 8 章:存儲,將圖像上傳到資料儲存域部分。

如果沒有作業系統安裝映像,則無法安裝虛擬機,但這當然不是問題,例如安裝在網路上 皮匠 與預先創建的圖像。

在我們的例子中,這是不可能的,因此您必須自行將此映像匯入 oVirt 中。 以前,這需要建立一個 ISO 網域,但在新版本的 oVirt 中,它已被棄用,因此您現在可以從管理入口網站將映像直接上傳到儲存域。

在管理入口網站中,前往 儲存應用 >> 磁盤 >> 上傳 >> 開始
我們將作業系統映像新增為 ISO 文件,填寫表單中的所有字段,然後點擊按鈕“測試連接".

新增安裝映像精靈的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

如果我們收到這樣的錯誤:

Unable to upload image to disk d6d8fd10-c1e0-4f2d-af15-90f8e636dadc due to a network error. Ensure that ovirt-imageio-proxy service is installed and configured and that ovirt-engine's CA certificate is registered as a trusted CA in the browser. The certificate can be fetched from https://ovirt.test.local/ovirt-engine/services/pki-resource?resource=ca-certificate&format=X509-PEM-CA`

然後您需要將oVirt證書新增至“受信任的根 CA「(受信任的根 CA)在管理員的控制台上,我們嘗試從那裡下載映像。

將憑證新增至受信任的根CA後,再次按一下“測試連接「, 應得:

Connection to ovirt-imageio-proxy was successful.

完成新增憑證的操作後,您可以嘗試再次將 ISO 映像上傳到儲存網域。

原則上,您可以使用資料類型建立一個單獨的儲存域,以將映像和範本與虛擬機器磁碟分開存儲,甚至將它們儲存在託管引擎的儲存域中,但這由管理員決定。

託管引擎儲存域中 ISO 映像的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

創建虛擬機

文件連結:
oVirt 虛擬機器管理指南 –> 第 2 章:安裝 Linux 虛擬機
控制台客戶端資源

將帶有作業系統的安裝映像載入到oVirt中後,您可以直接繼續建立虛擬機器。 已經做了很多工作,但我們已經處於最後階段,所有這一切都是為了獲得一個容錯基礎設施來託管高可用的虛擬機器。 而且這一切都是完全免費的——沒有花一分錢購買任何軟體許可證。

若要建立使用 CentOS 7 的虛擬機,必須從作業系統下載安裝映像。

我們轉到管理門戶,前往 計算 >> 虛擬機,然後啟動 VM 建立精靈。 填寫所有參數和字段,然後單擊 ОК。 如果您遵循文檔,一切都會非常簡單。

作為範例,我將給出一個高可用虛擬機的基本和附加設置,該虛擬機具有創建的磁碟、連接到網路並從安裝映像啟動:

具有高可用虛擬機器設定的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

完成精靈的工作後,關閉它,啟動新的虛擬機器並在其上安裝作業系統。
為此,請透過管理入口網站前往該虛擬機器的控制台:

用於連接到 VM 控制台的管理入口網站設定的螢幕截圖

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

若要連線到 VM 控制台,必須先在虛擬機器的屬性中設定控制台。

虛擬機器設定的螢幕截圖,「控制台」標籤

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

若要連接到 VM 控制台,您可以使用,例如, 虛擬機器檢視器.

若要在瀏覽器視窗中直接連接到 VM 控制台,透過控制台的連線設定應如下:

建立容錯的 IT 基礎架構。 第 2 部分:安裝和設定 oVirt 4.3 集群

在VM上安裝作業系統後,建議安裝oVirt guest代理:

yum -y install epel-release
yum install -y ovirt-guest-agent-common
systemctl enable ovirt-guest-agent.service && systemctl restart ovirt-guest-agent.service
systemctl status ovirt-guest-agent.service

因此,由於我們的操作,創建的虛擬機器將具有高可用性,即如果執行它的叢集節點發生故障,oVirt 將自動在第二個節點上重新啟動它。 該虛擬機器還可以在叢集主機之間遷移以進行維護或其他目的。

結論

我希望本文能夠傳達這樣的訊息:oVirt 是一個完全正常的管理虛擬基礎設施的工具,部署起來並不困難 - 最主要的是遵循本文和文件中描述的某些規則和要求。

由於文章篇幅較大,無法包含許多內容,例如各種嚮導的逐步執行以及所有詳細解釋和螢幕截圖、某些命令的長結論等。 事實上,這需要寫一整本書,這沒有多大意義,因為新版本的軟體不斷出現,伴隨著創新和變化。 最重要的是了解它們如何協同工作的原理,並獲得創建管理虛擬機器的容錯平台的通用演算法。

儘管我們已經創建了虛擬基礎架構,但我們現在需要教導它在各個元素之間進行互動:主機、虛擬機器、內部網路以及與外部世界。

這個過程是系統或網路管理員的主要任務之一,將在下一篇文章中介紹 - 關於在我們企業的容錯基礎設施中使用 VyOS 虛擬路由器(正如您所猜測的,它們將作為虛擬路由器工作)我們的oVirt 叢集上的機器)。

來源: www.habr.com

添加評論