發表文章

目前顯示的是有「DRS」標籤的文章

DRS裡面的虛擬機相依性規則

圖片
我們這個叢集裡面有四台ESXI,也有六台虛擬機,在沒有設定規則之前,因為DRS全自動的關係,Vcenter要保持每一台ESXI不會過於忙碌或閒置,所以把負載平均分散在所有ESXI上。 但是有時候我們又需要設定一些規則,比方說讓兩台虛擬機在同一台ESXI上,或不能在同一台,或只能在某一台ESXI上。 首先我們先將ESXI分成SiteA_Host和SiteB_Host,意思就是兩個機房所在地理位置不同,然後再把虛擬機分成也分成SiteA和SiteB,因為SiteA_VM和SiteB_VM有做叢集,所以我們並不希望SiteA機房掛了,服務就中斷了,至少SiteB還可以提供服務。 剛剛只是分群組,真正設定要寫在規則裡面。 另外因為AP是直接存取DB的,我們不希望中間再透過實體網路存取,如果能在同一台ESXI上的話就可以直接記憶體交換,所以我們強制AP和DB要在同一台ESXI上。 由於WEB和AP負載是不同的,所以我們希望這兩個服務能不在同一台ESXI上,我們設定這兩個虛擬機一定要分開在不同的ESXI。 最後我們會得到這六條規則,設定完之後如果違反規則他就會開始做移轉了。 驗證來看AP和DB都在同一台,WEB和AP又都不同台,01虛擬機所在的ESXI都是SiteA_Host,02虛擬機所在的ESXI都是SiteB_Host。 結論: 由於使用全自動DRS的關係,所以我們不清楚虛擬機跑在哪台ESXI上,這時候可以設定規則手動介入,但也要小心是說會不會因為規則導致虛擬機無法被HA開起來,比方說我們希望DB01在SiteA_Host都無訊號的時候下可以被SiteB_Host開起來,但是你又設定規則DB01只能在SiteA_Host上,這樣的設定就是矛盾的,這時候就要去檢查實際需求和規則設定了。

Vsphere的DRS介紹

圖片
當有叢集的架構之後,我們只在乎虛擬機有沒有正常運作,並不在乎他在哪台ESXI上,但是有沒有可能你有三台ESXI,結果其中一台主機忙得要死,另外兩台主機閒得發慌。 就像你們公司請了三個助理,其中一個助理因為案子突然變多忙得要死,另外兩位喝咖啡閒得發慌,你看到了,問說為什麼都是助理怎麼不幫忙處理呢?他們回答因為主管沒有交代啊。 因此DRS就像是一個主管,觀察這三個助理的工作狀況,如果其中一個太忙的話,他可以把工作分配的其他兩位,如果我們只有三台當然可以自己觀察後手動移轉虛擬機,但是如果我們有十台ESXI,200多台虛擬機的話,就需要靠自動化的DRS了。 一樣我們到叢集裡開啟 vpshere DRS的功能。 這裡我們先選擇手動,移轉臨界值由於是實驗性質的關係,我們選擇積極。 保守和積極差別在於演算法的參數,如果越積極的話,DRS會越敏感,只要ESXI主機一忙起來,他就開始移動虛擬機了。 當我們虛擬機開機的時候,他會問你要放置在哪台ESXI上,因為我第一台開機放在109,另一台當然是放在114了。 這裡要特別注意的事情,Vmotion是HA和DRS的基本條件,如果你的虛擬機放在local HD,或是有掛載local的光碟,他就會失去功能,只能選擇放在那台local的ESXI上,因此我這裡虛擬機都是放在共用的儲存空間(ISCSI、NFS)上,才可以這樣移來移去。 為了要測試DRS我們故意把兩台主機放在114上,果然負載不平衡。 由於負載建議需要時間,我們用一個軟體CPU Burn,來燒CPU到100%,加速它的建議時間。 果然在HA裡的DRS出現把LAB01虛擬機移到另一台ESXI,讓負載平衡一點。 虛擬機搬過去之後,我們再把CPU Burn關掉,果然負載就平衡了。 接下來我們選全自動,而半自動就是虛擬機器開機的時候自動選擇ESXI,然後要移轉虛擬機的時候只提供建議讓管理員手動選擇,這裡我就不示範了。 他虛擬機開機的時候連問都不問了,像是我這台虛擬機預設是放在109,因為109已經有一台機器了,所以他直接開在114上。 當他發現兩台ESXI負載不平衡的時候果真開始自動移轉一台到另一台ESXI了。 最後我們思考一個問題,雖然現在兩台ESXI已經各有一台虛擬機,但是一台比較忙碌,一台比較輕鬆,...