Quantcast
Channel: 不自量力 の Weithenn
Viewing all 590 articles
Browse latest View live

Unauthorized name in RAKP2

$
0
0


Question: Unauthorized name in RAKP2

嘗試執行 Playbook 透過 ipmi_power 模組 Power On 主機時,出現「Unauthorized name in RAKP2」錯誤訊息?





Answer:

簡單來說,這個「Unauthorized name in RAKP2」錯誤訊息,是執行的 Playbook 中「IPMI 帳號或密碼錯誤」所導致。

雖然,參考 How Do I Use Ansible Tower's Credential Parameters (Machine, Network, Cloud) in my Playbook? - Red Hat Customer Portal這篇文章,採用下列方式呼叫「username and password parameters from Ansible facts」,但是因為 Playbook 中有「connection: local」,所以無法順利使用
vars:
  machine:
    username: '{{ ansible_user }}'
    password: '{{ ansible_password }}'


最後,參考 Ansible Tower Blog - Feature Spotlight: Custom Credentials這篇文章內容,建立「新的 Credential Types」而不要使用內建的「Machine」Credential Types。如下列所示,建立新的 Credential Types,在 INPUT Configuration 部份採用:
fields:
  - id: username
    type: string
    label: Supermicro IPMI username
  - id: password
    type: string
    label: Supermicro IPMI password
    secret: true
required:
  - username
  - password


INJECTOR Configuration 部份採用:
extra_vars:
  Supermicro_password: '{{ password }}'
  Supermicro_username: '{{ username }}'



接著,建立 Credential Types 時,便採用剛才新增的「IPMI - Supermicro」Credential Types。


在 Playbook 中便可以使用「"{{ Supermicro_username }}"」和「"{{ Supermicro_password }}"」來呼叫 Credential Types 的使用者帳號和密碼了。




Failed to start poweroff connection timed out

$
0
0


Question: Failed to start poweroff.target:  Connection timed out

執行 Playbook 內容為「systemctl poweroff」,但是結果卻是失敗並顯示下列錯誤訊息?

Failed to start poweroff.target:  Connection timed out



Answer:

簡單來說,針對 CentOS 7 主機,無論是 Reboot 或 Poweroff 在 Playbook 中都必須搭配「async 和 poll」,否則便會出現上述錯誤訊息。請參考下列相關文章內容即可知原因:


將 Playbook 內容改為如下即可順利執行:



網管人 171 期 - 動手部署叢集集合彙整容錯資源組成大群

$
0
0


網管人雜誌

本文刊載於 網管人雜誌第 171 期 - 2020 年 4 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。






文章目錄

前言
剖析叢集集合運作架構
          叢集集合運作架構和角色
          叢集集合的常見疑問
實戰叢集集合
          建立叢集集合
          加入成員叢集
          檢查叢集集合命名空間功能
          建立容錯網域
          建立可用性集合
          組態設定即時遷移權限
          部署 VM 虛擬主機至叢集集合
          跨成員叢集遷移 VM 虛擬主機
結語





前言

在現代化 IT 基礎架構中,企業和組織的資料中心架構,已經從過去單獨或多個各自運作的容錯移轉叢集,轉變成「軟體定義資料中心」(Software Defined Data Center,SDDC)的運作架構(如圖 1 所示)。因此,在 SDDC 軟體定義資料中心的架構下,多個容錯移轉叢集之間,不僅能夠互相支援達到負載平衡,並且當災難發生時更能夠達到容錯移轉的目的。

圖 1、在 SDDC 軟體定義資料中心架構下多個容錯移轉叢集運作架構示意圖

新一代雲端作業系統 Windows Server 2019,新增「叢集集合」(Cluster Set)容錯移轉叢集特色功能。簡單來說,叢集集合能夠將多個各自運作的容錯移轉叢集,透過「鬆散耦合」(Loosely-Coupled)的方式將資源彙整,也就是將多個容錯移轉叢集把 運算 / 儲存 / 網路 等硬體資源融合在一起,建構出一個採用「統一儲存命名空間」(Unified Storage Namespace)的超大型融合式容錯移轉叢集。

那麼,對於企業和組織來說使用叢集集合能夠帶來什麼好處? 首先,對於資料中心的維運人員來說,過去所有的管理經驗和工具都能持續使用無須變更,同時多個容錯移轉叢集雖然融合為一個超大型容錯移轉叢集,然而每個容錯移轉叢集仍然具備獨立性和彈性,舉例來說,管理人員倘若有兩個不同儲存資源的 S2D HCI 超融合容錯移轉叢集,其中一個 HCI 叢集採用 Hybrid(SSD+HDD)儲存資源,另一個 HCI 叢集採用 All-Flash(NVMe+SSD)儲存資源,那麼企業便可以將正式營運環境或需要大量儲存資源的 VM 虛擬主機,運作在採用 All-Flash 儲存資源的 HCI 叢集上,而第二線營運服務或測試用途的 VM 虛擬主機,則運作在 Hybrid 儲存資源的 HCI 叢集即可。

此外,採用叢集集合也能增加容錯移轉叢集的可用性,舉例來說,企業和組織建構一個具有 8 台節點主機的 HCI 叢集,資料保護則採用自動複寫三份的 3-Way Mirror 方式進行保護,然而當這個 HCI 叢集發生重大災難事件,導致 3 台節點主機發生故障無法服務,那麼仍然會導致 VM 虛擬主機無法運作並且遺失資料。

同樣的基礎架構運作環境,企業和組織分別建構兩個 HCI 叢集,並且每個 HCI 叢集具備 4 台節點主機,並且同樣採自動複寫三份的 3-Way Mirror 方式進行資料保護,當災難事件發生時,其中一個 HCI 叢集 2 台節點主機發生故障無法服務,另一個 HCI 叢集 1 台節點主機發生故障無法服務。此時,運作在兩個 HCI 叢集中的 VM 虛擬主機,仍然能夠持續正常運作並且不會發生任何資料遺失的情況。





剖析叢集集合運作架構

事實上,透過叢集集合的運作機制,能夠幫助企業和組織在自家地端資料中心內,輕鬆建構出類似 Azure 公有雲環境中,高可用性和叢集生命週期管理的「容錯網域」(Fault Domains)「可用性集合」(Availability Sets)機制(如圖 2 所示)。

圖 2、Azure 容錯網域和可用性集合機制運作架構示意圖



叢集集合運作架構和角色

在開始實戰演練叢集集合技術之前,我們必須先了解叢集集合的運作架構和角色(如圖 3 所示),以便稍後實作演練時能夠順利建構叢集集合,並且在後續發生問題時能夠進行故障排除作業。

  • 管理叢集:在叢集集合運作架構中,擔任「管理叢集」(Management Cluster)角色的容錯移轉叢集,將會負責指揮和承載整個叢集集合的高可用性管理的工作任務,並且採用「向外延展檔案伺服器」(Scale-Out File Server,SOFS)機制,提供對外服務和統一的「叢集集合命名空間」(Cluster Set Namespace)。在一般情況下,擔任管理叢集角色的容錯移轉叢集,並不會運作任何 VM 虛擬主機的工作負載,除非發生重大災難事件或特殊情況。
  • 成員叢集:擔任「成員叢集」(Member Cluster)角色的容錯移轉叢集,一般來說將會建構新一代的 S2D 超融合容錯移轉叢集,並且運作大量的 VM 虛擬主機或容器等工作負載,並且加入叢集集合運作架構中的「容錯網域」(Fault Domains)和「可用性集合」(Availability Sets)。
  • 叢集集合命名空間轉介至 SOFS:由管理叢集透過 SOFS 機制所建構的唯一叢集集合命名空間,而這個 SOFS 轉介採用的 SMB 共享機制,為新一代 Windows Server 2019 雲端作業系統中,新增的「SimpleReferral」特色功能,讓 SMB Client 的存取作業能夠自動導向至適合的成員叢集。由於,這個特殊的 SOFS 為輕量級的轉介機制,所以不會參與 SMB I/O 路徑,這也是一般情況下管理叢集不會運作 VM 虛擬主機和容器等工作負載的主要原因。
  • 主要叢集集合:在叢集集合運作架構中多個成員叢集彼此之間,將會透過機制自動選舉出「主要叢集集合」(Cluster Set Master,CS-Master)角色,並採用新式的叢集集合 WMI 提供者機制,與成員叢集進行互相通訊,以便因應管理叢集或成員叢集發生災難事件時執行復原程序。
  • 工作者叢集集合: 每個成員叢集都會運作一個「工作者叢集集合」(Cluster Set Worker,CS-Worker)執行個體,並且與 CS-Master 角色互相通訊,以便將成員叢集的硬體資源和 VM 虛擬主機存放資訊提供給 CS-Master 角色,以利後續運作 VM 虛擬主機和容器等工作負載。
  • 容錯網域: 一般來說,企業和組織的資料中心管理人員,會將同一組可能發生故障的成員叢集,指定為同一個「容錯網域」(Fault Domains),例如,這些成員叢集內的成員主機,共用同一個機櫃中的 PDU 機櫃排插,或連接至同一台網路交換器。但是,不管成員主機是否同為一個容錯網域,都可以加入可用性集合內。
  • 可用性集合: 透過「可用性集合」(Availability Sets)機制,為叢集集合內運作的 VM 虛擬主機或容器等工作負載提供高可用性機制。在微軟官方的最佳建議作法中,倘若要保持 VM 虛擬主機或容器的高可用性,應該將 VM 虛擬主機和容器等工作負載,運作在可用性集合內「不同」的兩個容錯網域當中,以避免其中一個容錯網域發生災難事件時,仍然能夠保持服務的高可用性。

圖 3、叢集集合運作架構示意圖



叢集集合的常見疑問

至此,雖然已經說明叢集集合的運作架構和角色,然而管理人員可能仍然對叢集集合有其它疑問,例如,叢集集合是否僅支援採用新式的 S2D 超融合容錯移轉叢集才能建構,倘若採用舊式共享儲存設備建構的 Hyper-V 容錯移轉叢集,是否也能加入叢集集合當中? 以下為條列,剛開始接觸叢集集合的管理人員,最常見疑問進行快問快答:

  • 叢集集合是否僅支援 S2D 超融合容錯移轉叢集?當然不是! 管理人員可以在叢集集合中,同時混用傳統共享式儲存設備的 Hyper-V 容錯移轉叢集,以及新式的 S2D 超融合容錯移轉叢集。
  • 可以透過 SCVMM 管理叢集集合嗎?不行! 目前,僅支援採用 PowerShell 或 WMI 管理和組態設定叢集集合,而 SCVMM 管理工具則尚未支援叢集集合。
  • 舊有的容錯移轉叢集能否加入叢集集合?不行! 由於叢集集合技術是新一代 Windows Server 2019 的新增功能,因此不支援舊有的 Windows Server 2012 R2 或 2016 的容錯移轉叢集,直接加入至新式的叢集集合當中。但是,原來舊有的 Windows Server 2012 R2 或 2016 的容錯移轉叢集,可以透過滾動升級至 Windows Server 2019 的方式,然後加入至新式的叢集集合當中。
  • 在叢集集合架構中,能否僅擴充儲存空間或運算資源?可以! 資料中心的管理人員,可以隨著企業和組織的工作負載需求,擴充成員叢集內的成員主機數量或硬體資源,或是新增成員叢集至容錯網域和可用性集合內,達到擴充儲存或運算資源的目的。
  • 叢集集合是否支援 VM 虛擬主機跨不同處理器遷移?不行! 事實上,這並非是叢集集合的限制而是 Hyper-V 虛擬化平台的限制,倘若真的需要進行跨 CPU 處理器世代的遷移時,目前僅支援採用「快速遷移」(Quick Migration)搭配處理器相容模式達成。因此,建議叢集集合內的成員叢集伺服器,應該採用相同世代的 CPU 處理器,以便 VM 虛擬主機能夠在叢集集合內不同的成員叢集之間進行遷移。
  • 叢集集合是否支援 IPv6 網路環境?  可以! 跟傳統容錯移轉叢集一樣,都支援 IPv4 和 IPv6 網路環境。
  • 叢集集合對於 Active Directory 的要求是什麼?所有成員叢集必須處於同一個 Active Directory 樹系當中。
  • 叢集集合支援多少台叢集節點?在 Windows Server 2019 運作環境中,微軟已經建構並測試可支援至 64 台叢集節點。事實上,叢集集合可以支援更大的運作規模就像 Azure 公有雲一樣,倘若企業和組織需要超大型運作規模時,可以向微軟請求專業技術支援。
  • 叢集集合內的 S2D 成員叢集是否能匯整成更大的儲存資源?不行! 目前的 S2D 技術,仍僅支援在單個叢集中運作,尚未支援將多個成員叢集的 S2D 儲存資源進行匯整。






實戰叢集集合

在本文實作環境中,總共建立三個容錯移轉叢集,分別是擔任管理叢集的「MGMT-Cluster」,以及兩個擔任成員叢集的「MBR-Cluster01、MBR-Cluster02」(如圖 4 所示),其中成員叢集採用 S2D 超融合建構,並且每個成員叢集中有兩台叢集節點主機。

圖 4、實作叢集集合運作環境



建立叢集集合

當叢集集合運作環境準備完成後,管理人員便可以執行 New-ClusterSet 指令建立叢集集合,在本文實作環境中,叢集集合的名稱為「CS-Master」,而屆時存取的叢集集合命名空間為「SOFS-ClusterSet」,至於負責管理叢集工作任務的容錯移轉叢集名稱為「MGMT-Cluster」,最後則是指定叢集集合名稱 CS-Master 使用的固定 IP 位址為「10.10.75.40」(如圖 5 所示)。
系統將會至 DC 網域控制站,建立 CS-Master、SOFS-ClusterSet 容錯移轉叢集電腦帳戶,以及新增 CS-Master 解析為 10.10.75.40 的 DNS 解析紀錄,至於 SOFS-ClusterSet 則直接採用 MGMT-Cluster 管理叢集的節點主機 IP 位址為 DNS 解析紀錄。
圖 5、建立叢集集合並指定命名空間和使用的固定 IP 位址

當叢集集合順利建立完成後,切換至 MGMT-Cluster 管理叢集中,可以發現系統已經自動新增「Infrastructure File Server」、「Scaleout Master」這兩個角色(如圖 6 所示)。

圖 6、管理叢集自動新增 Infrastructure File Server 和 Scaleout Master 角色



加入成員叢集

叢集集合中的管理叢集已經成形,接著請執行 Add-ClusterSetMember指令將成員叢集加入,在本文實作環境中,兩個成員叢集的名稱為「MBR-Cluster01」、「MBR-Cluster02」,而屆時運作工作負載的 SOFS 名稱則為「MBR01-SOFS」、「MBR02-SOFS」(如圖 7 所示)。
系統將會至 DC 網域控制站,建立 MBR01-SOFS、MBR02-SOFS 容錯移轉叢集電腦帳戶,並直接採用成員叢集的節點主機 IP 位址為 DNS 解析紀錄。
圖 7、加入兩個成員叢集至叢集集合中

同樣的,當兩個成員叢集順利加入叢集集合之後,切換至 MBR-Cluster01 或 MBR-Cluster02 成員叢集時,可以發現系統已經自動新增「Infrastructure File Server」、「Scaleout Worker」這兩個角色(如圖 8 所示)。

圖 8、管理叢集自動新增 Infrastructure File Server 和 Scaleout Worker 角色

除了透過容錯移轉叢集管理員進行查看之外,後續管理人員也可以隨時以 PowerShell 指令查詢叢集集合運作環境。執行「Get-ClusterSet」指令,查詢叢集集合中管理叢集和 SOFS 叢集集合命名空間,執行「Get-ClusterSetMember」指令,查詢成員叢集的叢集名稱以及運作狀態,執行「Get-ClusterSetNode」指令,查詢成員叢集中節點主機名稱以及運作狀態(如圖 9 所示)。

圖 9、查詢叢集集合、管理叢集、成員叢集、節點主機等運作狀態



檢查叢集集合命名空間功能

叢集集合中的管理叢集和成員叢集已經建立完成,在開始下一步動作之前,先確認叢集集合命名空間的 SOFS 轉介機制是否運作正常,確保屆時 SMB Client 存取作業能夠自動導向至適合的成員叢集。在管理叢集中執行 Get-SmbShare指令,即可看到叢集集合命名空間「SOFS-ClusterSet」,以及屆時轉介至成員叢集所對應的 SOFS 儲存路徑和儲存資源「MBR01-Volume」、「MBR02-Volume」(如圖 10 所示)。

圖 10、檢查叢集集合命名空間是否運作正常

除了透過指令檢查之外,管理人員也可以開啟檔案總管,透過 UNC 路徑的方式存取叢集集合命名空間「\\SOFS-ClusterSet」,同樣可以看到轉介至成員叢集所對應的 SOFS 儲存路徑和儲存資源「MBR01-Volume」、「MBR02-Volume」(如圖 11 所示)。

圖 11、透過 UNC 路徑的方式存取叢集集合命名空間



建立容錯網域

在本文實作環境中,兩個成員叢集分別部署在不同的機櫃,並且叢集節點採用不同的 PDU 機櫃排插,同時也連接至不同台網路交換器。因此,為了讓屆時運作於叢集集合中的工作負載具備高可用性,我們將兩個成員叢集指定為不同的容錯網域。

執行 New-ClusterSetFaultDomain指令,指定 MBR-Cluster01成員叢集的容錯網域名稱為「FD1」,指定 MBR-Cluster02 成員叢集的容錯網域名稱為「FD2」(如圖 12 所示)。
每個容錯網域中,皆可以包括多個成員叢集至其中。
圖 12、指定兩個成員叢集分別為不同的容錯網域

建立容錯網域後,透過 Get-ClusterSetFaultDomain 指令,即可查詢每個容錯網域包括哪些成員叢集,以及每個成員叢集的詳細資訊(如圖 13 所示)。

圖 13、查詢容錯網域包括哪些成員叢集和運作資訊



建立可用性集合

建立多個容錯網域之後,最後透過可用性集合的方式將多個容錯網域包括至其中,屆時即可為叢集集合內運作的 VM 虛擬主機或容器等工作負載提供高可用性機制。在本文實作環境中,執行 New-ClusterSetAvailabilitySet指令,建立名稱為「AvailabilitySet」的可用性集合(如圖 14 所示)。

圖 14、建立可用性集合



組態設定即時遷移權限

為了因應叢集集合中,成員叢集工作負載進行負載平衡,或者發生災難事件時能夠進行「即時遷移」(Live Migration)。因此,必須為成員叢集中每台叢集節點主機的電腦帳戶,組態設定即時遷移權限,並且將管理叢集的電腦帳戶新增至每台叢集節點主機的本機 Administrators 群組成員中。

舉例來說,在 MBR-Cluster01 成員叢集中,共有兩台叢集節點主機 Node01、Node02,必須為電腦帳戶組態設定權限委派作業,信任另一個 MBR-Cluster02成員叢集中,叢集節點主機 Node11、Node12,服務類型為「cifs」、「Microsoft Virtual System Migration Service」(如圖 15 所示)。同樣的,在 MBR-Cluster02 成員叢集中,叢集節點主機 Node11、Node12,必須為電腦帳戶組態設定權限委派作業,信任另一個 MBR-Cluster01成員叢集中,叢集節點主機 Node01、Node02,服務類型為「cifs」、「Microsoft Virtual System Migration Service」。

圖 15、為叢集節點主機組態設定電腦帳戶權限委派作業

接著,將管理叢集的「MGMT-Cluster」電腦帳戶,新增至每台叢集節點主機「Node01,Node02,Node11,Node12」的本機 Administrators 群組成員中(如圖 16 所示)。

圖 16、將管理叢集電腦帳戶,新增至每台叢集節點主機本機 Administrators 群組成員中



部署 VM 虛擬主機至叢集集合

在叢集集合運作環境中建立 VM 虛擬主機時,可以透過檢查機制讓即將部署的 VM 虛擬主機,能夠在獲得最佳資源的叢集節點主機上運作,舉例來說,我們可以透過 Get-ClusterSetOptimalNodeForVM指令,檢查目前叢集集合中,哪一台叢集節點主機最適合部署,資源需求「2 vCPU、8 GB vRAM、10% CPU 運算資源」的 VM 虛擬主機。如圖 17 所示,可以看到系統建議依據資源需求條件,VM 虛擬主機建議部署在「Node02」叢集節點主機。

圖 17、系統建議依據資源需求條件建議部署的叢集節點主機

獲得 VM 虛擬主機最佳部署建議後,我們在 MBR-Cluster01 的 Node02 叢集節點主機中,部署名稱為「CS-VM01」的 VM 虛擬主機,在 MBR-Cluster02 的 Node12 叢集節點主機中,部署名稱為「CS-VM02」的 VM 虛擬主機。然而,管理人員會發現部署的兩台 VM 虛擬主機,並非叢集集合類型的 VM 虛擬主機(如圖 18 所示)。

圖 18、VM 虛擬主機尚未註冊為叢集集合類型

管理人員必須執行 Register-ClusterSetVM指令,將部署的 VM 虛擬主機註冊為叢集集合類型,並且將 VM 虛擬主機加入可用性集合當中,以便能夠受到可用性集合以及容錯網域的保護。當 VM 虛擬主機註冊為叢集集合類型後,由於部署的兩台 VM 虛擬主機在不同的容錯網域中,便可以看到處於不同的更新網域中(如圖 19 所示)。

圖 19、註冊 VM 虛擬主機為叢集集合並啟用可用性集合



跨成員叢集遷移 VM 虛擬主機

部署後的叢集集合 VM 虛擬主機,在同一個成員叢集中 VM 虛擬主機可以隨心所欲的進行各種遷移。然而,在跨成員叢集遷移 VM 虛擬主機的部份卻與過去不同,在傳統容錯移轉叢集運作環境中,跨叢集遷移 VM 虛擬主機時,必須移除 VM 虛擬主機叢集角色、即時遷移至不同叢集和節點主機、加入新的叢集中並新增角色,在叢集集合運作環境中則無須執行上述繁雜的步驟。

在叢集集合環境中的 VM 虛擬主機,只要執行 Move-ClusterSetVM指令,並且指定欲遷移的 VM 虛擬主機名稱,以及目的地叢集節點主機名稱即可。如圖 20 所示,可以看到原本 CS-VM01 虛擬主機,運作於 MBR-Cluster01 的 Node02 節點主機中,遷移至 MBR-Cluster02 的 Node12 節點主機繼續運作。

圖 20、跨成員叢集遷移 VM 虛擬主機





結語

透過本文的深入剖析和實戰演練,相信讀者已經了解叢集集合的各項優點,透過叢集集合、容錯網域、可用性集合等運作機制,可以有效幫助 IT 管理人員,提供企業和組織更強大更彈性的基礎架構。

[站長開講] Taiwan Global Azure 2020

$
0
0


活動簡介

#Global Azure 是由對 Microsoft Azure 平台充滿熱情與知識的微軟 Azure MVP、雲端專家以及本地社群在全世界各地組織的活動!全世界都將在 4 月 25 日共同舉辦,2020 全世界面臨共同挑戰,決定全數改為線上直播的方式呈現,依舊將在地第一手實戰經驗用截然不同的方式與台灣的開發者分享!


本次活動將於 2020 年 4 月 25 日,上午 09:50 開始線上直播,Azure Taiwan 這次準備 5 個精彩議程,將涵蓋剖析 HCI 超融合環境、Azure Machine Learning 圖形化介面展示、Smokeping on Azure 監測網路狀態以及從零開始帶領大家輕鬆部署高併發架構最常使用的 Load Balancer 與 Redis,整天都充滿樂趣的課程,協助新手和經驗豐富的開發人員以及 IT 專業技術人員了解各種應用與成效!





活動資訊

  • 日期: 2020 年 4 月 25 日 (星期六)
  • 時間: 9:50 ~ 17:00
  • 地點: 線上直播 (私人 YouTube 連結)
  • 報名: 活動報名 (NT $100)





活動內容

  • 站長議程: 輕鬆打造大型 HCI 超融合環境 (Cluster Sets - Hyperscale for Hyperconverged)


Failed to import the required Python library (pyghmi) on awx's Python

$
0
0


Question: Failed to import the required Python library (pyghmi) on awx's Python

執行 ipmi_power 模組的 Playbook 時,出錯如下圖所示的錯誤訊息:






Answer:

從 ipmi_power 模組 說明文件中可知,需要 Python Library pyghmi才行,所以進入 awx_task容器中,先將 pip 版本升級安裝 pyghmi 即可。值得注意的是,在 awx_task 容器環境中,pip 指令的執行路徑為「/var/lib/awx/venv/ansible/bin/pip」。
# /var/lib/awx/venv/ansible/bin/pip install --upgrade pip --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org
# /var/lib/awx/venv/ansible/bin/pip install pyghmi --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org




網管人 172 期 - 整合內建 Kubernetes 環境 vSphere 7 登場助敏捷開發

$
0
0


網管人雜誌

本文刊載於 網管人雜誌第 172 期 - 2020 年 5 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。






文章目錄

前言
vSphere 7 亮眼特色功能
          vSphere 整合並內建 Kubernetes
          DRS 自動化調度機制再升級
          更彈性的硬體直通機制
          重構 vSphere vMotion 即時遷移機制
          支援多重因素身份驗證機制
實作演練 vSphere 7 with Kubernetes
          部署 Supervisor Kubernetes 叢集
          部署和管理名稱空間
結語





前言

醞釀已久的全新 vSphere 7解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈,同時 VMware CEO Pat Gelsinger 更在線上會議中表示,全新推出的 vSphere 7 擁抱並且內建 Kubernetes。因此,管理人員無須再費心要如何建構 Kubernetes 叢集和高可用性環境,因為 vSphere 7 即可直接部署和管理 Kubernetes 叢集。
全新推出的 vSphere 7 基礎架構平台,便是之前開發代號 Project Pacific的正式版本。

簡單來說,當企業和組織採用 vSphere 7 建構虛擬化基礎架構時,便能同時打造具備 VM 虛擬主機Kubernetes 叢集的高可用性環境(如圖 1 所示),因為在 vSphere 7 當中已經將 Kubernetes API 直接原生整合至 vSphere API 當中,幫助企業和組織內的 Dev 開發人員透過 Kubernetes API 部署和管理容器,而 Ops 管理人員仍可採用過去管理 VM 虛擬主機的方式,直接管理 Kubernetes 叢集以及容器。

圖 1、vSphere 7 新增亮眼特色功能示意圖





vSphere 7 亮眼特色功能

vSphere 整合並內建 Kubernetes

過去的 vSphere 解決方案,對於管理人員說便是圍繞在以 VM 虛擬主機工作負載為中心,透過 vCenter Server 管理平台調度運作於 ESXi 虛擬化平台中,不同工作任務和屬性的 VM 虛擬主機資源,確保營運服務高可用性。然而,新興的應用模式已經改為以「容器」(Container)為主,並且搭配大勢所趨的 Kubernetes 容器調度管理平台。

雖然傳統的 vSphere 基礎架構,也支援運作各種 Kubernetes 解決方案和容器等工作負載,然而企業和組織原有的 Ops 營運團隊和管理工具,卻無法妥善且快速的處理各種容器應用上的疑難雜症。現在,全新打造的 vSphere 7 除了將 Kubernetes 內建於其中之外,更將 vSphere 7 建構成可以承載和調度任何工作負載的基礎架構,無論是傳統的 VM 虛擬主機、HA 高可用性機制……等,或者是新興的 Container、Pod、Namespace、Persistent Volume……等。

因此,企業和組織內的 Dev 開發人員和 Ops 管理人員,可以在 vSphere 基礎架構中看到相同的運作環境,並且各自進行管理和部署作業加速協同運作邁向 DevOps。舉例來說,Dev 開發人員可以採用 YAML檔案,透過 Kubernetes API 管理和調度容器的生命週期,Ops 管理人員也可以採用 YAML 檔案,透過 vSphere API管理和調度 VM 虛擬主機的生命週期,確保大家採用相同的 YAML 檔案格式和 API 進行管理和部署作業。

現在,在 vSphere 7 運作架構中,管理人員可以透過 Kubernetes 內的「Namespace」機制,同時管理和部署舊有以 VM 虛擬主機為主的應用程式和服務,以及新興以容器為主的應用程式和服務(如圖 2 所示)。在一個新增的 Namespace 當中,同時承載傳統應用程式的 VM 虛擬主機,以及由多台 VM 虛擬主機組成的資料庫叢集,並且以容器方式運作的現代化應用程式,搭配無伺服器架構的 Serverless 服務,而管理人員可以輕鬆針對整個 Namespace 進行管控,例如,硬體資源的使用率、網路資料傳輸安全性、工作負載可用性、機敏資料存取管控……等。
管理人員可以將「Namespace」機制想像為資料夾,它可以承載各種資源和不同的工作負載,例如,VM 虛擬主機、容器、Serverless……等。
圖 2、透過 Namespace 機制打造以應用程式為中心示意圖



DRS 自動化調度機制再升級

在傳統的 vSphere 虛擬化基礎架構中,vSphere DRS(Distributed Resource Scheduler)自動化調度機制,主要用於調度 VM 虛擬主機工作負載。現在,全新推出的 vSphere 7 基礎架構,不僅運作 VM 虛擬主機也同時運作許多 Pods 和容器,因此 VMware 針對 DRS 自動化調度機制進行功能增強,以便最佳化調度 VM 虛擬主機和容器等工作負載。

過去的 vSphere DRS 機制,是透過「整體叢集標準差模型」(Cluster-wide standard deviation model)機制,針對 vSphere 叢集中 ESXi 成員主機之間的工作負載進行資源的負載平衡作業。

現在,增強後的 vSphere DRS 機制,不在將資源負載平衡的重點放在「ESXi 成員主機」身上,而是將焦點放在「VM 虛擬主機」身上,當 vSphere 叢集啟用 vSphere DRS 機制後,將會「每分鐘」計算 ESXi 成員主機上運作的 VM 虛擬主機得分「VM DRS Score」(如圖 3 所示),然後判斷透過 vMotion 機制遷移 VM 虛擬主機後,對於其它 VM 虛擬主機的影響為何,以達成更細緻更優化的資源使用率。

圖 3、新版 vSphere DRS 自動化調度機制示意圖



更彈性的硬體直通機制

在過去的 vSphere 基礎架構中,當 ESXi 主機配置支援硬體卸載機制時,可以透過 DirectPath I/O硬體直通機制(如圖 4 所示),指派給 VM 虛擬主機並寫入 .vmx 組態設定檔案中以便獲得最佳效能,然而啟用 DirectPath I/O 機制的 VM 虛擬主機,雖然獲得硬體最佳使用效能,但是對於 VM 虛擬主機的彈性則有所影響,例如,無法透過 vSphere DRS 進行自動化調度,無法受到 vSphere HA 高可用性機制的保護。

圖 4、DirectPath I/O 硬體直通機制示意圖

雖然,從 vSphere 6.7 Update 1 版本開始,支援採用 vGPU 技術的 VM 虛擬主機能夠執行 vMotion 遷移和快照功能(如圖 5 所示),但仍無法支援 vSphere DRS 自動化調度機制,以及 vSphere HA 高可用性機制。

圖 5、vSphere 6.7 Update 1 版本開始支援 vGPU 虛擬主機 vMotion 和快照

現在,全新 vSphere 7 運作架構中,採用新式機制稱為「可指派硬體」(Assignable Hardware)。簡單來說,採用新式 Dynamic DirectPath I/O機制,不在鎖定只能運作於特定 ESXi 主機上,舉例來說,在 vSphere 叢集中共有 100 台 NVIDIA V100 GPU 的虛擬主機,當啟用 vSphere DRS 機制並啟動使用 vGPU 的 VM 虛擬主機時,將會自動尋找可提供 GPU 資源的 ESXi 成員主機,然後將 VM 虛擬主機進行註冊並使用的動作,即便 ESXi 成員主機發生故障觸發 vSphere HA 高可用性機制後,也會自動尋找其它可用 GPU 資源的 ESXi 成員主機,將受影響的 VM 虛擬主機重新啟動並繼續使用 vGPU 資源。
VM 虛擬主機必須採用最新「VM Hardware version 17」,才能支援 Assignable Hardware 彈性機制。



重構 vSphere vMotion 即時遷移機制

與前面提到的 vSphere DRS 調度機制一樣,為了確保 vSphere vMotion 即時遷移機制,能夠更適合新興的應用方式,VMware 官方整個重構 vSphere vMotion 即時遷移機制。舉例來說,對於 SAP HANA 和 Oracle 資料庫這種大型規模的 VM 虛擬主機,透過傳統的 vSphere vMotion 即時遷移機制進行搬移,由於大型規模 VM 虛擬主機龐大的 vCPU 和記憶體空間,並且「頁面追蹤」(Page Tracing)機制是套用在所有 vCPU(如圖 6 所示),並採用「4 KB Pages」小型資料區塊傳輸 vRAM 虛擬記憶體空間,因此除了容易造成 vMotion 遷移時間過長的情況,也有可能影響應用程式的運作。

圖 6、傳統 vSphere vMotion 即時遷移頁面追蹤技術示意圖

現在,全新 vSphere 7 運作架構中,採用重構後的 vSphere vMotion 機制,有效解決大型規模 VM 虛擬主機即時遷移的難題。首先,在 vCPU 虛擬處理器運算資源遷移的部份採用「專用」(Dedicated)的頁面追蹤機制,確保進行 vMotion 遷移時不會影響應用程式的運作(如圖 7 所示)。

圖 7、重構後的 vSphere vMotion 即時遷移頁面追蹤技術示意圖

在 vRAM 虛擬記憶體遷移的部份,改為採用「1 GB Pages」資料區塊進行傳輸並搭配其它最佳化機制,例如,Memory Pre-Copy、Switchover……等。舉例來說,在過去舊版的 vSphere 環境中,遷移 24 TB vRAM 虛擬記憶體空間需要 768 MB Bitmap,預計遷移時間需要花費「2 秒鐘」,重構後的 vSphere vMotion 則僅需要「175 毫秒」即可完成(如圖 8 所示),確保大型規模 VM 虛擬主機切換至不同 ESXi 主機時,能夠由幾秒鐘的時間縮短至幾毫秒。

圖 8、重構後的 vSphere vMotion 切換 ESXi 主機時間由幾秒鐘縮短至幾毫秒

在 VMware 官方測試結果中,採用安裝 Oracle 資料庫的 VM 虛擬主機,並配置「72 vCPU 和 512 GB vRAM」大型規模虛擬硬體資源,然後採用傳統 vSphere vMotion 和重構後的 vSphere vMotion,遷移 Oracle 虛擬主機,並在遷移期間透過 Hammer DB 進行工作負載模擬。簡單來說,重構後的 vSphere vMotion 除了更快速遷移完成之外,在遷移期間 Oracle 資料庫的 Commits 數量相較於舊版 vMotion 也高出許多(如圖 9 所示)。

圖 9、傳統和重構後的 vSphere vMotion 遷移大型 VM 虛擬主機測試結果



支援多重因素身份驗證機制

目前,對於提升使用者身分驗證機制安全性來說,最簡單的方式就是良好的密碼原則之外,搭配「多重因素身份驗證」(MultiFactor Authentication,MFA),然而目前能實作 MFA 多重因素身份驗證的方法太多,無法將所有 MFA 實作方式整合至 vCenter Server。

因此,VMware 針對 MFA 多重因素身份驗證的解決方案,是支援開放式身份驗證和授權標準,例如,OAuth2、OIDC……等。在 vSphere 7 運作環境中,透過「識別身份同盟」(Identity Federation)讓 vCenter Server 管理平台(如圖 10 所示),能夠和使用者身分驗證機制供應商進行溝通,達到簡化 vSphere 管理人員法規審核範圍,同時也支援更多不同的 MFA 多重因素身份驗證,例如,熱門的 ADFS(Active Directory Federation Services)。

圖 10、vCenter Server 支援 MFA 多重因素身份驗證流程示意圖

此外,在 vSphere 7 運作環境中,還新增「vTA(vSphere Trust Authority)」信任授權機制,透過單獨管理的小型 vSphere 叢集建立硬體式根授權,當 ESXi 主機底層 x86 伺服器透過 UEFI 安全性機制啟動時,搭配「信賴平台模組」(Trusted Platform Module,TPM)進行驗證,確保 x86 伺服器採用正確且通過驗證程序的軟體(如圖 11 所示)。

圖 11、vTA(vSphere Trust Authority)信任授權機制運作架構示意圖

一旦 ESXi 虛擬化平台順利啟動後,便能運作加密 VM 虛擬主機,確保 VM 虛擬主機內的機敏資料外洩,並且透過 REST API 用於從 VMCA(VMware Certificate Authority),執行憑證自動續訂的動作,簡化 ESXi 管理憑證的麻煩。





實作演練 vSphere 7 with Kubernetes

由於,在撰寫本文時官方正式的 vSphere ESXi 7.0 和 vCenter Server 7.0 印象檔仍未釋出,但是有興趣的 Ops 管理人員和 Dev 開發人員,仍然可以透過 VMware HOL(Hands-on-Labs)進行 vSphere 7 with Kubernetes 實作演練(如圖 12 所示)。
有興趣的讀者,可以網路尋找關鍵字 VMware Hands-on Labs - HOL-2013-01-SDC - vSphere 7 with Kubernetes- Lightning Lab即可立即進行實作演練。
圖 12、vSphere with Kubernetes 運作架構示意圖

在開始實作演練之前,我們先了解 vSphere 7 新世代的叢集架構「Supervisor Kubernetes Cluster」,以便後續進行實作時能夠有更深入的體驗。簡單來說,在 vSphere 7 中的 Supervisor Kubernetes 叢集,由於已經原生整合至 ESXi 虛擬化平台中,所以不像傳統由 Linux 所建構的 Kubernetes 叢集採用 Kubelet 指令進行管理作業,而是在 ESXi 虛擬化平台中除了原有的 hostd 服務之外,還會常駐有「Spherelet」用來管理其上運作的 Pod 和容器。

此外,在 Supervisor Kubernetes 叢集中,每個在 ESXi 主機內運作的 Pod 及 Pod 內的容器,都會在個別的「CRX 虛擬主機」內運作,以便達到不同的 Pod 和容器的最大隔離性,有效減少運作的容器因為資安問題,而導致 ESXi 或其它 VM 虛擬主機直接遭受攻擊。
運作 Pod 和容器的 CRX 虛擬主機,並非傳統的 VM 虛擬主機,而是 VMware 以半虛擬化技術,並且經過最佳化調校 Linux 核心,專門用於承載容器環境的虛擬主機。

管理人員可能會有疑惑,採用 CRX 虛擬主機的方式運作單個 Pod 和容器的話,那麼每台 ESXi 主機能夠承載多少台 CRX 虛擬主機? 在 VMware 官方測試結果中,每台 CRX 虛擬主機可以在 100 毫秒內啟動 Pod 和容器,並且單台 ESXi 主機能夠運作超過 1,000 個 Pods,而整個 Supervisor Kubernetes 叢集能夠運作多達 8,000 個 Pods
在 VMware 官方測試結果中,在 CRX 虛擬主機內的 Pod 運作 Java 容器環境,比起傳統 Pod 和容器環境傳輸量多出 30 %,而 CRX 虛擬主機和 Linux 裸機容器環境相較之下效能也提升 8 %

對於 Supervisor Kubernetes 叢集有基本的了解之後,那麼我們開始實作演練如何在 vSphere 7 基礎架構中,建立 Supervisor Kubernetes 叢集運作環境吧。



部署 Supervisor Kubernetes 叢集

登入 vCenter Server 7 管理平台後,在 vSphere HTML 5 Client 管理介面中,依序點選「Menu > Workload Platform」,在 Getting started with Workload Platform 頁面中,捲動至最下方並點選「I'M READY」鈕。

此時,系統將會彈出 Select a Cluster 視窗,請在列出的傳統 vSphere 叢集清單中,點選要轉換成新式 Supervisor Kubernetes 叢集的 vSphere 叢集。值得注意的是,vSphere 叢集必須啟動 vSphere HA 和 vSphere DRS特色功能,才能轉換為新式 Supervisor Kubernetes 叢集,因此請在 Compatible 頁籤中,選擇適合的 vSphere 叢集後,按下 OK 鈕進入下一個 Supervisor Kubernetes 叢集組態設定流程(如圖 13 所示)。

圖 13、選擇已啟用 vSphere HA 和 DRS 的叢集,轉換為新式 Supervisor Kubernetes 叢集

在轉換叢集類型步驟 1 中,首先選擇請選擇屆時 Supervisor Kubernetes 叢集的運作規模,因為當 vSphere 叢集轉換為 Supervisor Kubernetes 叢集之後,除了部署 Kubernetes 控制平台至叢集之外,還會部署高可用性和多重 Master 運作架構的 etcd 和 Kubernetes API 堆疊,在 Supervisor Kubernetes 叢集中的每一台 ESXi 成員主機內,因此請確保屆時可用運作的 Pod 和容器數量,以及挑選相對應的 Supervisor Kubernetes 叢集規模大小。

在本文實作環境中,由於是 POC 概念驗證環境,所以選擇運作規模最小的「Tiny」Size,預估屆時將會耗損每台 ESXi成員主機 2 CPU、8 GB 記憶體、16 GB 儲存空間等硬體資源,最多可運作 1,000 個 Pods 和容器(如圖 14 所示)。

圖 14、選擇 Supervisor Kubernetes 叢集規模大小

在轉換叢集類型步驟 2 中,管理人員必須為「控制平面」(Control Plane)組態設定網路資訊。首先,請為 Supervisor Kubernetes 叢集中每台 ESXi 成員主機,組態設定「管理網路」(Management Network)資訊,以便屆時叢集類型轉換完畢後,vCenter Server 管理平台仍然能夠管理每台 ESXi 成員主機(如圖 15 所示)。

圖 15、組態設定 Supervisor Kubernetes 叢集中每台 ESXi 成員主機管理網路資訊

接著,組態設定「名稱空間網路」(Namespace Network)資訊,選擇採用的 NSX Distributed Switch 和 Edge 叢集,並且指定採用的 DNS 伺服器 IP 位址,和屆時 Pods 運作的網段資訊,以及執行網路流量進入和流出的網段資訊(如圖 16 所示),以便屆時 Supervisor Kubernetes 叢集中每台 ESXi 成員主機和運行的 Pods,能夠透過 Kubernetes API 進行互動和溝通。
Ingress網段,屆時將會為 Master 節點配置 VIPs(Virtual IP)以便屆時進行網路流量負載平衡,而 Egress 網段,屆時會使用 SNAT 規則將 VIPs 指派給每個名稱空間。
圖 16、組態設定 Supervisor Kubernetes 叢集中每台 ESXi 成員主機名稱空間網路資訊

在轉換叢集類型步驟 3 中,首先,我們選擇屆時套用於「Master Node」的儲存原則,接著「暫存磁碟」(Ephemeral Disks)的部份,則是選擇屆時 ESXi 成員主機運行 Pods 時使用的暫存儲存資源,最後的「印象檔快取」(Image Cache),則是由於屆時運行在 Pods 內容器所採用的容器映像檔,將會採用內部的 Harbor Container Registry,所以管理人員必須選擇容器映像檔所要使用的儲存資源(如圖 17 所示)。
請注意 !這些儲存資源皆是選擇採用「vSphere 儲存原則」,而非選擇特定的 Datastore 儲存資源。
圖 17、組態設定 Supervisor Kubernetes 叢集中每台 ESXi 成員主機所需儲存資源

在轉換叢集類型最後的步驟 4 當中,管理人員請再次檢視 Supervisor Kubernetes 叢集的各項組態設定,確認無誤後按下 FINISH 鈕,當 vSphere HTML 5 Client 管理介面下方 Recent Tasks 工作項目欄位中,組態設定 Supervisor Kubernetes 叢集的工作任務執行完畢後,在 Workload Platform 頁面中的「Clusters」頁籤內,便會出現成功轉換為 Supervisor Kubernetes 叢集的叢集相關資訊(如圖 18 所示)。

圖 18、傳統 vSphere 叢集成功轉換為 Supervisor Kubernetes 叢集



部署和管理名稱空間

請在管理介面中,依序點選「Menu > Workload Platform > Namespaces > Create Namespace」,在系統彈出建立名稱空間視窗中,請先選擇欲建立名稱空間的 Supervisor Kubernetes 叢集,然後鍵入名稱空間的名稱和描述後按下 Create 鈕即可(如圖 19 所示)。

圖 19、在 Supervisor Kubernetes 叢集中建立名稱空間

當建立名稱空間的工作任務完成後,請點選「Menu > Host and Clusters > Namespaces」項目後,管理人員即可看到剛才建立用於開發人員用途的名稱空間概要資訊。現在,我們透過整合 vSphere SSO(Single Sign-On)身份驗證機制,指派開發團隊中的名稱為「Fred」的使用者帳號具備編輯名稱空間的權限。

請在 hol 名稱空間中,依序點選「Summary > Permissions > Add Permissions」項目,在彈出的 Add Permissions 視窗中,於 Identity source 欄位選擇採用的 vSphere SSO 網域名稱,在 User/Group 欄位中,鍵入指派的 Fred 使用者帳號,最後在 Role 欄位中指派權限為「Can edit」後按下 OK 鈕即可(如圖 20 所示)。

圖 20、指派 Fred 使用者帳號具備管理 hol 名稱空間的權限

接著,在 hol 名稱空間中 Storage 區塊內按下「Add Storage」鈕,在系統彈出的 Edit Storage Poilcies 視窗中,選擇要套用到名稱空間的儲存原則,本文實作選擇「high-performance-ssd」後按下 OK 鈕即可(如圖 21 所示)。
此時,Supervisor Kubernetes 叢集將會在指定的名稱空間中,新增儲存類別和套用無限制儲存資源的預設值後,建立 Kubernetes Persistent Volumes 儲存資源。
圖 21、組態設定名稱空間所要套用的 vSphere 儲存原則

最後,管理人員可以針對 hol 名稱空間的硬體資源使用率進行限制,請依序點選「Configure > Resource Limits > Edit」項目,在彈出的 Resource Limits 視窗中,組態設定針對名稱空間的硬體資源限制設定值,例如,限制僅能使用「3 GHz」CPU 運算資源、「1 GB」Memory 運算資源、「2 GB」的儲存資源(如圖 22 所示)。

圖 22、組態設定名稱空間的硬體資源使用率,限制使用 2 GB 儲存資源





結語

透過本文的深入剖析和實作演練後,相信全新打造的 vSphere 7 基礎架構,不僅僅幫助企業和組織加速前往 DevOps 的步調,在管理方面還能同時滿足 Dev 開發人員和 Ops 維運人員的需求。

CentOS 8.x 攻略 - 基礎設定系列文章

$
0
0


前言

在本系列文章中,採用的 CentOS (Community ENTerprise Operating System) 為眾多 Linux 發行版本之一。CentOS 的原始碼來自 RHEL (Red Hat Enterprise Linux)作業系統的開放原始碼,並將其原始碼重新編譯而成,同時移除無法自由使用的商標以及 Red Hat 所擁有的封閉原始碼軟體。由於 CentOS Linux 與 Red Hat Enterprise Linux 具有大量相同的原始碼內容,因此也適合在需要高度穩定性的企業營運環境。
Red Hat Enterprise LinuxRed Hat公司推薦使用於企業伺服器網路服務上的 Linux 發行版本,通常大多數的人會將此 Linux 發行版本簡稱為 RHEL。

原則上,RHEL 大約以每 18 ~ 24 個月的頻率,發佈下一版的作業系統。但是實際運作上 RHEL 作業系統版本的發行頻率,取決於 Fedora Linux 的更新。Fedora Linux 為 Red Hat 公司贊助的知名開放原始碼計畫,Red Hat 公司會將許多新技術先行導入至 Fedora Linux 發行版本中,待經過一段時間測試至穩定階段而且符合企業需求後,便會將該技術加入至下一個發行的 RHEL 版本中。每當 Fedora Linux發行 3 個版本後大約就會發佈 1 個 RHEL 新版本

目前,有些中小企業的 IT 人員為了建置預算上面的考量使用 CentOS Linux 發行版本來替代 RedHat Linux 企業版本。但是相對來說使用 CentOS Linux 發行版本除了得不到商業支援以外,當然也不包含 Red Hat 公司所擁有的封閉原始碼軟體。因此建議 IT 人員在使用 CentOS Linux 發行版本來建置企業網路服務以前,除了要先了解所使用的硬體伺服器是否支援 CentOS Linux 之外,更要了解所架設的商業服務是否會使用到 Red Hat 公司封閉原始碼軟體。

CentOS Linux 作業系統版本命名規則分為二個部份,分別是主要版本及次要版本來進行版本表示。其中主要及次要版本號碼,則是相對應於紅帽公司所發行的 RHEL 作業系統主要版本與更新版本號碼,例如,CentOS 8.1版本便是相對應於 RHEL 8 update 1








CentOS 8 特色功能

目前,最新版本為 CentOS 8.1 (1911),並且與舊版 CentOS 7.x有很大的不同,舉例來說,套件庫主要有二個「BaseOS 和 AppStream」、預設檔案系統採用「XFS」、套件管理工具由過去的 YUM 升級為「dnf」、時間校時工具僅採用「Chrony」、網路組態僅採用「NetworkManager」、防火牆 Firewalld 底層由 iptables 改為「nftables」……等:

  • Kernel 版本: 4.18+
  • System Compiler: GCC 8.2, LLVM 6.0
  • Hardware Architectures: Intel / AMD 64-bit, IBM Power LE, IBM z Systems, ARM 64-bit
  • File System: XFS
  • Package Management: dnf (YUM v4)
  • Time Synchronization: Chrony
  • Networking: NetworkManager

圖、RHEL 7 / 8 Repositories 差異示意圖

圖、新版 dnf 套件管理工具示意圖





CentOS 8 基礎設定

下列便是 CentOS 8.x 攻略的基礎設定系列文章:
  • CentOS 8.x 基礎設定 (1) - 安裝 CentOS 8 和 Hyper-V 整合服務 / VMware Tools
  • CentOS 8.x 基礎設定 (2) - NetworkManager 組態設定網路功能
  • CentOS 8.x 基礎設定 (3) - Cockpit 圖形化介面管理工具
  • CentOS 8.x 基礎設定 (4) - 組態設定 VIM 及 Bash Shell 操作環境
  • CentOS 8.x 基礎設定 (5) - 設定 sudo 管理員帳號管理機制
  • CentOS 8.x 基礎設定 (6) - 禁止 Root 帳號本機及 SSH 遠端登入
  • CentOS 8.x 基礎設定 (7) -  SELinux 安全性增強機制
  • CentOS 8.x 基礎設定 (8) - DNF 套件管理工具
  • CentOS 8.x 基礎設定 (9) - 擴充 DNF 套件數量
  • CentOS 8.x 基礎設定 (10) - 簡述 Systemd 啟動模式等級
  • CentOS 8.x 基礎設定 (11) - 調整 Firewalld 防火牆規則
  • CentOS 8.x 基礎設定 (12) - 定期寄送 CentOS 主機系統資訊 Log
  • CentOS 8.x 基礎設定 (13) - 關閉不必要的系統服務
  • CentOS 8.x 基礎設定 (14) - 採用 I/O Scheduler Noop 加速 Disk I/O
  • CentOS 8.x 基礎設定 (15) - 完成 CentOS Base VM 的製作
  • CentOS 8.x 基礎設定 (16) - 範本 CentOS 重新產生 Product_UUID

vSphere 6.x 攻略匯整


VMware vSphere 7 攻略 - 系列文章

$
0
0


簡介

醞釀已久的全新 vSphere 7解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈,同時 VMware CEO Pat Gelsinger 更在線上會議中表示,全新推出的 vSphere 7 擁抱並且內建 Kubernetes。因此,管理人員無須再費心要如何建構 Kubernetes 叢集和高可用性環境,因為 vSphere 7 即可直接部署和管理 Kubernetes 叢集。


接下來,站長將不定期針對最新 VMware vSphere 7 深入剖析各項特色功能。






vSphere 7 特色功能

  • 撰寫中...





技術專欄






VMware 官網資源

ESXi 7 本機磁碟空間規劃

$
0
0


前言

醞釀已久的全新 vSphere 7 解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈。在本文中,我們將討論 vSphere 7 解決方案的最基本基礎架構「ESXi」。


圖: VMware vSphere 基礎架構示意圖





1 CPU (32 Cores) 軟體授權

vSphere 7 版本開始,「1 顆」實體 CPU 處理器授權最多用於「32 個」實體運算核心。簡單來說,倘若企業和組織購買的單顆 CPU 處理器具備 48 個實體運算核心時,則應該要購買「2 顆」CPU 軟體授權才行。詳細資訊請參考官網文章說明:

圖: 新版 VMware CPU 軟體授權解說圖





安裝 ESXi 7

原則上,安裝 ESXi 7 的流程非常容易與大致舊版相同,管理人員可以參考 VMware Docs - Overview of the vSphere Installation and Setup Process文章內容,了解整個安裝程序和流程:

圖: VMware vSphere ESXi 安裝流程示意圖

一般來說,管理人員採用最簡單的「互動模式」(Interactive Mode) 安裝 ESXi 時,可以參考 VMware KB 2109708 - Methods for installing ESXi 6.0文章內容,搭配下列影片即可輕鬆完成。






什麼是 ESX-OSData 分割區?

事實上,本文要談論的重點便是 vSphere 7 在安裝 ESXi 時,系統已經將預設的分割區配置進行調整,將「VMware Tools Locker、Core Dump、Scratch」合併為新的分割區名稱為「ESX-OSData」(採用 VMFS-L檔案系統)。

從 ESXi 7 版本開始,建立安裝 ESXi 的本機磁碟要「大於 142 GB」較為適當,原因在於 ESXi 7.0 在系統分割區中最多會佔用「138 GB」磁碟空間,並且在硬碟剩餘空間至少大於「4 GB」時才會建立「VMFS-6 Datastore」

簡單來說,倘若安裝 ESXi 7.0 的本機硬碟「小於 142 GB」時,那麼系統便不會建立 VMFS Datastore。在本文實作環境中,安裝三台 ESXi 7.0 分別配置本機磁碟大小為「100 GB, 200 GB, 300 GB」,可以看到配置「100 GB 本機磁碟」的 ESXi 7.0 主機,在 Storage 當中沒有任何的 Datastore 儲存資源。

圖、查看 ESXi 7.0 主機儲存資源

透過 Host Client 查看 ESXi 7.0 主機的儲存資源可能資訊太少,我們為這三台主機啟用 SSH 服務後登入主機,並透過「esxcli storage filesystem list」指令查看儲存資源,可以看到系統預設會建立「ESX-OSData」分割區和採用「VMFS-L」檔案系統,並且當 ESX-OSData 佔用最大「120 GB」儲存空間後,剩餘空間才會建立「VMFS-6 Datastore」。

圖、透過指令查詢 ESXi 7.0 系統分割區資訊

那麼,一旦建立 VMFS-6 Datastore 後能不能夠擴充儲存空間? 我將三台 ESXi 7.0 主機關機後,分別配置擴充「50 GB」儲存空間後開機,可以透過 Host Client 查看系統分割區的情況,然而配置 100 GB 本機磁碟的 ESXi 7.0 主機,仍然無法直接使用擴充的儲存空間,而 200 GB (擴充為 250 GB) 和 300 GB (擴充為 350 GB) 的 ESXi 7.0 主機,也無法將原有的 VMFS-6 Datastore 儲存空間進行擴充。

圖、200 GB 擴充為 250 GB 儲存空間的 ESXi 7.0 主機系統分割區資訊

圖、300 GB 擴充為 350 GB 儲存空間的 ESXi 7.0 主機系統分割區資訊





能否調整 ESX-OSData 儲存空間?

答案就是,在安裝時能夠指定系統採用的 ESX-OSData 儲存空間大小,但是變更 ESX-OSData 儲存空間的動作,將等同於放棄 VMware Support ! (所以,僅適用於個人測試環境)。

在測試環境中,我為一台 ESXi 7.0 主機配置 500 GB 本機磁碟,然後希望 ESX-OSData 分割區僅使用 50 GB 儲存空間,而非系統預設的最大佔用 120 GB 儲存空間。請在 ESXi 7.0 主機載入開機初始化程序中,在倒數 5 秒的視窗畫面時按下「Shift + O」組合鍵,然後鍵入「autoPartitionOSDataSize=51200」(參數單位為 MB) 指定 ESX-OSData 儲存空間為「50 GB」,然後按下 Enter 鍵繼續安裝程序。

圖、指定 ESX-OSData 分割區大小為 50 GB

安裝完成後,在 Host Client 管理介面中,可以看到 VMFS-6 Datastore 的可用空間大約 440 GB ,與我們期望的結果相同。

圖、VMFS-6 Datastore 的可用空間大約 440 GB

我們為 ESXi 7.0 主機開啟 SSH 後,透過「esxcli storage filesystem list」指令,確認 ESX-OSData 分割區確實採用指定的 50 GB儲存空間。

圖、確認 ESX-OSData 分割區儲存空間大小





參考資源

網管人 173 期 - 化解敏捷開發難題 Ansible 輕鬆管理雲負載

$
0
0


網管人雜誌

本文刊載於 網管人雜誌第 173 期 - 2020 年 6 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。




文章目錄

前言
基礎架構即程式碼
          Ansible 簡介
實戰 Ansible on Azure
          部署內建 Ansible 的 CentOS 範本
          手動為 CentOS 安裝 Ansible 執行環境
          建立 Azure Credentials
          透過 Ansible 部署 Azure 資源群組
          透過 Ansible 部署 Azure VM 虛擬主機
          透過 Ansible 部署 SQL Server 執行個體
          透過 Ansible 部署 AKS(Azure Kubernetes Service)
結語





前言

在商業數位化的浪潮下,企業和組織如何更快速的交付產品給消費者,並且交付的產品無論在品質上或使用者體驗方面,都能有效命中消費者對於產品的想像和需求,然而這個理想目標一直以來都是個難題,而「DevOps」這個議題,應該是目前許多企業和組織用來克服這個難題的方法了。

「DevOps」其實是個組合詞,拆分後就是指開發團隊「Dev」以及維運團隊「Ops」的組合。簡單來說,DevOps 就是整合「人員、流程、產品」(People,Process,and Products),並且透過這樣的整合方式,持續不斷的為使用者交付有效的產品價值。

雖然,業界有許多不同的供應商提供各種工具,幫助企業和組織加速前往 DevOps 的目標,然而這也造成許多企業和組織在前往 DevOps 的道路上,變成是瞎子摸象的情況,舉例來說,有人可能認為 DevOps 就是「自動化」(Automation),或者 DevOps 就是「小型部署」(Small Deployments)……等(如圖 1 所示)。

圖 1、探索 DevOps 示意圖

事實上,DevOps 的核心精神在於「文化」(Culture)而非各項工具鏈的整合,舉例來說,DevOps 團隊採用「敏捷」(Agile)的方式,讓團隊採用小型批量的方式作業,專注於改善客戶端價值的端到端交付,並且努力消除開發過程中的浪費和所遭遇的障礙,團隊裡不應該有資源孤島也沒有任何互相責備,因為團隊是互相幫忙彼此負責的,即便沒有各項工具仍然能夠達成 DevOps 的目標。





基礎架構即程式碼

那麼如何讓 DevOps 團隊,能夠更專注在開發使用者需求、解決使用者遭遇的問題、交付有價值的產品給使用者,當然需要兼顧到的層面非常廣泛。在本文中,我們將會討論和實作演練,在企業和組織的基礎架構中,如何透過「基礎架構即程式碼」(Infrastructure as Code,IaC)的方式(如圖 2 所示),加速資料中心的各項資源管理和部署作業。

圖 2、基礎架構即程式碼運作架構示意圖

過去,團隊管理人員必須維護每個不同部署環境的組態設定,一開始每個環境的差異可能非常微小,然而隨著專案時間拉長以及不同管理人員的維護方式,將會讓一開始原本相同的運作環境漸漸不同,產生環境漂移導致部署時出現各種不同的問題,影響產品交付的時間。

現在,企業和組織透過建構基礎架構即程式碼環境,將能有效管理每個部署於基礎架構上的運作環境,確保每次組態設定的步驟和執行結果都一樣,不會因為人為操作失誤導致組態設定結果不同,同時也可以克服大量部署運作環境時的困擾。

舉例來說,倘若管理人員採用傳統管理方式,組態設定「1 台」Linux 主機 DNS 名稱解析的動作,雖然可能只需要花費 10 秒鐘的時間,然而若必須組態設定「100 台」Linux 主機 DNS 名稱解析時,除了必須花費 16.67 小時的時間之外,在操作過程中很難保證不會因為人為操作失誤,導致 Linux 主機 DNS 名稱解析錯誤,進而影響後續部署服務時,因為無法正確進行 DNS 名稱解析而讓服務運作失敗的情況。此外,倘若日後必須變更 DNS 名稱解析內容時,除了必須再度花費 16.67 小時的工作時間之外,勢必過程中又有非常高的機率發生人為錯誤,導致服務無法正常運作。

當企業和組織改為採用基礎架構即程式碼的方式時,透過像程式碼的方式來管理和部署基礎架構相關資源時,再次面對上述組態設定 100 台 Linux 主機 DNS 名稱解析作業時,除了無須擔心人為操作導致錯誤之外,整個組態設定作業的工作時間也將大幅縮短。
在筆者的測試環境中,透過基礎架構即程式碼方式組態設定「100 台」Linux 主機 DNS 名稱解析作業,僅花費「80 秒」時間便完成組態設定作業。



Ansible 簡介

那麼,企業和組織應該挑選哪個工具,才能夠加速前往基礎架構即程式碼的目標 ?管理人員可以參考,由 CNCF 組織在 Cloud Native Interactive Landscape中,於「Automation & Configuration」項目內的各項專案(如圖 3 所示),在本文中我們將採用「Ansible」進行基礎架構即程式碼的實作演練。

圖 3、Cloud Native Interactive Landscape 中 Automation & Configuration 專案項目示意圖





實戰 Ansible on Azure

事實上,企業和組織透過 Ansible 進行基礎架構的管理和部署作業時,無論運作環境在地端資料中心或是公有雲上,都可以透過 Ansible 進行管理和部署作業。在本文實戰演練的部份,將會以 Ansible 管理 Microsoft Azure 公有雲環境上的工作負載為例。

值得注意的是,建議採用新版的「Ansible 2.9.x」版本,目前最新釋出版本為 2020 年 4 月份的 Ansible 2.9.7 版本,才支援所有 Ansible Azure 模組功能(如圖 4 所示),舉例來說,採用 Ansible 2.8舊版本便不支援 azure_rm_batchaccount 模組,倘若使用更舊的 Ansible 2.4版本時,則連基本的 azure_rm_image模組也不支援。
有關 Ansible 各版本發行資訊,請參考 Ansible Documentation - Release and maintenance頁面資訊。
圖 4、不同 Ansible 版本針對 Microsoft Azure 公有雲環境支援程度的 Ansible Azure 模組清單



部署內建 Ansible 的 CentOS 範本

當管理人員的需求為建立「全新」的 Ansible 運作環境時,可以採用 Azure Marketplace 中由微軟官方打包,已經將 Ansible 執行環境預載完成的 CentOS 虛擬主機範本。在這個 CentOS 虛擬主機範本中,已經安裝好最新版本 Ansible 以及 Azure CLI 2.0 執行環境。

請登入 Azure Portal 管理介面,點選「Create a resource」項目之後,在關鍵字欄位鍵入「Ansible」即可看到 Azure Marketplace 中的 CentOS 範本,確認採用的是微軟官方打包的 CentOS 範本後,請按下「Create」鈕準備進行部署作業(如圖 5 所示)。

圖 5、確認採用微軟官方打包的 CentOS 範本進行部署作業

在 Basic 部署頁面中,依序填入部署 CentOS 範本的 VM 虛擬主機名稱、屆時登入的管理者帳號和密碼、採用的 Azure 訂閱、部署的資源群組名稱、部署的 Azure 資料中心……等資訊。在 Additional Settings 部署頁面中,倘若管理人員希望採用特定的 Ansible 版本時,請於 Ansible version 欄位鍵入 Ansilbe 版本號碼,例如,2.9.4,或採用預設的「latest」最新釋出版本即可(如圖 6 所示)。

圖 6、設定採用特定的 Ansible 版本或最新釋出版本

最後,在 Summary 部署頁面中,再次確認組態設定的部署資訊正確無誤後,按下 OK 鈕立即進行部署作業。當預載 Ansible 執行環境的 CentOS 虛擬主機部署完成後,即可 SSH 連線登入 CentOS 虛擬主機,並執行「ansible --version」指令確認 Ansible 執行環境的版本資訊(如圖 7 所示)。

圖 7、確認 Ansible 執行環境的版本資訊



手動為 CentOS 安裝 Ansible 執行環境

當管理人員的需求為現有 CentOS 運作環境中,「手動」安裝 Ansible 執行環境也非常容易。首先,請確認採用的 CentOS 版本為 CentOS 7.x 或後續版本,接著在 CentOS 主機上鍵入下列 YUM 指令,執行安裝 Azure Python SDK 模組的動作。
sudo yum check-update ; sudo yum install -y gcc libffi-devel python-devel openssl-devel epel-release
sudo yum install -y python-pip python-wheel


安裝完成後,可以執行「python --version」指令確認採用的 Python 版本,在本文執行環境中可以看到 Python 版本為 2.7.5 。接著,請執行下列 pip install 指令,先將 pip 套件版本進行升級後,安裝 Ansible 套件以及 Ansible Azure 模組。
sudo pip install --upgrade pip
sudo pip install ansible[azure]


當 Ansible 套件和 Ansible Azure 模組安裝完畢後,請執行「ansible --version」指令確認 Ansible 版本,可以看到本文實作環境採用最新 Ansible 2.9.7版本(如圖 8 所示)。此外,管理人員可以執行「pip list」指令,查看已經安裝的 Ansible 模組清單和版本資訊。

圖 8、確認在 CentOS 7 主機中安裝的 Ansible 版本資訊



建立 Azure Credentials

無論採用 Azure Marketplace 的 CentOS 範本,或者手動在 CentOS 虛擬主機中安裝 Ansible 執行環境,在管理 Microsoft Azure 公有雲環境之前,必須先組態設定「Azure Credentials」憑證資訊,以便管理該 Azure 訂閱帳戶的公有雲基礎架構。

在組態設定 Azure Credentials 憑證資訊之前,管理人員必須準備四項「Azure Service Principal」驗證資訊,分別是 Azure Subscription ID、Tenant ID、Client ID、Secret等資訊。
請注意,採用 Azure Service Principal 驗證資訊的主要原因,在於不應該讓屆時的 Ansible 自動化管理工具,採用「完全特權使用者」(Fully Privileged User)的身份登入,而是採用 RBAC 受限制的方式登入和管理 Azure 基礎架構和資源。

首先,請在 Azure Portal 中依序點選「All Services > Subscriptions」,便會列出此 Azure 管理帳號所擁有的 Azure 訂閱清單,請確認要採用的「Subscriptions ID」(如圖 9 所示)。

圖 9、查詢欲採用 Ansible 管理的 Azure Subscriptions ID

請在 Azure Portal 中,依序點選「Azure Active Directory > Overview」,便會列出此 AAD(Azure Active Directory)環境中「Tenant ID」資訊(如圖 10 所示)。

圖 10、查詢欲採用 Ansible 管理的 Azure Tenant ID

最後,還需要在 AAD 當中建立應用程式 ID 和產生應用程式使用的密碼,也就是 Azure Credentials 當中 Client IDSecret 的部份。請在 Azure Active Directory 中,依序點選「App Registrations > Register an application」鍵入應用程式 ID 的名稱,本文實作採用的名稱為「Ansible App」並按下 Register 鈕之後,便可以看到建立 Ansible App 和「Client ID」(如圖 11 所示)。

圖 11、註冊 Ansible 應用程式並取得 Client ID

點選剛才註冊的 Ansible App 項目,然後點選 Certificates & Secrets 項目,在 Client Secrets 區塊中按下「New Client Secret」,系統將會彈出新增 Client Secret 的描述和應用程式密碼過期時間,本文實作採用預設值「一年」後應用程式密碼過期,然後按下 Add 鈕,系統便會自動生成 Ansible App 應用程式的「密碼」(Secret)(如圖 12 所示)。

圖 12、產生 Ansible App 應用程式使用的密碼

倘若,管理人員覺得上述採用 Azure Portal 的方式,取得 Azure Service Principal 的方法太慢,管理人員可以採用 Azure Cloud Shell 或 Azure CLI,使用「az account list --output table」指令,列出管理帳戶所擁有的 Azure 訂閱帳戶 ID,使用「az ad sp create-for-rbac --name AnsibleApp」指令的方式,快速建立 Azure Service Principal(如圖 13 所示)。
建立 Azure Service Principal 結果中,「appId」欄位便是 Client IS、「password」欄位為 Secret、「tenant」欄位為 Tenant ID,並且自動採用預設一年後應用程式密碼過期。
圖 13、取得管理帳戶所擁有的 Azure 訂閱帳戶 ID 並快速建立 Azure Service Principal

準備好 Azure Credentials 的四項資訊後,便可以在 CentOS 主機上執行「export」指令(如圖 14 所示),搭配 Azure Credentials 的四項機敏資訊,組態設定至 CentOS 主機的環境變數當中,然後透過「env」指令再次確認是否組態設定 Azure Credentials 成功。
請注意,組態設定至 CentOS 主機環境變數中的 Azure Credentials,僅有效於該 SSH Session 。倘若,需要將 Azure Credentials 永久儲存,請建立「~/.azure/credentials」檔案,並在檔案中貼上 Azure Credentials 的四項機敏資訊。
圖 14、組態設定 Azure Credentials 的四項機敏資訊至 CentOS 主機環境變數中



透過 Ansible 部署 Azure 資源群組

現在,管理人員已經可以透過 Ansible 管理 Azure 公有雲環境,舉例來說,管理人員可以在 CentOS 主機上,建立名稱為「create_resourcegroup.yaml」的 YAML 檔案(如圖 15 所示),內容為透過「azure_rm_resourcegroup」這個 Ansible Azure 模組,在 Azure US East 資料中心內建立名稱為「RG-USEast」的資源群組,並且將建立資源群組的執行結果註冊為 result 變數,然後透過 debug 模組將執行結果列印出來。

圖 15、在 Azure US East 資料中心內建立資源群組的 Playbook 檔案內容

在 CentOS 主機鍵入「ansible-playbook create_resourcegroup.yaml」指令,透過 ansible-playbook 指令搭配撰寫好的 YAML 檔案,執行建立名稱為「RG-USEast」的資源群組(如圖 16 所示)。

圖 16、順利透過 Ansible Playbook 執行建立資源群組的動作



透過 Ansible 部署 Azure VM 虛擬主機

順利透過 Ansible Playbook 部署資源群組後,我們可以執行部署 VM 虛擬主機的動作。首先,建立名稱為「create_vm.yaml」的 YAML 檔案,並且透過「vars」宣告後續工作任務中,經常會使用到的名稱為變數,例如,宣告「resource_group」變數名稱的值為「RG-USEast77」,因此後續工作任務中只要使用「"{{ resource_group }}"」,便能呼叫 resource_group 變數名稱的值帶入其中。

如圖 17 所示,在這個 Playbook 當中總共有 7 個工作任務(Tasks),並且搭配下列 7 個 Ansible Azure 模組,完成部署 VM 虛擬主機的動作。
  • azure_rm_resourcegroup :建立「Azure 資源群組」(Azure Resource Group),本文實作名稱為「RG-USEast77」
  • azure_rm_virtualnetwork :建立「Azure 虛擬網路」(Azure Virtual Network),本文實作虛擬網路為「10.0.0.0/16」
  • azure_rm_subnet :建立「Azure 虛擬子網路」(Azure Virtual Subnet),本文實作虛擬子網路為「10.0.1.0/24」
  • azure_rm_publicipaddress :建立固定制「Azure 公有 IP 位址」(Azure Public IP Address),以便稍後指派給 VM 虛擬主機。
  • azure_rm_securitygroup :建立「Azure 網路安全群組」(Azure Network Security Group),允許 SSH(Port 22)網路流量通過防火牆。
  • azure_rm_networkinterface :建立 Azure 虛擬網路介面卡,以便稍後部署 VM 虛擬主機時指派給 VM 虛擬主機使用。
  • azure_rm_virtualmachine :建立 VM 虛擬主機並設定規模大小、管理者帳號和密碼、並採用 CentOS 7.7 映像檔,最後部署作業完成後啟動 VM 虛擬主機。

圖 17、查看 create_vm.yaml 的 YAML 檔案內容

YAML 檔案編寫完畢後,鍵入「ansible-playbook create_vm.yaml」指令(如圖 18 所示),部署名稱為「RG-USEast77」的資源群組在「Azure East US」資料中心內,VM 虛擬主機名稱為「ansiblevm77」並且規模大小為「Standard_DS1_v2」

圖 18、透過 Ansible Playbook 部署 Azure VM 虛擬主機



透過 Ansible 部署 SQL Server 執行個體

接著,實作透過 Ansible Playbook 部署 SQL Server 執行個體並建立資料庫。首先,建立名稱為「create_sql_server.yaml」的 YAML 檔案,並且透過「vars」宣告後續工作任務中,經常會使用到的名稱為變數,例如,宣告「sqlserver_name」變數名稱的值為「ansiblesql12」,因此後續工作任務中只要使用「"{{ sqlserver_name }}"」,便能呼叫 sqlserver_name 變數名稱,將 SQL Server 名稱帶入其中。

如圖 19 所示,在這個 Playbook 當中總共有 3 個工作任務(Tasks),並且搭配下列 3 個 Ansible Azure 模組,完成部署 SQL Server 執行個體的動作。
  • azure_rm_resourcegroup :建立 Azure 資源群組,本文實作名稱為「RG-USEast12」
  • azure_rm_sqlserver :建立 Azure SQL Server 執行個體,本文實作名稱為「ansiblesql12」
  • azure_rm_sqldatabase :在 Azure SQL Server 執行個體中建立 SQL 資料庫,本文實作名稱為「sqldb」

圖 19、查看 create_sql_server.yaml 的 YAML 檔案內容

YAML 檔案編寫完畢後,鍵入「ansible-playbook create_sql_server.yaml」指令(如圖 20 所示),部署名稱為「RG-USEast12」的資源群組在「Azure East US」資料中心內,SQL Server 執行個體名稱為「ansiblesql12」採用的版本為「12.0」,並在 SQL Server 執行個體中建立名稱為「sqldb」的資料庫。
預設情況下,部署的 SQL Server 執行個體規模為「General Purpose : Gen5」等級,並採用「2 vCores」「32 GB」資料庫空間的初始預設值,但是管理人員後續可以依據工作負載需求,調整規模大小為最大 vCores「80」、最大 Memory 為「408 GB」、最大化資料庫空間「4 TB」
圖 20、透過 Ansible Playbook 部署 SQL Server 執行個體

當然,部署 SQL Server 執行個體的工作任務完成,管理人員也可以登入 Azure Portal 管理介面,依序點選「RG-USEast12 > ansiblesql12 > Properties」項目,查看 SQL Server 執行個體的運作環境資訊(如圖 21 所示)。

圖 21、查看 SQL Server 執行個體的運作環境資訊



透過 Ansible 部署 AKS(Azure Kubernetes Service)

實作演練透過 Ansible Playbook 機制,部署 AKS(Azure Kubernetes Service)容器管理平台。值得注意的是,在部署 AKS 容器管理平台之前,應該先確認部署的 Azure 資料中心,支援運作哪些 Kubernetes 版本,避免稍後部署作業因指定錯誤的版本導致不可預期的錯誤。管理人員可以在 Cloud Shell 或 Azure CLI 中,鍵入「az aks get-versions --location eastus --output table」指令(如圖 22 所示),查詢 Azure East US 資料中心,支援運作哪些 Kubernetes 版本。

圖 22、查詢 Azure East US 資料中心支援運作哪些 Kubernetes 版本

建立名稱為「create_aks_cluster.yaml」的 YAML 檔案,並且透過「vars」宣告後續工作任務中,經常會使用到的名稱為變數,例如,宣告「aks_version」變數名稱的值為「1.16.7」,因此後續工作任務中只要使用「"{{ aks_version }}"」,便能呼叫 aks_version 變數名稱,將指定採用的 Kubernetes 版本號碼帶入其中。

如圖 23 所示,在這個 Playbook 當中總共有 2 個工作任務(Tasks),並且搭配下列 2 個 Ansible Azure 模組,完成部署 AKS 容器管理平台的動作。
  • azure_rm_resourcegroup :建立 Azure 資源群組,本文實作名稱為「RG-USEast-AKS1167」
  • azure_rm_aks :部署 AKS 容器管理平台,本文實作名稱為「ansibleaks1167」,並且建立初始運作 AKS 容器管理平台的成員節點主機共「2 台」
當後續需要「擴充」AKS 容器管理平台成員節點主機的數量時,只需要將 Playbook 當中建立 Azure 資源群組的工作任務移除,並且調整「count :」參數值即可,例如,「count :5」即表示總共會有「5 台」成員節點主機,負載承載 AKS 容器管理平台的工作任務。
圖 23、查看 create_aks_cluster.yaml 的 YAML 檔案內容

YAML 檔案編寫完畢後,鍵入「ansible-playbook create_aks_cluster.yaml」指令,透過 Ansible Playbook 機制部署 AKS 容器管理平台(如圖 24 所示),部署名稱為「RG-USEast-AKS1167」的資源群組在「Azure East US」資料中心內,AKS 容器管理平台名稱為「ansibleaks1167」,採用的 Kubernetes 版本為「1.16.7」,並且建立「2 台」成員節點主機運作 AKS 容器管理平台。

圖 24、透過 Ansible Playbook 部署 AKS 容器管理平台

當部署 AKS 容器管理平台的工作任務完成後,管理人員可以在 Cloud Shell 或 Azure CLI 當中,透過建立 AKS 容器管理平台的驗證資訊,然後執行「kubectl get nodes」指令,列出目前 AKS 容器管理平台的成員節點主機資訊。如圖 25 所示,可以看到共有 2 台成員節點主機,採用的 Kubernetes 版本為指定的 1.16.7 。

圖 25、透過指令查詢 AKS 容器管理平台的成員節點主機資訊

當然,管理人員也可以登入 Azure Portal,依序點選「RG-USEast-AKS1167 > ansibleaks1167 > Node pools」項目,AKS 容器管理平台的成員節點主機的運作環境資訊(如圖 26 所示)。

圖 26、查看 AKS 容器管理平台的成員節點主機的運作環境資訊





結語

透過本文的深入剖析和實戰演練,相信讀者已經了解 DevOps 和 IaC 基礎架構即程式碼的基本概念,同時我們可以透過 Ansible 這個簡單易懂卻又強大的工具,幫助企業和組織的 IT 管理人員,有效管理地端資料中心或者公有雲基礎架構。

此外,本文實戰演練的每個 Playbook(YAML 檔案),都公開存放在筆者的 GitHub Ansible Repo當中,有興趣的讀者可以隨時下載進行測試,體驗 Ansible Playbook 如何簡化部署和組態設定作業。

[站長開講] VMware vSphere 伺服器虛擬化實戰班

$
0
0

活動資訊

日期: 2020 年 6 月 6 日 ~ 6 月 14 日
時間: 09:00 ~ 17:00
地點: 台北資策會 (台北市復興南路一段 390 號 3 樓)
報名:資策會課程 - VMware vSphere 伺服器虛擬化實戰班







課程大綱

VMware vSphere 伺服器虛擬化平台硬體規劃最佳建議作法

VMware vSphere 伺服器虛擬化實作環境建置(Nested VMs / vSphere in a box)

建置 VMware vSphere 伺服器虛擬化平台

  • 建立Windows Server網域控制站和DNS名稱解析伺服器
  • 建立iSCSI Storage儲存伺服器
  • 安裝及管理 vSphere ESXi 虛擬化平台
  • 安裝及管理 vCenter Server 6.7 Update 3管理平台
  • 納管 vSphere ESXi 伺服器虛擬化平台
  • 建立 vSphere資料中心和叢集(Datacenter / Cluster)

建置 VMware vSphere 虛擬網路環境

  • 建立和管理vSS (vNetwork Standard Switch)
  • 建立和管理Port Group
  • 建立和管理Network Policy
  • 建立和管理VMkernel Port
  • 建立和管理NIC Teaming

VM 虛擬主機管理

  • 虛擬磁碟線上擴充/縮小(Disk Online Extend/Shrink)
  • 記憶體熱新增(Memory Hot Add)
  • CPU熱新增(CPU Hot Add)
  • 升級虛擬硬體版本(Upgrade VM Hardware version)
  • 限制VM虛擬主機網路和儲存資源(Limit Network Bandwidth/IOPS)

計畫性停機解決方案

  • 線上即時遷移(vSphere vMotion / DRS)
  • 儲存即時遷移(Storage vMotion / Storage DRS)
  • 無共用儲存即時遷移(vMotion Enhancements)

非計畫性停機解決方案

  • 高可用性(vSphere HA / Fault Tolerance)

vSphere 7 - 重構後的 vSphere vMotion 即時遷移機制

$
0
0


前言

醞釀已久的全新 vSphere 7 解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈。在本文中,我們將討論 vSphere 7 重構後的 vSphere vMotion機制,如何幫助你更快速更穩定的即時遷移 Monster VM


懶得看文字的朋友,就直接看官方的影片說明吧:



vMotion 演進歷史

首先,對於 VMware vSphere 技術稍微熟悉的朋友,相信對於 vSphere vMotion 技術不陌生才對。因此,vMotion 這個技術名詞,其實已經變成是「線上遷移 VM 虛擬主機」的代名詞了。

從 vSphere vMotion 演進歷史圖中可以看到,每一次重大改版的 vSphere 版本中,對於 vMotion 都有不同面向的功能增強。例如,在 vSphere 6.0時支援跨 vCenter Server進行 VM 虛擬主機 vMotion 的動作,在 vSphere 6.5 時支援啟用加密機制的 VM 虛擬主機進行 vMotion。

圖、vSphere vMotion 演進歷史



線上遷移大型 VM 虛擬主機的挑戰 ?

隨著企業和組織,不斷將重要的營運服務運作在 VMware vSphere 虛擬化平台中,大型運作規模 VM 虛擬主機 (常常稱為 Monster VM) 的數量也不斷成長,並且為了確保 vSphere vMotion 即時遷移機制,能夠更適合新興的應用方式等多方考量。

因此,VMware 官方整個重構 vSphere vMotion即時遷移機制,確保在 vSphere 7 運作環境中線上遷移這種大型運作規模 VM 虛擬主機時,能夠避免「切換時間過長」或「效能下降」等影響。

舉例來說,對於 SAP HANA 或 Oracle 資料庫這種大型規模的 VM 虛擬主機,透過傳統的 vSphere vMotion 即時遷移機制進行搬移 (採用 Memory Pre-Copy Optimizations機制),由於大型規模 VM 虛擬主機龐大的 vCPU 和記憶體空間,並且「頁面追蹤」(Page Tracing)機制是套用在所有 vCPU,同時採用「4 KB Pages」小型資料區塊傳輸 vRAM 虛擬記憶體空間,結果就是除了可能造成 vMotion 遷移時間過長的情況外,也有可能影響應用程式的運作。

圖、傳統 vSphere vMotion 即時遷移頁面追蹤技術示意圖



重構 vSphere 7 vMotion 運作架構

重構後的 vSphere 7 vMotion 運作架構 (採用 Loose Page Trace Install機制),能夠有效解決大型運作規模 VM 虛擬主機即時遷移的難題。首先,在 vCPU 虛擬處理器運算資源遷移的部份採用「專用」(Dedicated)的頁面追蹤機制,確保進行 vMotion 遷移時不會影響應用程式的運作。

圖、重構後的 vSphere vMotion 即時遷移頁面追蹤技術示意圖

圖、重構後的 vSphere vMotion 即時遷移頁面追蹤技術與舊版相比示意圖

在 vRAM 虛擬記憶體遷移的部份,改為採用「1 GB Pages」資料區塊進行傳輸並搭配其它最佳化機制,例如,Memory Pre-Copy、Switchover……等。舉例來說,在過去舊版的 vSphere 環境中,遷移 24 TB vRAM 虛擬記憶體空間需要 768 MB Bitmap,預計遷移時間需要花費「2 秒鐘」,重構後的 vSphere vMotion 則僅需要「175 毫秒」即可完成,確保大型規模 VM 虛擬主機切換至不同 ESXi 主機時,能夠由幾秒鐘的時間縮短至幾毫秒。

圖、重構後的 vSphere vMotion 切換 ESXi 主機時間由幾秒鐘縮短至幾毫秒

在 VMware 官方測試結果中,採用安裝 Oracle 資料庫的 VM 虛擬主機,配置「72 vCPU 和 512 GB vRAM」大型規模虛擬硬體資源,然後採用傳統 vSphere vMotion 和重構後的 vSphere vMotion,遷移 Oracle 虛擬主機,並在遷移期間透過 Hammer DB 模擬工作負載。簡單來說,重構後的 vSphere vMotion 除了更快速遷移完成之外 (切換時間保持在 1 秒以內) ,在遷移期間 Oracle 資料庫的 Commits 數量相較於舊版 vMotion 也高出許多 (至少縮短 20 秒以上的遷移時間)。

圖、傳統和重構後的 vSphere vMotion 遷移大型 VM 虛擬主機測試結果

圖、傳統和重構後的 vSphere vMotion 遷移大型 VM 虛擬主機測試結果



參考資源

vSphere 7 - 改善後的 Storage vMotion 儲存即時遷移機制

$
0
0


前言

醞釀已久的全新 vSphere 7解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈。在前一篇文章 重構後的 vSphere vMotion 即時遷移機制當中,我們已經了解 vSphere 7 對於重構後的 vSphere vMotion 機制有哪些增強。在本文中,我們將討論 vSphere 7 增強 Storage vMotion 機制的部份。


Storage vMotion 技術用途

在開始之前,先幫大家回憶一下 Storage vMotion 技術的用途。簡單來說,管理人員透過 Storage vMotion 機制,可以將 VM 虛擬主機儲存資源從 A Storage 線上遷移到 B Storage,並且在遷移過程中 VM 虛擬主機仍可以正常服務,不會發生任何造成停機時間的情況。

事實上,Storage vMotion 技術從 ESX/ESXi 3.5虛擬化平台版本開始支援,它能將運作中的 VM 虛擬主機其「儲存狀態(Storage State),從一座儲存設備移動到另一座儲存設備,並且中間不會有任何停機時間產生。舉例來說,虛擬化平台當初建立時,因為預算考量所使用的儲存設備其硬碟為 SATA,隨著時間的推進以及 VM 虛擬主機運作數量增加,因而採購了效能更好採用 SAS 硬碟的儲存設備,便可以使用 Storage vMotion 技術,將 VM 虛擬主機的儲存資源由 SATA 硬碟儲存設備,線上不中斷的遷移到 SAS 硬碟儲存設備。

下列為 VM 虛擬主機線上遷移儲存儲存資源時的五個運作階段:
1. 將 VM 虛擬主機的 Home Directory MetaData (例如,Configuration、SWAP、Log Files……等),準備遷移到目的地 Datastore(例如,另一座儲存設備)。
2. 開始複製 VM 虛擬主機的虛擬硬碟檔(vDisk File),到 目的地的 Datastore 當中。
3. 在舊版 vSphere 4.x 版本中,使用 CBT(Changed Block Tracking)技術保持二邊資料的完整性,採用 vSphere 5.x 和後續版本,則會採用 Mirror Driver 技術,透過 One-Pass Copy 機制將二端的資料區塊(Block)保持同步及完整性。
4. VM 虛擬主機非常快速的執行 Suspended / Resumed 動作,以便使用目的地的 Home Directory MetaData 及 Disk File
5. 順利切換 VM 虛擬主機的儲存資源後,將來源端的 Home Directory MetaData 及 Disk File 刪除

圖、Storage vMotion 遷移機制運作示意圖



線上遷移大型 VM 虛擬主機的挑戰?

在前一篇文章 重構後的 vSphere vMotion 即時遷移機制 中,我們已經了解新版 vSphere 7 翻新原有 vSphere vMotion 技術。同時,也因為這層關係,讓 VMware 官方針對 Storage vMotion 技術中的 FSR (Fast Suspend and Resume)遷移流程進行改善和最佳化。

事實上,Stroage vMotion 和 vSphere vMotion 的運作機制非常類似,不同的是 Storage vMotion 著重在線上遷移儲存資源,而 vSphere vMotion 則著重在線上遷移運算資源。

那麼,在開始說明最佳化後的 FSR 技術之前,我們先了解增強前的 FSR 遷移流程機制。簡單來說,FSR 會另外新增一台 VM 虛擬主機,並傳輸 Device StateMemory Metadata (請注意,不是 Memory Pages),完成後把舊有的 VM 虛擬主機進行 Cleaned Up / Powered Off / Deleted等動作。

圖、Storage vMotion FSR 遷移流程

雖然,Storage vMotion 只需要遷移 VM 虛擬主機的 Memory Metadata (包括 PFrames 和 MPN),而不需要遷移完整的 Memory Pages。然而,在遷移 PFrames (Page Frames)MPN (Machine Page Numbers)時,因為採用的是「單線程」(Single Threaded) 的傳輸方式,所以在處理大型運作規模 VM 虛擬主機時,一樣會碰到切換時間過長的問題 (Switch-over time / Stun-time)。

圖、舊有的 Storage vMotion FSR 線上遷移機制示意圖

圖、舊有的 Storage vMotion FSR 線上遷移機制採用單線程傳輸示意圖



最佳化後的 vSphere 7 Storage vMotion 運作架構

最佳化之後的 Storage vMotion 技術,將過去單線程傳輸方式改為「分佈式模型」(Distributed Model) 架構。簡單來說,把要執行遷移的 VM 虛擬主機 Memory Metadata 切成多段後,平均分配給多個 vCPU 並行傳輸,便可以有效加快傳輸效率同時降低切換時間。

圖、改善後的 Storage vMotion FSR 線上遷移機制運作示意圖

在 VMware 官方測試結果中,透過改善後的 Storage vMotion 技術線上遷移一台 48 vCPU 和 2 TB vRAM的 VM 虛擬主機時,切換時間從原本的 7.7 秒降低為 500 毫秒

圖、改善後的 Storage vMotion FSR 線上遷移機制大幅縮短切換時間



參考資源

為 Microsoft Edge 瀏覽器手動安裝 Azure Mask Extension

$
0
0


前言

簡單來說,當你需要透過 Azure Portal 展示某些功能時,應該不希望畫面有你 Azure 訂閱帳戶資訊,例如,Subscription ID, GUID, Connection Strings, email……等。那麼,可以透過 Clarkio 所撰寫的 Azure Mask browser extension,自動將這些敏感的資訊遮住。然而,因為名稱的問題,導致後來在 Chrome Web Store 中已經無法找到或搜尋到 Azure Mask 了 (Firefox 還有)。

因此,快一點的方法就是改用 Firefox,而本文則是說明採用 Microsoft Edge (Chromium 版本)瀏覽器時,如何透過手動的方式安裝 Azure Mask Browser Extension



手動安裝 Azure Mask Browser Extension

首先,從 GitHub 下載最新版本的 Azure Mask Browser Extension,本文實作環境下載的是最新的 Azure Mask 1.1.5 (az-mask-1.1.5.zip) 版本,下載完畢後解壓縮。


請在 Microsoft Edge 網址列中,鍵入「edge://extensions/」然後「啟動 Developer mode」。


按下「Load unpacked」後,點選剛才解壓縮的 Azure Mask 1.1.5 資料夾後,可以看到順利載入 Az Mask 1.1.5 extension 後 (在 Edge 中也出現 Az Mask icon),可以點選 Details 查看詳細資訊和一些進階資訊。


現在,可以放心透過 Microsoft Edge 展示 Azure Portal 的各項功能,並且個人的 Azure 訂閱帳戶資訊能夠自動遮住了。(手動載入 Azure Mask Extension 成功後,可以再度把 Developer Mode 關閉)。




參考資源


網管人 174 期 - 實戰 VMware vSAN 7 體驗超融合架構新設計

$
0
0


網管人雜誌

本文刊載於 網管人雜誌第 174 期 - 2020 年 7 月 1 日出刊,NetAdmin 網管人雜誌為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。






文章目錄

前言
vSAN 7 亮眼特色功能
          PowerCLI 12 支援 vSAN 7
          原生檔案服務
          雲端原生儲存整合 vSphere with Kubernetes
          增強 vSAN 儲存資源報表
實戰 vSAN 7 原生檔案服務
          啟用 vSAN 原生檔案服務
          建立 NFS 檔案共享機制
          掛載檔案共享儲存資源
          限制檔案共享儲存空間
          vSAN 檔案服務容錯移轉
結語





前言

在 2020 年 4 月 2 日時,由 VMware 官方宣佈 vSAN 7 正式發行。事實上,在 VMware 的 SDDC 軟體定義資料中心的願景中,擔任 SDC 軟體定義運算角色的部份,為管理人員所熟悉的 vSphere 虛擬化解決方案,擔任 SDN 軟體定義網路角色的則是 NSX 網路虛擬化解決方案,至於 SDS 軟體定義儲存角色則是本文即將深入剖析和實戰演練的 vSAN 超融合解決方案。

過去,企業或組織希望打造 SDDC 軟體定義資料中心時,可能必須分別導入上述的 SDC/SDN/SDS三種軟體定義技術。現在,透過 VCF(VMware Cloud Foundation)便能一次掌握這三大關鍵的軟體定義技術,同時搭配 SDDC Manager 之後,除了打造企業內部 SDDC 軟體定義資料中心架構之外,甚至能夠串接公有雲和私有雲環境,達成更具彈性的混合雲運作環境(如圖 1 所示)。

圖 1、VCF(VMware Cloud Foundation)運作架構示意圖





vSAN 7 亮眼特色功能

全新打造的 vSAN 7 不僅是 VCF 運作架構中的儲存資源基石,並且因應商業數位化和新興容器技術的需求,新版的 vSAN 7 不僅能夠原生提供 NFS 檔案共享服務,同時更增強和擴大雲端原生儲存資源的支援度。

舉例來說,過去 vSAN 運作環境所建立的 VMFS 儲存資源,僅支援運作 VM 虛擬主機使用,至於企業和組織在 Linux 容器環境中經常使用的 NFS 檔案共享服務,則必須依賴其它外部硬體儲存設備來提供。現在,新版 vSAN 7 直接原生支援 NFS 檔案共享服務(如圖 2 所示),減少企業和組織需要額外採購外部儲存設備之外,這個 NFS 檔案共享服務也同時支援 Kubernetes 建立「永續性磁碟區」(Persistent Volumes,PV),讓企業和組織同時解決傳統 NFS 檔案共享服務,以及容器技術所需儲存資料的永續性磁碟區。
vSAN 7原生檔案服務,支援 NFSv3v4.1版本檔案共享機制。
圖 2、新版 vSAN 7 直接原生支援 NFS 檔案共享服務



PowerCLI 12 支援 vSAN 7

熟悉 Windows PowerShell 的管理人員,對於 VMware PowerCLI 應該不陌生,簡單來說 PowerCLI 便是以 PowerShell 為底層基礎的指令工具,PowerCLI 提供一系列的 Cmdlet 指令和相關模組,幫助管理人員維運 vSphere 和 vSAN 運作環境,舉例來說,管理人員需要建立 100 台虛擬主機時,雖然可以透過 vSphere HTML 5 Client 圖形化管理工具達成,但是必須花費大量時間並且有可能發生人為操作失誤的情況,此時透過 PowerCLI 便可以輕鬆且快速的達成工作任務。

現在,最新版本的 PowerCLI 12 新增許多 Cmdlet,協助管理人員組態設定和管理 vSAN 7 新增的原生檔案服務,舉例來說,管理人員透過 Cmdlet 組態設定 vSAN 7 檔案服務後,可以透過「Get-VsanFileShare」這個 Cmdlet 指令,查詢 vSAN 7 原生檔案服務的相關資訊(如圖 3 所示)。
有關 PowerCLI Cmdlet 的詳細用途和指令語法,請參考 VMware PowerCLI Cmdlets Reference
圖 3、查詢 vSAN 7 原生檔案服務的相關資訊



原生檔案服務

在新版 vSAN 7 運作環境中,已經正式支援「原生檔案服務」(Native File Services),以便快速提供 NFS 檔案共享服務,因此企業和組織無須再額外採購外部儲存設備來提供 NFS 檔案共享服務。那麼,我們來看看在 vSAN 運作架構中,如何建構和提供原生檔案服務。

首先,在 vSAN 運作架構中,必須具備「3 ~ 8」台 vSAN 節點伺服器才能建構原生檔案服務,並且每台節點伺服器都必須具備唯一的 IP 位址,以及 DNS 正向和反向解析紀錄。值得注意的是,在 vSAN 叢集中必須準備「檔案服務網域」(File Services Domain),這是屆時提供 NFS 檔案共享服務時使用的唯一名稱空間。
建構的 NFS 檔案共享服務,支援「Layer 2」和「Layer 3」(Routing)環境。

事實上,當 vSAN 叢集啟用原生檔案服務特色功能時,系統將會在 vSAN 叢集中建立「VMware 分佈式檔案系統」(VMware Distributed File System,VDFS),這個檔案系統的主要目的在於管理用途(如圖 4 所示)。此外,在 vSAN 叢集中的每台 vSAN 節點主機,將會運作一台「檔案服務虛擬主機」(File Service VM,FSVM),每台檔案服務虛擬主機都會提供 NFS 檔案共享服務,而 NFS 檔案共享服務的原始儲存資源,則是採用 vSAN Datastore 儲存資源,以便保持儲存資源的資料保存可用性。

圖 4、vSAN 原生檔案服務運作架構示意圖



雲端原生儲存整合 vSphere with Kubernetes

在全新的 vSphere 7 和 VCF(VMware Cloud Foundation)運作架構中,已經整合新興應用的容器技術管理平面 Kubernetes,管理人員可以選擇採用 TKG(Tanzu Kubernetes Grid)vSphere with Kubernetes,部署 K8s 叢集並且運作和管理各式各樣的容器。

基本上,無論管理人員選擇採用 TKG 或 vSphere with Kubernetes,都可以透過 Pod Service CSITKG Service CSI驅動程序,存取座落於底層的 vSAN 儲存資源和原生檔案服務(如圖 5 所示)。

圖 5、雲端原生儲存資源整合 TKG 和 vSphere with Kubernetes 運作架構示意圖



增強 vSAN 儲存資源報表

由於新版的 vSAN 7 超融合解決方案,已經不像舊版著重於 VM 虛擬主機的工作負載,更支援新興的容器技術應用。同時,增強 vSAN 儲存資源報表功能和呈現方式,方便管理人員了解 vSAN 叢集的各項工作負載和資源耗用情況,以便管理人員判斷是否該為 vSAN 叢集中每台 vSAN 節點主機,擴充運算和儲存資源達成「垂直擴展」(Scale-Up),或者是為 vSAN 叢集增加更多台 vSAN 節點主機,達成「水平擴展」(Scale-Out)的運作架構。

在 VM 虛擬主機的部份,當管理人員點選 VM 虛擬主機的 Summary 頁籤後,可以發現有「Switch to New View」鈕,按下後可以發現新版更精簡清淅的 VM 虛擬主機工作負載和資源使用情況,例如,管理人員最在意的動態記憶體和儲存資源使用率(如圖 6 所示)。

圖 6、新版 VM 虛擬主機工作負載和資源使用率示意圖

此外,當 vSAN 叢集啟用原生檔案服務,那麼在 vSAN 容量使用報表中,依序展開「vSAN > Capacity > Usage breakdown before dedup and compression > User Objects > File shares」項目後,即可查看 vSAN 原生檔案服務儲存資源使用率(如圖 7 所示)。

圖 7、即可查看 vSAN 原生檔案服務儲存資源使用率





實戰 vSAN 7 原生檔案服務

如上所述,新版 vSAN 7 已經可以透過啟用原生檔案服務,讓 vSAN 7 叢集能夠提供 NFS v3 和 v4.1 檔案共享機制,並且這個 NFS 檔案共享機制不僅可以分享給 VM 虛擬主機使用,也能因應新興容器技術的使用,同時企業和組織無須額外採購儲存設備,便能輕鬆將 NFS 檔案共享的資料,儲存在高效能和高可用性的 vSAN Datastore 儲存資源內(如圖 8 所示)。

圖 8、vSAN 原生檔案服務運作架構示意圖

舉例來說,新興應用微服務架構上「雲端原生」(Cloud Native)類型的工作負載,例如,Apache、Nginx、Tomcat 等網頁應用伺服器使用儲存資源的特性,便是透過 NFS v4.1協定存取儲存資源,以便達到分佈式應用程序的運作架構。

在開始實戰演練 vSAN 原生檔案服務之前,我們先了解相關前置作業以及運作環境需求,以便稍後能夠順利啟用 vSAN 原生檔案服務:
  • 在 vSAN 叢集中的每台 vSAN 節點主機,必須具備唯一 IP 位址,倘若需要 Layer 3路由轉送的話,則必須組態設定預設閘道和路由機制。
  • 在 vSAN 原生檔案服務運作環境中,必須具備 DNS 名稱解析伺服器,以便處理 DNS 正向和反向名稱解析服務。
  • 在啟用 vSAN 原生檔案服務時,必須組態設定「檔案服務網域」(File Services Domain),這在 vSAN 叢集中必須具備唯一性的「命名空間」(Namespace)。




啟用 vSAN 原生檔案服務

在本文實作環境中,vSAN 叢集內共有 3 台 vSAN 節點主機,已經在 vSphere 叢集中啟用 vSAN 特色功能,將 3 台 vSAN 節點主機的本機儲存裝置匯整為 vSAN Datastore 儲存資源,並且完成組態設定 vDS 分佈式虛擬交換器,以利 3 台 vSAN 節點主機之間 vSAN Traffic 儲存流量交換。

確認 vSAN 叢集為正常運作狀態後,依序點選「vSAN Cluster > Configure > vSAN > Services > File Service > Enable」項目,系統便會彈出組態設定原生檔案服務精靈對話視窗(如圖 9 所示)。
在組態設定 vSAN 檔案服務畫面中可以看到,系統提醒管理人員在繼續下一個操作步驟之前,應先確認是否已經準備好相關資訊,例如,固定 IP 位址、DNS 名稱……等。
圖 9、準備啟用並組態設定 vSAN 檔案服務

由於,啟用 vSAN 檔案服務之後,系統將會在 vSAN 叢集中透過 vSphere ESX Agent Manager,為每一台 vSAN 節點主機安裝「檔案服務代理程式」(File Service Agent),這個檔案服務代理程式為採用 Photon OS 的輕量型「虛擬設備」(Virtual Appliance,VA)運作架構,並已經啟用 NFS 伺服器服務,以便提供 NFS 檔案共享服務。

因此,在 File Service Agent 頁面中,我們可以選擇採用預設值「Automatic Approach」(如圖 10 所示),並且勾選「Trust the certificate」選項。讓 vCenter Server 自動前往 VMware 官方網站下載,最新穩定版本的檔案服務代理程式,並安裝至 vSAN 叢集中每一台 vSAN 節點主機。倘若,vCenter Server 無法接觸網際網路,則請改為選擇「Manual Approach」項目,以手動的方式上傳檔案服務代理程式。
採用自動下載檔案服務代理程式選項時,當管理人員按下 Next 鈕後,vCenter Server 便會立即至 VMware 官網下載檔案服務代理程式,並在下方 Task Panel 顯示下載進度,工作進度名稱為「Download vSAN File Service OVF」。
圖 10、採用預設值自動下載最新穩定版本的檔案服務代理程式

在 Domain 頁面中,管理人員必須提供 vSAN 檔案服務的網域資訊,在本文實作環境中檔案服務網域名稱為「vsan-nfs」,而 DNS 伺服器的 IP 位址為「10.10.75.60」,DNS 尾碼則是「weithenn.org」(如圖 11 所示)。
 在 vSAN 7 版本中,目前僅支援採用「AUTH_SYS」的 NFS 檔案共享服務身份驗證機制。
圖 11、組態設定 vSAN 檔案服務的網域資訊

在 Networking 頁面中,管理人員必須選擇屆時部署檔案服務代理程式,所要使用的 NFS 檔案共享網路環境 Port Group,點選 Network 下拉式選單,選擇本文實作環境採用的「NFS Network」,並鍵入使用的子網路遮罩「255.255.255.0」,以及預設閘道「10.10.75.254」(如圖 12 所示)。

圖 12、組態設定檔案服務代理程式使用的 NFS 檔案共享網路環境 Port Group

在 IP Pool 頁面中,鍵入檔案服務代理程式所要使用的 IP 位址資源池,根據 VMware 的最佳建議作法,便是為 vSAN 叢集中的每台 vSAN 節點主機,額外配置專用於 NFS 檔案共享服務的 IP 位址資源池,並且建議採用連續的 IP 位址。在本文實作環境中,鍵入第一筆 IP 位址「10.10.75.71」後,按下「Lookup DNS」確保能夠正確進行 DNS 名稱解析,然後按下「AutoFill」則會依序遞增 IP 位址,並再次按下「Lookup DNS」確保新加入的 IP 位址能夠正確進行 DNS 名稱解析(如圖 13 所示)。
選項中「Primary」的 IP 位址,主要用於 NFS v4.1 檔案共享存取用途,並且在後端透過 NFSv4 轉介機制,重新導向至不同台 vSAN 節點主機的檔案服務代理程式。
圖 13、組態設定檔案服務代理程式所要使用的 IP 位址資源池

在 Review 頁面中,再次檢視所有組態設定內容是否正確無誤,確認無誤後按下 Finish 鈕,便立即進行檔案服務代理程式的部署作業。當部署的工作任務完成後,可以看到在 vSAN 叢集中每台 vSAN 節點主機上,皆會運作一台名稱為「vSAN File Service Node」的虛擬主機(如圖 14 所示),採用的客體作業系統為「VMware Photon OS」,並由「vSphere ESX Agent Manager」所管理。
首先,系統會部署至 Primary的 vSAN 節點主機,接著建立快照後再複製至其它台 vSAN 節點主機上。
圖 14、檔案服務代理程式部署完畢



建立 NFS 檔案共享機制

順利組態設定和啟用 vSAN 檔案服務後,在 vSphere HTML 5 Client 管理介面中,「vSAN Cluster > Configure > vSAN」的選項中,將會多出「File Service Shares」子項目,請按下「Add」準備新增 NFS 檔案共享機制。

在本文實作環境中,NFS 檔案共享網路名稱為「nfs-share」,採用的 vSAN 儲存原則為預設的「vSAN Default Storage Policy」,在 NFS 檔案共享儲存空間限制中,觸發儲存空間警告的臨介值為「7 GB」,而最大儲存空間則為「10 GB」(如圖 15 所示)。

圖 15、組態設定 NFS 檔案共享網路名稱和儲存空間警告及限制

在 Net Access Control 頁面中,組態設定能夠存取 NFS 檔案共享的網段和權限,本文實作環境允許「10.10.75.0/24」網路環境的主機,皆能夠存取 NFS 檔案共享儲存空間,並且具備「讀取 / 寫入」(Read/Write)的權限(如圖 16 所示)。
NFS 檔案共享權限支援三種方式,分別是「禁止存取」(No Access)、「僅能讀取」(ReadOnly)、「讀取 / 寫入」(Read/Write)
圖 16、組態設定存取 NFS 檔案共享的網段和權限

在 Review 頁面中,再次檢視所有組態設定內容是否正確無誤,確認無誤後按下 Finish 鈕,便立即進行建立 NFS 檔案共享的工作任務。當 NFS 檔案共享機制建立完成後,便能看見建立的 NFS 檔案共享儲存資源,後續管理人員也可以依照專案需求,隨時調整套用的 vSAN 儲存原則,以及儲存空間警告和儲存空間限制臨界值(如圖 17 所示)。

圖 17、NFS 檔案共享機制建立完成



掛載檔案共享儲存資源

雖然,vSAN 檔案服務同時支援 NFS v3 和 v4.1 機制,然而當管理人員在 Linux 主機端,透過「showmount」指令查詢 NFS 檔案共享資源時,將會發現僅查詢 Primary IP「10.10.75.71」時,才得獲得 NFS 檔案共享資源(如圖 18 所示)。

圖 18、查詢 vSAN 檔案服務建立的 NFS 檔案共享儲存資源

那麼,從 Linux 主機端該如何掛載 NFS v3 和 v4.1 檔案共享儲存資源? 管理人員可以從 vSphere HTML 5 Client 管理介面中,點選本文實作的 NFS 檔案共享資源項目後,按下「Copy URL」選擇 NFSv3 或 NFSv4.1項目,便會顯示 NFS 檔案共享資源掛載路徑(如圖 19 所示)。
此時,系統已經將 NFS 檔案共享掛載路徑複製至主機的剪貼簿中。
圖 19、顯示 NFS 檔案共享資源掛載路徑

此時,便可以切換至 Linux 主機端,採用「mount」指令搭配剛才複製的 NFS 檔案共享資源掛載路徑「10.10.75.71:/vsanfs/nfs-share」,以及 Linux 主機端的掛載點「/mnt/nfs-share」。當 NFS 檔案共享資源掛載工作任務執行完成後,執行「mount | egrep "nfs-share|4.1"」指令,確認成功掛載 NFS 檔案共享儲存資源並採用 NFS v4.1版本(如圖 20 所示)。

圖 20、掛載 NFS 檔案共享儲存資源並確認採用的 NFS 版本



限制檔案共享儲存空間

接著,我們測試先前組態設定的 NFS 檔案共享儲存空間警告和限制機制,在本文實作環境中觸發儲存空間警告的臨介值為「7 GB」,而最大儲存空間則為「10 GB」。我們可以在 Linux 主機端,透過「dd if=/dev/zero of=/mnt/nfs-share/8gb.txt bs=1G count=8」指令,建立一個佔用空間大小為「8 GB」的測試檔案(如圖 21 所示)。

圖 21、透過 dd 指令建立 8 GB 空間大小的測試檔案

此時,切換至 vSphere HTML 5 Client 管理介面,可以看到 NFS 檔案共享使用空間已達組態設定的「80 %」(如圖 22 所示)。

圖 22、查看 NFS 檔案共享儲存空間警告和限制資訊

由於,仍然未達到 NFS 檔案共享最大儲存空間限制 10 GB,所以 Linux 主機端仍然能夠寫入檔案,然而當我們寫入資料達到最大儲存空間限制 10 GB 時,嘗試再寫入資料時便會出現「Disk quota exceeded」的錯誤訊息(如圖 23 所示),無法再繼續寫入任何資料。

圖 23、寫入資料達到最大儲存空間限制 10 GB 時便無法再繼續寫入任何資料

此時,切換至 vSphere HTML 5 Client 管理介面,依序點選「vSAN Cluster > Monitor > vSAN > Skyline Health」項目,可以看到「File Service > Share health」子項目出現紅色錯誤訊息,原因便是 NFS 檔案共享儲存資源超過限制大小(如圖 24 所示)。
管理人員可以擴充 NFS 檔案共享儲存資源限制大小,或刪除 NFS 檔案共享儲存資源中不必要的檔案,那麼 Skyline Health 健康偵測機制便會恢復正常。
圖 24、透過 Skyline Health 健康偵測機制,查看 NFS 檔案共享儲存資源健康情況



vSAN 檔案服務容錯移轉

由於,NFS 檔案共享儲存資源為運作在 vSAN 叢集之上的應用服務,所以就像在 vSAN Datastore 當中受保護的 VM 虛擬主機一樣,除了享有 vSAN 高效能之外也同樣具備高可用性。

首先,請於 vSphere HTML 5 Client 管理介面中,依序點選「vSAN Cluster > Monitor > vSAN > Virtual Objects > Affected inventory objects > File Shares」,接著點選本文實作的 NFS 檔案共享儲存資源「nfs-share」,然後按下「View Placement Details」,即可看到 NFS 檔案共享儲存資源物件,分佈在 vSAN 叢集中的所有 vSAN 節點主機(如圖 25 所示)。

圖 25、查看 NFS 檔案共享儲存資源物件分佈情況

在本文實作環境中,建立的「nfs-share」NFS 檔案共享儲存資源,系統指派由「vsan-n02.weithenn.org」vSAN 節點主機負責,我們將此台 vSAN 節點主機直接斷電以便模擬故障損害的情況,測試 NFS 檔案共享儲存資源的高可用性。

當「vsan-n02.weithenn.org」vSAN 節點主機斷電後,再次查看 NFS 檔案共享儲存資源物件分佈情況,可以發現原本由「vsan-n02.weithenn.org」vSAN 節點主機儲存的物件,狀態由先前健康良好的「Active」轉變為「Absent」(如圖 26 所示)。

圖 26、原本由 vsan-n02.weithenn.org 節點主機負責儲存的物件狀態轉變為 Absent

此外,我們切換到「nfs-share」NFS 檔案共享儲存資源頁面,可以看到原本由「vsan-n02.weithenn.org」vSAN 節點主機負責 NFS 檔案共享服務,因為發生斷電的故障損壞情況後,系統改為指派由「vsan-n01.weithenn.org」vSAN 節點主機,接手負責 NFS 檔案共享服務(如圖 27 所示)。

圖 27、由 vSAN 節點主機 vsan-n01.weithenn.org 接手 NFS 檔案共享服務





結語

透過本文的深入剖析和實作演練後,讀者已經了解全新 vSAN 7 超融合架構有哪些亮眼特色功能,同時建構 vSAN 7 運作架構後不僅能夠為企業和組織,提供原有 VM 虛擬主機的各項應用,並且為 vSAN7 啟用原生檔案服務後也能提供給新興容器技術使用,無須再額外採購硬體儲存設備節省 IT 預算。

vSphere 7 - 改善後的 vSphere DRS 自動化負載平衡機制

$
0
0


前言

醞釀已久的全新 vSphere 7解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈。在前幾篇文章中,我們已經了解 vSphere 7 對於 vSphere vMotion、Storage vMotion 機制有哪些增強。在本文中,我們將討論 vSphere 7 增強 vSphere DRS自動化負載平衡機制的部份。

事實上,vSphere DRS (Distributed Resource Scheduling)第一版在 2006 年時首度發佈。時至今日,最新的 vSphere 7版本中的 DRS 為了因應現代化工作負載,同樣也進行相對應的功能改進和增強。簡單來說,過去的 vSphere DRS 著重在「叢集」(Cluster),而新版 vSphere 7 當中的 DRS 則著重在「工作負載」(Workload)的部份,以便最佳化調度 VM 虛擬主機、Pods、Containers……等工作負載。

懶得看文字的朋友,請直接看官方的影片說明吧:




舊版 vSphere DRS 自動化工作負載平衡邏輯 (DRS v1.0)

在過去版本中的 vSphere DRS 自動化工作負載平衡邏輯,採用「整體叢集標準差模型」(Cluster-wide Standard Deviation Model)運作機制,主要著重的部份在「叢集」(Cluster)工作負載的部份,一旦管理人員啟用 vSphere DRS 特色功能後,系統將會「每隔 5 分鐘」檢查叢集中的 ESXi 成員主機工作負載情況,判斷哪些 ESXi 成員主機消耗過多資源,然後建議管理人員可以針對哪些 VM 虛擬主機,執行 vSphere vMotion 遷移的動作,以便叢集內的 ESXi 成員主機之間的工作負載能夠達到平衡。

圖、舊版 vSphere DRS 資源負載平衡圖表

圖、舊版 vSphere DRS 採用 Cluster-wide Standard Deviation Model 判斷邏輯



增強後的 vSphere 7 DRS 自動化調度機制 (DRS v2.0)

現在,新版中的 vSphere 7 DRS 自動化工作負載平衡邏輯,採用「Goodness Modelling」運作機制,不將資源負載平衡的重點放在「叢集中 ESXi 成員主機」身上,而是將工作負載平衡的焦點放在「VM 虛擬主機」身上,並且舊版的 vSphere DRS 為「每隔 5 分鐘」判斷一次資源平衡狀態,而新版 vSphere DRS 則改為「每隔 1 分鐘」便檢查一次 VM 虛擬主機的資源平衡狀態,以便提供更精細的方式來計算和負載平衡工作負載。
VMware Cloud on AWX運作環境中,可以透過「Elastic DRS」機制,將工作負載遷移至其它叢集或自動新增 ESXi 成員主機來負載平衡叢集資源。
圖、增強後的 vSphere 7 DRS 資源負載平衡圖表

圖、增強後的 vSphere 7 DRS 採用 Goodness Modelling 判斷邏輯

因此,當 vSphere 7 叢集啟用 DRS 自動化負載平衡機制後,系統將會「每隔 1 分鐘」計算叢集中運作的 VM 虛擬主機工作負載得分「VM DRS Score」,然後判斷透過 vMotion 機制遷移 VM 虛擬主機後,對於其它 VM 虛擬主機的影響為何,以達成最佳化且更細緻的資源使用率。VM DRS Score 的得分範圍共有 5 個部份,分別是「0-20%、20-40%、40-60%、60-80%、80-100%」,當 VM 虛擬主機被系統判定得分為「80-100%」時,表示這台 VM 虛擬主機的資源使用情況良好 (未發生資源爭奪)。
VM DRS Score 計算標準為何? 包括 CPU 準備時間、CPU 快取行為、Memory SWAP 情況、使用的網路流量、所處 ESXi 成員主機的資源情況、叢集中其它 ESXi 成員主機的資源情況 (在別台是否能運作更好)……等。
圖、查看所有 VM 虛擬主機的 VM DRS Score 得分資訊

最後,如何快速查看新版 vSphere 7 DRS 的資源負載平衡圖表,以及所有 VM 虛擬主機的 VM DRS Score 得分資訊? 可以從,下列官方提供的 Gif 動畫快速了解。




參考資源

vSphere 7 - DRS with Scalable Shares 改善 Resource Pool 盲點

$
0
0


前言

醞釀已久的全新 vSphere 7 解決方案,終於在 2020 年 3 月 10 日由 VMware 官方正式發佈。在前篇文章 改善後的 vSphere DRS 自動化負載平衡機制中,我們已經了解改善後的 vSphere DRS (DRS v2.0),能夠更有效的自動化負載平衡 VM 虛擬主機和容器的工作負載。

在本文中,我們將討論新一代 vSphere DRS v2.0,如何改善過去 Resource Pool因為規劃不良導致的效能盲點問題。那麼,懶得看文字的朋友,請直接看下列官方的影片說明吧:




舊版 vSphere DRS v1.0 在 Resource Pool 中可能出現的盲點

在舊版  vSphere DRS v1.0 運作環境中,倘若 Resource Pool 的規劃有盲點時,可能就會出現本來應該取得高份額資源的 VM 虛擬主機,卻反而取得比低份額資源的 VM 虛擬主機來得慘的情況。

舉例來說,叢集中 CPU 運算資源總共為「30 GHz」,其中管理人員建立二個 Resource Pool (Dev / Production),其中 Resource Pool 1 (Dev)設定的 CPU Shares 為「normal」(取得三分之一的資源也就是 10 GHz),而 Resource Pool 2 (Production)的 CPU Shares 則為「high」(取得三分之二的資源也就是 20 GHz)。

然而,因為運作在 Resource Pool 2 中有二台 VM 虛擬主機,所以每台也是取得「10 GHz」運算資源 (跟 Resource Pool 1 的 VM 虛擬主機取得一樣的資源),假設 Resource Pool 2 (Production) 中運作「四台」VM 虛擬主機的話,那麼結果將會更慘,因為每台 VM 虛擬主機只能分得「5 GHz」的運算資源。

圖、舊版 Resource Pool 可能出現的資源調度盲點



新版 vSphere DRS v2.0 with Scalable Shares 改進機制

新版 vSphere 7 DRS v2.0中,新增「DRS with Scalable Shares」的增強功能,可以有效改善過去 Resource Pool 規劃上可能出現盲點的問題,確保 VM 虛擬主機和容器可以取得高份額資源。

現在,同樣的 Resource Pool 組態設定,但是啟用「DRS with Scalable Shares」增強功能後,由於 vSphere 7 DRS v2.0 採用增強的「動態計算」(Dynamically Calculates) 運作機制,所以同樣的 VM 虛擬主機數量,管理人員可以發現在 Resource Pool 1 (Dev) 中的 VM 虛擬主機取得「6 GHz」運算資源,而 Resource Pool 2 的二台 VM 虛擬主機分別取得「12 GHz」運作資源,有效改善過去 Resource Pool 規劃上可能出現盲點的問題。

圖、新版 Resource Pool 解決資源調度盲點



如何為叢集啟用 vSphere DRS with Scalable Shares 機制 (Cluster Level)?

在 vSphere HTML 5 Client 管理介面中,依序點選「Cluster > Configure > vSphere DRS > Edit > Additional Options」,然後勾選「Enable scalable shares for the resource pools on this cluster」項目,即可為叢集啟用 vSphere DRS with Scalable Shares 增強機制。

圖、為叢集啟用 DRS with Scalable Shares 機制



如何為單一 Resource Pool 啟用 Scalable Shares 機制 (Resource Pool Level)?

倘若,管理人員不想為整個叢集啟動 vSphere DRS with Scalable Shares 增強機制,也可以針對「單一 Resource Pool」啟用 Scalable Shares 增強機制。只要在指定的 Resource Pool 中,於 Scale Descendant's Shares 欄位勾選「Yes, make them scalable」項目即可。

圖、為單個 Resource Pool 啟用 DRS with Scalable Shares 機制



參考資源

[站長開講] Taiwan Cloud Edge Summit 2020

$
0
0


活動簡介

回顧 2020 年上半,因應 COVID 疫情爆發,IT 人忙碌的主軸不外乎協助公司推動營運持續計畫(BCP)、建置遠距辦公和視訊會議環境,這些任務已佔去可觀的工時,加上研討會與論壇頻次大降,許久沒能好好吸收科技新知。

在人們忙於抗疫應變、擁抱 WFH(Work From Home)新趨勢的同時,儘管許多經濟活動陷於停滯,但全球數位轉型浪潮不僅未跟著停歇、反倒更加炙熱,且雲端技術扮演的角色愈來愈吃重;此乃因為,多數企業已意識到公衛議題難以預知、遠距作業成為常態,今後唯有藉助高敏捷、高可用、高擴展的未來 IT 基礎架構,才足以應付接踵而來的挑戰,單靠傳統地端的資訊基礎建設,不管在建置的成本、速度,乃至擴充彈性等方面,都難以滿足需求。

往後的日子,無論全世界的疫情延燒、緩和或平息,IT 人都將扛起「雲端化的數位轉型」重責大任,舉凡如何駕馭多雲環境、實踐雲原生技術、活用雲端資源加速孕育 AIoT 應用,甚至進一步回歸地面、佈局智慧邊緣運算,皆是重要課題。

為幫助廣大的 IT 人,順利迎向雲端化、容器化、微服務化、AIoT 智慧化、5G 行動化…等各種新局,iThome 訂於 9/8(二)臺北國際會議中心舉辦「Cloud Edge Summit Taiwan 2020 臺灣雲端大會」,一方面邀集不同領域的專家菁英,各自分享真知灼見,引領與會來賓快速領略各種雲端技術內涵,並理解運用之道,另一方面設置多場次的 Hands-on Lab,使學員透過做中學,快速儲備實戰能量。

總之,未來雲端技術將持續豐富、進步、多樣化,「 Cloud Edge Summit Taiwan」可以幫助您早一步懂得善用這些技術,加速推動產業創新,成為數位化贏家。



活動資訊

  • 日期: 2020 年 9 月 8 日 (星期二)
  • 時間: 8:00 ~ 16:30
  • 地點: 台北國際會議中心 (TICC)
  • 報名: 活動報名




活動內容



Next Generation of Azure Stack HCI 20H2

$
0
0


前言

今年的 Microsoft Inspire 2020大會,過往只有 Microsoft 合作夥伴才能參加,今年除了轉為線上會議之外,還開放所有人員註冊參加。

當然,在 Microsoft Inspire 2020 大會中有許多亮眼新功能,但是最吸引我目光的當然就是新一代的 Azure Stack HCI 20H2的部份。那麼,這篇會來聊聊新一代的 Azure Stack HCI 和過往 Windows Server 2019 內有何不同 ? 後續,站長也將不定期的撰寫新一代 Azure Stack HCI 的各式應用。💪



Azure Stack Family

首先,讓大家回顧一下 Azure Stack Family有哪些產品。簡單來說,有專責 AI 的 Azure Stack Edge,以及將地端資料中心延伸至 Azure 公有雲的 Azure Stack Hub,和本文的主角 Azure Stack HCI


簡單來說,Azure Stack HCI 就是 Microsoft 在「超融合基礎架構」(Hyper-Converged Infrastructure,HCI) 的產品,可以將過往「儲存 / 網路 / 運算」整合在一起的解決方案,有興趣的朋友可以參考本站過往文章:




Azure Stack HCI 20H2

那麼,新一代的 Azure Stack HCI 20H2和舊版 Windows Server 2019 當中,所建置的 Azure Stack HCI 有哪些不同? 簡單來說,新一代的 Azure Stack HCI 20H2 是專為 HCI 所設計,並且和 Azure 公有雲深度進行結合。





更精簡且專注的新版作業系統

首先,在過去 Windows Server 2019 當中的 Azure Stack HCI,只是眾多伺服器角色和功能當中的其中一項。然而,新一代的 Azure Stack HCI 20H2 則採用全新客製化過的新版作業系統,並且只專注提供 Azure Stack HCI 功能其它則無,舉例來說,傳統應用中其它 Print Server、DNS Server、DHCP Server、Active Directory Domain Services、Certificate Services、Federation Services……等,都不存在於 Azure Stack HCI 20H2 當中。




延伸叢集 (Stretched Cluster)

這個功能也是期待已久終於出現的,新一代的 Azure Stack HCI 20H2 終於開始支援了。簡單來說,企業和組織可以透過「延伸叢集」(Stretched Cluster) 功能,例如,在二棟不同建築物之間,建立 Azure Stack HCI 並啟用延伸叢集功能,達成更高的可用性和彈性,並且它支援「Active-Passive」「Active-Active」二種運作模式。





更快速的重新同步速度

更精簡且重新設計後的 Azure Stack HCI 20H2 少掉許多包袱,所以在「重新同步」(Resync)的部份也獲得大幅改善。根據 Microsoft 測試的結果,同樣的運作環境和工作負載情況下,與舊版 Windows Server 2019 HCI相較之下,新一代的 Azure Stack HCI 20H2 重新同步「減少 4 ~ 5 倍」的時間。




Full-Stack Updates

有建置過 HCI 的朋友們應該了解,打造 HCI 基礎架構時相關硬體元件的 Firmware / Driver非常重要,因為會影響到屆時 HCI 的穩定度和效能。現在,當企業和組織採用「通過驗證」的伺服器時,便可以採用這個更新機制,來處理 HCI 基礎架構硬體元件的 Firmware / Driver 更新作業。


當然,管理人員還是可以自已構建出運作的 Azure Stack HCI 20H2 伺服器。但是,這些自行組合的伺服器和相關硬體元件,還是必須通過驗證才行。




Azure Hybrid Service

剛才都是討論 Azure Stack HCI 20H2 在地端資料中心的部份。現在,來討論一下和 Azure 公有雲整合的部份。簡單來說,新版 Azure Stack HCI 20H2 骨子裡便已經和 Azure 公有雲深度整合,例如,在 ARM (Azure Resource Manager)裡也可以管理 Azure Stack HCI 20H2,並且透過 ARM 部署 VM 虛擬主機至 Azure Stack HCI 20H2……等。當然,其它常用的 Azure Hybrid Services 混合雲功能也都支援:



當然,可以透過 ARM (Azure Resource Manager) 管理 Azure Stack HCI 20H2 的話,當然也可以得到 Azure Support 的支援。同時,既然整合和支援 Azure 公有雲,當然也需要付出一些費用才行。



此時,管理人員可能會有疑惑? 都透過 ARM 管理的話,萬一地端資料中心的 Azure Stack HCI 無法連線網際網路時,不就整個系統都沒用了? 當然不會! 簡單來說,管理人員可以有二種選擇,可以透過 Azure 公有雲的 ARM 來進行管理,或是在地端資料中心內透過 WAC (Windows Admin Center) 來管理。




小結

目前,Azure Stack HCI 還處於 Public Preview,所以在 Azure 公有雲資料中心的部份,暫時僅支援「East US」,當然後續會不斷增加支援的 Azure 公有雲資料中心,以及 Azure Support 的部份,想要嘗鮮的朋友可以到下列網址註冊後下載,體驗雲端原生的 Azure Stack HCI:




參考資料

Viewing all 590 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>