成功的虛擬化系統是如何煉成的?設計篇

2021-09-21 11:48:43 字數 2988 閱讀 5513

成功的虛擬化系統是如何煉成的?

設計篇

乙個專案的成功歸功於很多因素。可若想毀掉乙個專案,乙個失敗的設計就足夠了。

好的系統設計像一部好的**。整體布局,細節,關聯,乙個都不能少!

團隊中架構師的作用就顯得很重要。架構師不僅需要眼觀六路,耳聽八方,對一些技術細節有相當程度的了解。而且要對專案進行中各個階段的重點,以及對設計決定所產生的影響有充分的認識。你準備好了麼?

咱們從傳統專案過程中的不同階段來說說吧。本文以虛擬化設計為案例。

我設計了乙個圖來幫助分析部署系統的幾個階段。

需求分析階段

客戶需求

在需求分析階段,需要挖掘出客戶真正在乎的需求,最好對需求進行分優先順序,不能眉毛鬍子一把抓。而且需求並不是一成不變,專案過程中增減需求是平常的事,但由此造成的影響要評估並更新文件。有時專案組需要和客戶協商撤銷或者推後某些需求。可能的原因有:造成整個方案成本大幅上公升;與其它關鍵需求衝突;可能造成專案延遲等等。

環境的限制

這點尤其重要,卻常常容易被忽略。在分析階段盡可能挖掘限制條件,會避免後面階段很多的問題。比如客戶已經在使用nfs,並且現有維護人員有能力維護該系統。你在推薦san的時候就要考慮帶來的影響;若客戶與某大**商有協議,你是否可以考慮其它廠商?若客戶有較嚴格的安全性策略,設計共享時要考慮哪些部分是不可以共享的,是否需要虛擬層的防火牆等等。

假設的條件

有時在專案執行中會因為某些需要客戶或第三方完成的事情不具備,而造成專案延遲。這就需要在合同中就對這些假設特別說明/,以避免後面的責任不清。比如假設客戶網路環境是可以支援你的設計的,可實施時才發現上行網路的防火牆的頻寬或埠限制會大大影響你的方案的效能。

比如假設你需要使用客戶已有的資料庫,卻發現版本和你的方案不相容。

設計階段

概念設計

根據需求分析階段的資訊,應該盡快出乙個概念設計的草圖來描述以下資訊。系統大概分幾個執行環境,是否需要單獨的開發和測試環境;

多個資料中心之間的聯絡,是active-active還是active-passive;資料是否在資料中心之間同步;虛擬和物理網路如何共享等等。

邏輯設計

以概念設計為綱,邏輯設計描述了更多系統各部分的聯絡。hba和光纖交換機,儲存裝置是如何聯絡的;集群是如何設計的;主要的管理軟體等等

物理設計

依據邏輯設計,物理設計具體到使用什麼裝置和型號,與上行物理網路的聯絡,伺服器在機櫃位置的分配等等。

可能的影響和風險

某乙個設計決定可能會影響到其它設計決定,也有可能帶來一些風險。需要評估風險並提出規避風險的方案。

最佳實踐(best practice)

盲目照搬所謂的最佳實踐,可能並不適合你的環境。需要知道最佳實踐背後的原因和使用的環境。

重點是不僅知道做什麼,還要知道為什麼這麼做。為了避免人們對所謂最佳實踐的誤解,vmware

已經將其更改為設計指導

模組和整體

虛擬化方案大概有儲存、網路、主機及集群、虛擬機器和管理系統幾個模組,按模組設計有助於系統的深入設計乙個主題。不過一定要注意模組間的關聯。比如你虛擬機器的記憶體由2g改稱4g,那麼集群設計中的記憶體就要重新考慮,同時影響到了swap空間增長,儲存也要考慮。

在設計階段需要完成的文件有以下:

架構設計

整個系統的概述和各個組成部分的描述。

安裝手冊

具體的安裝步驟。當然不是說要細到怎麼安裝vcenter,標準安裝可參照已有官方文件。關鍵是要突出設計中針對使用者環境定製的部分。比如你網絡卡負載均衡採用load based teaming;集群的admission control policy在只有20%空餘資源時生效等等

衡量乙個好的安裝手冊很簡單,如果有經驗的系統管理員按照安裝手冊部署的系統,沒有和架構設計有大的偏差,應該算是可以的。

實施計畫

在真實環境中專案經理負責和架構師一起制定適當的計畫。幹什麼,什麼時候完成,誰負責等等。

有經驗的架構師可以分析各項任務的倚賴性,做好統籌分派。

測試計畫

很重要的一步,怎麼才證明你的系統符合使用者要求?怎麼才讓客戶簽字?成功執行測試計畫尤其重要。

執行計畫

架構師要有全域性觀,某些設計決定對運維環境,人員能力以及成本都有影響。比如,vcenter linked clone會讓維護人員用乙個管理介面管理兩個vcenter;

盡可能利用指令碼或者現有軟體自動的功能減少重複性的人工和不必要的人為失誤;考慮啟用evc,

避免以後新添伺服器需要重啟集群中的伺服器。

成功的系統是怎麼煉成的?

充分了解真正客戶需求,並採取合適的技術方案滿足需求,是關鍵的第一步。溝通協商能力和技術能力一樣,二者不可或缺。

也要注意靈活性,有創意的解決問題。不能因為所謂技術上的完美,犧牲其它客戶很在意的方面,比如成本、專案程序、人員等等。有時適當的中庸之道不失為乙個可行的方案。

請看本文下篇 成功的虛擬化系統是如何煉成的?實施及運維

成功的虛擬化系統是如何煉成的?實施及運維

如果把虛擬化系統比作一座房子,好的設計就使建築框架圖,實施就要一磚一瓦的把房子搭起來。缺工減料,延誤工期的後果不言自明。而運維就是對房子的維護,改建和保養了。本文設計篇我們講了設計對於乙個成功虛擬化系統的重要性,這只是乙個好的開頭。行百里路者半九十,實施及運維也要給力才成。一實施 架構師們,如果你真...

成功的CIO是怎樣煉成的

前任首席資訊官 cio 說道,他曾從事過首席運營官 coo 首席執行官 ceo 和其他職位,希望超越資訊科技領導範疇的首席資訊官們需要多了解業務,精通運營工作並與客戶保持溝通。麻省理工學院研究科學家喬治 韋斯特曼 george westerman 提出的乙個新格言,正在電子商務從業者當中流行 從未有...

系統架構師是怎樣煉成的

坦率的講,除了少數對開發程式極其熱愛並願意為之奮鬥終身的程式設計者來說,對於大多數開發人員,寫 只是他們未來獲得職業提公升的乙個必不可少的積累階段,在做開發的時間裡,他們會積極學習各種知識,經驗,培養自己的商業頭腦,包括擴充套件自己各方面的資源,這些積累會為他們未來成為管理者或創業打下牢固的基礎。成...