談談雲計算的部署方式 關於虛擬化實現

2021-05-24 14:56:59 字數 1813 閱讀 6922

運營雲計算服務需要大量的機器集群,才能滿足眾多使用者的儲存和計算需求。這裡我們會面臨兩個問題:

1.第乙個是我們需要買什麼樣的機器做運營。

2.第二是我們需要買多少機器才夠用。(這些都是商業執行必可迴避的問題,可不是科研專案那樣「韓信點兵,多多益善」,不敢鋪張浪費呀。)

第乙個問題來自於商業運營的各種歷史原因。長期運營的公司必然會購買了多種不同廠商,不同配置,不同型號的機器。比如有的老機器512m記憶體,1g的主頻,而新進的機器則有32g記憶體,8個四核的cpu,每個主頻4g。那麼怎麼樣才能遮蔽這些異構系統,從而能對外提供統一化的服務呢? 最好和最簡單的方式就是需要引入虛擬機器技術將異構系統的差異遮蔽掉,以達到資源一視同仁。老機器上少跑一些虛擬機器或者跑資源配置低的虛擬機器,新機器配置高則多跑一些虛擬機器或者跑資源配置高的虛擬機器。由於虛擬機器模擬的硬體平台是一致的,因此異構系統的差異被虛擬層遮蔽掉了,我們看到的統一的虛擬機器資源。這樣有效的混合利用了新老機器,節約了成本,方便了管理。

第二個問題也是運營中無法迴避的,因為在我們無法先知先覺的確定我們到底有多少使用者,到底需要多少資源;更無法了解業務增長速度。比如我們開始就為5年後的使用者規模做充分準備,比如賣了1萬台機器,而在前三年都只用1千台就夠用,那麼就意味著有9000臺機器會被浪費3年或者更長。那麼如果我們先只買1千台機器,到了第3年在增加9000臺機器可否?回答當然是可以的,但是在物理機器上進行系統擴容可不是好辦法,往往需要系統停止服務或者相對麻煩的措施才能進行。合理的方法是將服務都部署再虛擬機器上,到需要擴容時(比如訪問請求超過負載),則將虛擬機器遷移到新購買的高效能機器上去,這樣平滑無縫的擴容安全,方便,也更高效。

另外乙個問題是,使用我們服務的客戶並不可能一直長時間的都維持在最高負載,總有忙時和閒時。比如很多**的訪問負載集中在下班時間,而凌晨以後或者早上則很低;而有些**則是在上班時忙,下班時閒。由於這種情況,我們如果按照所有使用者最大的資源負載情況購買機器,那麼必然回在大多數時間系統處於低負載,造成資源浪費。因為不可能所有使用者能同時達到最大負載。要避免這種浪費,就要求計算雲資源可動態調整,按照客戶的忙閒進行資源動態分配和**,從而用少量的機器滿足所有的客戶要求。虛擬化技術是目前最方便和安全的資源動態分配技術。

節約管理成本(人力成本 和 時間成本)

虛擬化帶來的安全保障

之所以說虛擬化技術為雲計算安全帶來了一定保證,我們不是從授權認證這方面考慮,而是說虛擬化所實現的資源隔離性!

每個虛擬機器都是在被分配(或者說限制)在給定資源容器中工作(模擬的物理資源中),相互之間實現了資源隔離。這裡所說的資源重點是記憶體,磁碟等和資料安全密切相關的儲存資源。一台虛擬機器中的程式無法讀取其他虛擬機器所占用的資源,自己的資源也無法被其他虛擬機器中的程式訪問。因此達到了資源隔離的效果。這樣以來,如果我們為每個使用者分配不同的虛擬機器作為其執行環境,那麼可以說使用者資料是」私密」,」安全」的。

另外虛擬機器的隔離性除了為資料資料安全提供了技術支援外,還為故障隔離提供了最安全的手段。乙個虛擬機器中的程式可能有意或無意的非法執行造成系統崩潰,這種事故的影響只會限於當前虛擬機器(最多讓自己執行的虛擬機器崩潰),不會影響到宿主機上的其他虛擬機器和程式執行。 這點和微核心作業系統的思路很像——所有元件,包括驅動都以程序形式執行於核心以外,這樣當程式崩潰不會造成系統崩潰。對於虛擬化而言,hypervise好比微核心,而其上虛擬機器則好比程序。而相比微核心系統,顯然虛擬機器的隔離更徹底,更安全。

小結

套用書上的一句話「貨幣天然不是**,**天然是貨幣」來描述虛擬化和雲計算——「虛擬化技術天然不是為了雲計算,雲計算天然選擇虛擬化」。雲計算的發展必然促成虛擬化技術的進一步飛躍。我們拭目以待吧。

談談雲計算虛擬化中lxc的安裝

實習中,初次接觸虛擬化,準備從比較簡單的lxc開始理解使用。下面談談在安裝的過程中遇到的問題,及解決的方案。希望大家少走彎路。我使用的是ubuntu 12.04版本的系統,不過版本號應該沒有很大影響。步驟如下 1 獲得root許可權 2 首先備份etc apt目錄下的sources.list 注意 ...

雲計算虛擬化的三種方式

虛擬化的實現方式 全軟體模擬 虛擬化層翻譯 容器虛擬化 1,全軟體模擬缺點 效率低,一般用於科研,不適合商業推廣,有早期的qemu和bochs 2,虛擬化層翻譯 3,容器虛擬化 容器虛擬化不是一種硬體虛擬化方法,而是一種作業系統級的虛擬化方法,因而不屬於全虛擬化和半虛擬化中任意一類。以容易為虛擬化的...

雲計算 之 虛擬化技術 KVM環境的部署

二 kvm 虛擬化技術 三 kvm 環境部署 建立kvm虛擬機器又多種方式,使用virt install命令列 使用 virt manager 工具 使用 qemu img 和qemu kvm 命令列方式安裝和openstack nova 使用 libvirt api 通過程式設計方式來建立虛機等 ...