2020年12月24日 星期四

(VMWARE) (Storage) (工作雜記) - 公司VMware升級專案

  • 因公司的Rack ServerStoragePerformance上都已達到瓶頸,且現有的vSphere版本也已經停止Support了,所以趁這次的機會就全面將平台一併升級汰換。

  • 新平台大致上跟我們現有的舊平台架構大同小異,依然是採用三層式架構的解決方案。



Rack Server (ESXI)安裝與配置

1. 準備為Rack Server安裝ESXI系統,那麼在安裝ESXI系統之前,我們還需要將BIOS進行一些設定

2. 
剛開始先來設定BIOS,確認VT-X功能是否有啟用(重要),並採用UEFI模式開機,另外也要注意開機的順序

3. 接著啟用IDRAC功能

4. 配置IDRAC的IP位址

5. 配置RAID Controller

6. 每台Rack Server都各自共有3顆硬碟,我是先將兩顆硬碟組成RAID1,並把另外一顆做為Hot Spare

7. 可以開始準備安裝ESXI了,這邊我是採用IDRAC的方式進行Deploy安裝,首先需準備一台可用瀏覽器的電腦登入IDRAC IP

8. 因第一次登入IDRAC時,需要輸入Default Password,而預設密碼都會印在Rack Server的標籤上

9. 順利登入後即可進入配置,先啟動虛擬控制台

10. 右上角有虛擬介質,選擇安裝的ESXI檔案,並映射設備

11. 選擇One-shot UEFI Boot Menu

12. 選擇Virtual Option Drive

13. 開始安裝ESXI囉

14. 等待安裝完成

15. ESXI安裝完成,接著即可開始進行配置

16. 配置Management Network

17. 配置IPv4

18. 輸入IP、Gateway及Subnet Mask

19. 關閉IPv6功能

20. 接著配置DNS及Hostname  (完成後會因為關閉IPv6的關係,所以退出配置網路介面時會將系統重開機)

21. 至各台ESXI將Shell及SSH功能開啟並在原則設定為開機時自動啟動

22. ESXI時區預設為UTC,所以我們需要透過其它方式來修改成CST

23. 從其它linux抓取localtime(Taipei)時區的檔案,並上傳至ESXI DataStore

24. 透過ssh連至ESXI,輸入vi /etc/rc.local.d/local.sh編輯裡面文件
rm –f /etc/localtime && cp /vmfs/volumes/datestore1\ESXI-01_Local_DataStore\localtime /etc/localtime

25. 啟用NTP服務並在原則設定為開機自動啟動

26. 重開機之後,透過ssh輸入date即可看到時區已變更為CST

27. 新增與配置Virtual Switch

28. 新增與配置VMKernel Adapter

29. 
新增與配置網路連接埠群組


30. 之後再部署vCenter Server並建立DataCenter以及Cluster,最後再將ESXI主機加進來管理即可

31. 至Cluster設定啟用vSphere HA

32. 依針對我們環境的需求,故僅針對主機故障回應即可

33. 進階選項新增參數

34. 於Cluster啟用EVC模式


SAN Switch配置
  • 先來看一下Fibre Channel架構的規劃   (基本上就是採用MultiPath的架構,以達到負載平衡及容錯的效果)。

  • 接著是SAN Switch的配置規劃,由於Dell SCv3000系列的Storage,在傳輸協定主要是採用Virtual的模式,也就是說一個FC端口的WWN會有一組Physical WWN以及一組Virtual WWN,所以是FC Initiator (Host)與FC Target (Storage) Virtual WWN來做資料上的傳輸,而Physical WWN的部分是負責各台Storage互相Replication之間的通訊。
SAN Switch 1


SAN Switch 2


1. 基本上拿到新的機器,只要透過RS232 Port連接就可以開始進行配置了(如IP位址..等等)

2. 查看SAN Switch FOS version為v8.2.2,而在文獻中有提到WebTools管理系統至少需安裝JAVA version 8 update 181以上的版本



3. SAN Switch License (Active 8 Port)

4. 出廠時,廠商這邊就會協助將License Key進去了

5. 這邊就舉個範例若Port 10需要啟用授權

6. 右鍵選擇Reserve License

7. 這樣Port 10就可以使用了  (這時左上角可用的License就會-1)

8. 輸入switchshow可查看目前已接上的Device,會發現Storage FC多了一個NPIV(也就是Virtual Port)

9. 
輸入portshow X(Port),可看到Physical以及Virtual WWN

10. 那麼開始進行配置,首先需針對每個設備的每一個WWN來指派Alias

11. 輸入Alias名稱

12. 
選擇對應的WWN  (一個Alias只能綁定一個WWN)

13. 建立Zone Name

14. 
選擇Alias內的設備加入至相同的Zone內   (若是Host每個Zone只能1個Initiator WWN +多個Storage Virtual WWN)

15. 新增Zone Config Name,並將各自的Zone都移至到同一個Zone Config底下

16. 儲存並啟用

17. 按是即可完成配置


Dell Storage SCv3020配置

  • 管理Dell SCV系列Storage環境要求 : 
Dell Storage Manager Client
Dell Data Collector   (可透過OVF部署虛擬機或是Windows Server安裝)
   
  • 由2台Storage透過Live Volume功能,以達到高可用性,當其中一台Storage當生故障停機時,服務可立即切換至另一台Storage並持續運作。另外在LUN的規劃我這邊是採取各分成2個Volume,並將這2個Volume (Active)放置在各台Storage上。

  • 因Live Volume的要求,所以我們必須事先部署Dell Data Collector,這樣才可以將2台Storage進行Live Volume的配置,而該主機同時也是擔任Witness的角色,並且負責收集各台Storage相關資訊的主機。
                              Dell Data Collector 要求

  • 在客戶端的部分需安裝Dell Storage Manager Client才可以連至Data Collector上做全面性的功能設定,當然也可以透過web的方式,只是功能設定較陽春(部份功能會無法設定)
1. 首先部署Data Collector OVA至ESXI主機

2. 部署完成後,可透過web瀏覽

3. 開始進行初始配置

4. 選擇Primary Data Collector

5. 預設下一步

6. 選擇內坎式Database

7. 設定Data Collector的管理員用戶名稱及密碼

8. 完成

9. 等待配置中

10. 初始配置完成

11. 這時就可以利用Dell Storage Manager Client來連至Data Collector做管理了

12. 準備新增Storage進來

13. 只要將2台Storage加進來後,就可以開始進行設定了

  • Dell SCv3000系列部署參考網址:

14. 首先需設定Storage Type,由於我的環境是使用All Flash,所以故選擇高性能512KB,並且採用雙冗餘保護

15. 資料會寫進RAID 6-10內  (每個帶有8個數據分段,2個奇偶校驗分段)
更多參考資訊網址 : Dell Scv系列 RAID資料參考網址

16. 建立Storage Profile

17. 寫入及Snapshot只選擇Tier 1並採用RAID5/RAID6即可   (因我的環境是All Flash,所以不需再額外配置多分層)

18. 配置Fibre Channel Fault Domain



19. 依照Dell SCv3000系列Fibre Channel的最佳配置,Controller A及Controller B的第1 Port、第3 Port設為Fault Domain 1

20. 而Controller A及Controller B的第2 Port、第4 Port設為Fault Domain 2

21. 接著新增主機叢集

22. 輸入Cluster Name,接著新增Host,並選擇Host對應的WWN即可

23. 新增Cluster及Host完成

24. 新增Snapshot Profile

25. 輸入Snapshot Profile Name,並建立規則

26. 輸入排程規則名稱並依使用者選擇自訂的時段即可

27. 接著建立Volume

28. 輸入Volume Name

29. 輸入Size Space

30. 選擇RAID 6的Storage Profile

31. 選擇快照的Profile  (可能有人會認為這邊為什麼要設定快照,這是因為到後面配置Live Volume的時候需要用到,最後會再補充)

32. 選擇將LUN要assign的Cluster或Host

33. 因到目前為止Live Volume設定前的要求都還沒設定到,所以這邊先暫時不要配置Live Volume

34. 完成

35. 至vCenter Server將各台ESXI重新SCAN Adapter

36. 重新SCAN資料存放區

37. 確定

38. 至Storage Device查看是否有抓到新的LUN

39. 新增DataStore

40. 新增VMFS

41. 輸入DataStore Name

42. 選擇VMFS 6


43. 下一步

44. 完成

45. 至Storage Device選擇LUN,並編輯MultiPath

46. 確認MultiPath是否為循環配置資源

47. 到這邊就可以開始進行設定Live Volume的功能了,那麼在配置Live Volume之前,需先檢查這2台Storage在Remote Storage Centers內是否都有互相連接 (若是走FC協定只要SAN Switch配置好Zone即可,不需再額外的配置)

48. 那麼就開始設定Live Volume,因對應Live Volume的要求,需先建立Qos Nodes

49. 建立Qos Node

50. 選擇其中一台Storage  (2台都要設定)

51. 輸入Qos名稱,並設定Speed值

52. Qos Nodes建立完成

53. 由於之前已有事先建立Volume了,所以可將volume直接轉換為Live Volume即可

54. 選擇Secondary Node

55. 
選擇同步複製及高可用性、volume名稱、指派Server,並採用自動切換及自動回復    (回想步驟31的時候,之所以要設定快照,主因是採用同步複寫及高可用性時,在Storage這邊則會強制要求必須啟用快照)

56. 至volumes就可以看到多出了黃色閃電的符號,代表該Volume目前正受到Live Volume功能的保護

57. ESXI上的LUN路徑Active需為8條,總共要有16條路徑

58. 查看Live Volume的狀態

59. 那麼我們來看ESXI現在連接的volume正位於第一台Storage上運作


60. 測試將第一台Storage關機

61. 之後在Live Volume就會看到Fail的狀態

62. 至Log上可以看到服務已自動Failover至第二台Storage

63. 位於DataStore上的虛擬機器依舊正常運作

64. ESXI連接DataStore的狀態依舊正常

65. 當原先Primary Storage故障的期間,嘗試上傳一個新檔案上去

66. 確認目前volume正在第二台Storage上運作

67. 等到第一台Storage復機後,嘗試手動將Primary Role切回至第一台Storage上

68. 確定

69. 當volume切回至第一台Storage後,在回到DataStore上可看到剛剛上傳的檔案,這就代表第一台Storage已順利回復並複寫完成

70. 這邊要特別強調"絕對"不能把Dell Data Collector VA放在SCv3020 Share DataStore(Live Volume)上,若其中一台Storage發生故障(停機)時,就會導致所有的LUN(Live Volume)皆無法正常存取,就算把Dell Data Collector VA虛擬機器放在正常Primary Storage上的LUN (Active),當Secondary Storage LUN (Standby)發生故障或停機時,也是會造成無法存取的情況

71. 那麼我們再來看一個問題,就是未來有可能會面臨一個的狀況就是當其中一台Storage發生了嚴重的損毀,且若原廠這邊也無法順利修復,應被迫更換其它相同的機器,但是環境有Live Volume的情況下,這時我們可能會擔心是否需面臨停機的考量。我們可以由下方圖示所示,只需把現存的Live Volume移除後,再將已更換的Storage加至Data Collector管理並重新建立Live Volume即可,而我在POC的過程中實際去做測試,確實是可以不需要停機的,且整體的服務皆正常運作

72. 現在大部分的Storage都已採用資料分散式存放的技術,也就是說資料會平均的放至每顆Disk內,不再需要額外手動指派Hot Spare,每顆Disk都會預留部分空間做為Hot Spare,這比起以往的傳統RAID架構,在Rebuild的時間也能得到大幅的縮短,藉此能盡量避免在Rebuild過程中,再度發生硬碟的損壞,進而演變成更嚴重的問題。
參考資訊影片網址 : Dell EMC SC Series Distributed Spare

73. 另外此款SCv3000 Storage位於Controller上的Volume若要切換至另一個Controller上,是無法利用手動切換的,這問題我還有去詢問原廠Support,他們是表示此款Storage目前並無法做到手動切換,只能用關機..等方式來觸發切換(這回答我還是頭一次聽到...),若真是這樣,未來Controller上的電池故障或是沒電..等問題需做更換,就只能強制關機了


過程中的插曲
1. 這次的VM升級專案遇到了不少的問題,其中有一台Storage在初始化的過程中,就遇到Bottom Controller上的SAS裝置出現異常情況

2. 開剛始與Dell工程師討論是先更換SAS背板看看,一開始是有好轉,但是當天晚上又開始出現異常了

3. 接著再嘗試更換Controller,因更換的新品裡面為空機,所以在更換過程中要注意Memory、電池以及FC HBA還有一張Cache Card都要跟著移過去

4. 更換完Controller之後,終於一切正常了  (另外SCv3000系列若沒有安裝Expansion enclosures時,已不需再額外接上SAS線了)


※ 結論 : 這次的VM升級專案終於告一段落了,由於Storage採用All Flash的關係,所以在Performance方面經過測試的結果相當的滿意,當然在Rack Server上也有得到明顯的提升,終於不會再收到vCenter Server所發出Loading heavy的通知了,而Storage的部分,則透過Live Volume功能來達到高可用性,當Storage發生意外時,至少資料及服務皆不會受到影響。最後也因為有了這些寶貴的過程,我想可以成功導入新的設備,真的是要好好感謝Boss們的同意。

2 則留言:

  1. 你好,文章前面你說各台storage會劃分兩個volume,但在實作上,你只有新增一個volume

    回覆刪除
    回覆
    1. 您好~因為建立第2個LUN的流程與先前的方式是一樣的,所以我這邊就省略掉了,只差於第二個LUN的Primary Role位於第2台而已

      刪除