雲端資訊服務 -...

29
1 雲端資訊服務 Cloud Computing Mangement CH 7 雲端運算技術

Upload: others

Post on 18-Oct-2019

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

1

雲端資訊服務Cloud Computing Mangement

CH 7 雲端運算技術

Page 2: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

7.1. 雲端運算基礎核心技術

分散式計算就是將大型工作區分成小塊後,分別交由眾多電腦進行運算後再彙整結果,將結果合併輸出。

目前較著名的作業平台是BOINC,Ex: World CommunityGrid, Climateprediction.net

雲端運算與網格運算都視為分散式計算的延伸。1999年SET@home計畫(Contact)

7.1.1. 分散式計算(Distributed Computing)

Page 3: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

網格(Grid)是以公開的基準處理分散各地的資料,網格運算應用分散式運算將各種不同平台、不同架構、不同等級的電腦,透過分散式運算的方式進行整合。

網格運算利用大量異構電腦的未用資源,將其嵌入虛擬電腦群集。

網格運算的重點在於支持跨管理域計算的能力。

網格運算的功能分成計算網格即數據網格。

7.1.2.網格運算(Grid Computing)

Page 4: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

叢集運算技術支援高效能高延展運算能力,將相同規格電腦以網路連結,實現分散式運算,Ex, Google Search.

叢集運算重視不中斷服務、資料備援能力及可擴充性。

叢集架構: Web/Internet cluster system

平行運算

7.1.3. 叢集運算(Cluster Computing)

Page 5: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

在公用運算下,運算可按需求提供服務,包括計算、量度的IT資源(Server, Storage, Software, networking…)

軟硬體供應商: IBM, SOD

SUN, IN

HP, AE

VERTIAS, BMC

7.1.4.公用運算(Utility Computing)

Page 6: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

多用戶之軟體租貸,負載AAA技術

虛擬終端技術打造個人專屬服務

7.1.5.負載管理、虛擬終端技術

Page 7: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

7.2.Google的雲端技術

Google雲端運算平台包括: Google File System (GFS) 分散式檔案系統

MapReduce分散式運算

BigTable 大表格資料庫

7.2.1. Google雲端運算系統架構

Page 8: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

2003年發表Google File System (GFS),具有可擴充性的分散式檔案系統

GFS特性包括:儲存效率、可擴充性、可靠性及可再用性

全球部署GFS Clusters,每一資料中心擁有超過1000個儲存節點,提供300TB的硬碟空間

GFS Cluster 的 運 作 架 構 包 含 1 個 Master Server 及 多 個chunkserver,在GFS系統中提供檔案系統操作。

GFS 具有快照(anapshot)及記錄追加(record append)操作模式, http://www.flag.com.tw/book/cento-5105.asp?bokno=F6222&id=169

7.2.2. Google GFS

Page 9: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

當Client 對GFS提出請求(建立檔案),Master Server 將請求切割成64MB chunk block, 分給Chunkserver處理

為確保檔案正確,GFS會將chunk自動複製到三個以上chunkserver進行備份

經Chunkserver處理後,再將彙整結果送回給Client.

GFS Mater Server 用來儲存metadata (中介資料),分類成 檔案命名

Chunk檔案命名

File-to-chunk mapping

Chunk Size of 64MB block 的考量

Page 10: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

2004年發表MapReduce,應用於Google的Server cluster,進行資料搜尋

MapReduce源於程式中Map( )映射函數及Reduce( )函數,具有類比簡化之意

MapReduce分散式計算技術是將資料進行比對分類,再將相同資料簡化處理的運算模式

Google雲端計算環境中,每天執行10萬個MapReduce工作,相當處理20PB資料量, Jeffrey Dean 2008

MapReduce如同一種”排序與合併”的應用程式

7.2.3. Google MapReduce

Page 11: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

MapReduce 工作原理 Map (key, value) list(intermediate_key, intermediate_value)

Reduce(intermediate_key, list(intermediate_value))list(out_key, out_value)

程式使用Map及Reduce函數,系統使用Map將原始資料整理分割無數個中介資料,然後用Reduce簡化中介資料

MapReduce的目的在於對電腦叢集上的大量資料及執行分散式運算

,進行平行處理

Page 12: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

2006年發表,BigTable大表格資料庫是專門應用於管理大型分散式儲存系統的結構化資料,可以輕易地擴充到Petabytes等級的資料。(P>T>G>M>K)

Google 已 經 應 用 BigTable 技 術 於 Web indexing, GoogleEarth, Google Analytics, Personalized Search and GoogleFinance 等需要高效能資料處理及儲存的系統。

BigTable分散式資料庫查詢資料所使用的語言為GoogleQuery Language (GQL)

GQL(SQL-like DataBase Language)配合MapReduce技術進行複雜分析與查詢功能。適合用於100TB以上整合資料庫寶格存取

7.2.4. Google BigTable

Page 13: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

BigTable是物件導向資料庫,資料儲存的方式是Column-oriented而非關聯式資料庫(MySQL, SQLite, Oracle)

BigTable資料index包括Row-Key and Column-Key兩種

BigTable資料庫比傳統關聯式資料庫具高壓縮比、高讀取性、及建構於分散式儲存系統GFS上

BigTable唯一的資料型態是Byte[ ],每筆資料都以

(Row Column, Timestamp)Byte[ ] data 第一個欄位Row-Key: String

第二個欄位Column-Key: String

第二個欄位Timestamp: 資料索引,64位元整數

這三個參數所對應到的data,是以字串方式儲存

Page 14: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

7.3.Hadoop雲端運算計畫

發展於Apache Open Source Project 中搜尋引擎Nutch 的Doug Cutting,將Google的MapReduce程式模型沿用在Nutch搜尋引擎上,而衍生出全文資料檢索的函式庫Lucene。

因為Nutch與Lucene為兩大搜尋引擎且為開放原始碼的特性,Doug Cutting被延攬到Yahoo投入Lucene研發,成立Hadoop專案計畫

2006年開始Hadoop專案

2008年開始發表應用

Page 15: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

Hadoop雲端運算系統的框架可分成Hadoop MapReduce模式、Hbase資料庫系統及HDFS檔案系統三大部分

2008年,Yahoo發表Hadoop應用,在 2000台伺服器中,執行 10000個Hadoop虛擬主機,處理超過 5Petabytes的網頁內容,分析 1兆個網路連線,建立整個網際網路的網頁索引資料,壓縮後的索引資料庫約 300TB

目前Yahho搜尋引擎服務,正使用Hadoop技術

Page 16: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

Hadoop 開放原始碼雲端運算平台包含: Hadoop Distributed File System (HDFS)

Hadoop MapReduce 分散式平行運算

HBase分散式資料庫

類似於Google的雲端運算核心技術

7.3.1. Hadoop運算架構

Page 17: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

Hadoop 除了HDFS, MapReduce 及 Hbase核心技術外,還包含 Avro (處理動態資料的Script Language)

Chukwa (大型分散式資料管理系統)

Hiv (分散式檔案基礎架構)

Pig (平行運算程式語言)

Hadoop可執行於Linux, Mac OS, Windows and Solaris

Hadoop系統透過Java進行開發,提供使用端使用C++/Java /Shell command 連接介面

開發工具上可以使用開放原始碼的整合開發環境Eclipse搭配Hadoop的plugin快速開發程式

Page 18: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

HDFS在超大型分散式儲存環境裏,提供單一目錄系統,處理高達 1萬個節點、 1億個檔案及10PB資料量

HDFS 資 料 存 取 採 Write-once-read-many 模 式 ( 與 GFS 的record append類似)

HDFS 中 每 個 檔 案 被 切 割 成 多 個 區 塊 , 每 個 區 塊 為128MB (GFS為64MB),每個區塊複製成許多複本,儲存於不同的資料節點

HDFS中的名稱節點(NameNode)負責錯誤資料的更正及維護檔案名稱空間(File System Namespace)

Metadata儲存於主記憶體中,包含檔案名稱、檔案與區塊映對關係等資料

7.3.2. HDFS分散式檔案系統

Page 19: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

HDFS擁有EditLog交易日誌的功能

FsImage檔案系統映像檔包含完整檔案名稱及區塊與檔案映對關係等資料

透過FsImage與EditLog, HDFS可設立檢查點進行復原機制

Page 20: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

由Java開發的分散式資料庫HBase,以HDFS檔案系統作為儲存基礎,提供類似BigTable的分散式資料庫功能

HBase 不是一般關聯性資料庫(MySQL, SQLite, Oracle),不提供join功能與SQL語法,但擁有類似表格的資料結構

HBase表格只有一個主要索引 row_key

7.3.3. HBase分散式資料庫

Page 21: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

HBase表格依row_key排序,提供Java函式庫與REST及Thrift等資料存取介面,透過getRow( )或Scan( )函數存取資料

Hbase具分散性、高可用性、高效能及易擴充性,適合於數量龐大的伺服器群集上使用,儲存Petabytes等級的大量資料

Hbase搭配Hadoop MapReduce功能,有利於資料的快速運算

Hbase為開放式原始碼Apache專案,對於維護與更新可以獲得保障

7.3.3. HBase分散式資料庫

Page 22: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

7.4. 雲端運算虛擬化技術

虛擬化/虛擬運算技術(Virtualization)是一種支援運算資源、分享運算能力,藉由對應方式(Virtual machine monitor,hypervisor or virtualization layer)將電腦的硬體資源轉換成共同的裝置(Virtual Device),讓軟體與應用程式共同使用這個硬體

Page 23: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

虛擬化可以促進系統、應用程式與終端使用者之間的資源分享

虛擬化透過隱藏運算實體的技術,提升資訊設備的效能與價值

虛擬化技術可以確保營運不中斷、節省營運成本

虛擬化改變了資料中心的架構及硬體使用的方式,帶來管理與資安的挑戰

全方位IT建設的管理

虛擬化技術可在單體機器上執行多部虛擬機器,相同的實體電腦上的不同虛擬機器可以執行不同的作業系統及多個應用程式

Page 24: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

Xen虛擬化技術主要專注於x86與PowerPC

Xensource公司專攻商用虛擬化軟體技術

2005年推出Xen Enterprise與VMware相競爭,2007年被Citrix併購

Xen Cloud Platform (XCP)提供類似Amazon EC2的雲端設備出租功能 Xen虛擬主機

Linux Kernel

虛擬主機管理

大量Web API

7.4.1. Xen虛擬化技術

Page 25: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

XCP提供虛擬化裝置平台,由大量安裝XCP軟體的電腦組成龐大的Xen Server Cluster (Resource Pool),不管硬碟實體的規格,以虛擬磁碟區塊(VBD)提供磁碟空間

高儲存容量的虛擬主機所使用的硬碟空間是由分別儲存在不同實體Xen Server Host的硬碟裏

Page 26: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

雲端設備供應商可以透過Xen虛擬技術,製作一個存取Xen Server Resource Pool的網頁介面即可提供客製化的虛擬主機,提供服務

XCP雲端平台軟體支援模擬Linux與Windows作業系統

在Linux模擬機器中,可以模擬出32個CPU,32GB記憶體,7個虛擬硬碟,1個虛擬光碟及7個虛擬網路介面裝置,而在Windows模擬機器中,只可以模擬出8個CPU

Page 27: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

VMware推出在x86平台的虛擬化技術

最常見到的就是在x86的Windows作業系統下,透過VMware虛擬一個Linux或Mac OS X作業系統

7.4.2. VMware虛擬化技術

Page 28: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

VMware推出類似Xen Cloud Platform的雲端作業系統,稱為VMware vSphere

VMware vSphere是電腦虛擬化技術的組合(像是MicrosoftOffice)包含vCenter, ESXi,這虛擬技術將實體電腦的運算、儲存藉由網路集結起來成為雲端基礎設施

Vmware使用虛擬技術Vmware ESXi將電腦虛擬化,建立一套具有完整功能的虛擬主機,可以執行一種作業系統及應用軟體 http://www.mustbegeek.com/difference-between-vsphere-esxi-and-vcenter/

Page 29: 雲端資訊服務 - myweb.utaipei.edu.twmyweb.utaipei.edu.tw/~cyang/class/Cloud_Comp_Mg/ch_07.pdf · 多用戶之軟體租貸,負載AAA技術 虛擬終端技術打造個人專屬服務

vSphere is a software suite that comes under data center product. vSphere is likeMicrosoft Office suite which has many software like MS Office, MS Excel, MS Accessand so on. Like Microsoft Office, vSphere is also a software suite that has manysoftware components like vCenter, ESXi, vSphere client and so on. So, thecombination of all these software components is vSphere. vSphere is not aparticular software that you can install and use, “it is just a package name whichhas other sub components”

ESXi, vSphere client and vCenter are components of vSphere. ESXi server is themost important part of vSphere. ESXi is the virtualization server. It is type 1hypervisor. All the virtual machines or Guest OS are installed on ESXi server. Toinstall, manage and access those virtual servers which sit above of ESXi server, youwill need other part of vSphere suit called vSphere client or vCenter. Now, vSphereclient allows administrators to connect to ESXi servers and access or manage virtualmachines. vSphere client is installed on the client machine (e.g. Administrator’slaptop). The vSphere client is used from client machine to connect to ESXi serverand do management tasks. So now what is vCenter? Why we need it? Try cloningexisting virtual machine using just a vSphere client without vCenter server.

vCenter server is similar to vSphere client but it’s a server with more power.vCenter server is installed on Windows Server or Linux Server. VMware vCenterserver is a centralized management application that lets you manage virtualmachines and ESXi hosts centrally. vSphere client is used to access vCenter Serverand ultimately manage ESXi servers. vCenter server is compulsory for enterprises tohave enterprise features like vMotion, VMware High Availability, VMware UpdateManager and VMware Distributed Resource Scheduler (DRS). For example, you caneasily clone existing virtual machine in vCenter server. So vCenter is anotherimportant part of vSphere package. You have to buy vCenter license separately.