雲計算
雲計算,也被意譯為網絡計算,是一種基於互聯網的計算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計算機各種終端和其他設備,使用服務商提供的電腦基建作計算和資源。
虛擬化
是指通過虛擬化技術將一台計算機虛擬為多台邏輯計算機。 在一台計算機上同時運行多個邏輯計算機,每個邏輯計算機可運行不同的操作系統,並且應用程序都可以在相互獨立的空間內運行而互不影響,從而顯著提高計算機的工作效率
雲服務
雲服務是基於互聯網的相關服務的增加、使用和交互模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。雲是網絡、互聯網的一種比喻說法。過去在圖中往往用雲來表示電信網,后來也用來表示互聯網和底層基礎設施的抽象。雲服務指通過網絡以按需、易擴展的方式獲得所需服務。這種服務可以是IT和軟件、互聯網相關,也可是其他服務。它意味着計算能力也可作為一種商品通過互聯網進行流通。
雲服務是一種商業模式,它是基於互聯網的相關服務的增加,使用和交付模式,主要涉及通過互聯網來提供動態易擴且表現為虛擬化的資源。雲計算的服務模式有三種:基礎設施服務(Iass)、平台及服務(Pass)軟件及服務(Sass)。
RAID(0,1,5,10)/ RAID 卡
RAID 0
RAID0即沒有容錯設計的條帶硬盤陣列(Striped Disk Array without Fault Tolerance),以條帶形式將RAID組的數據均勻分布在各個硬盤中。
RAID1
稱鏡像(Mirror),數據同時一致寫到主硬盤和鏡像硬盤。
RAID5
RAID 5是把數據和與其相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上,並且奇偶校驗信息和相對應的數據分別存儲於不同的磁盤上。當RAID5的一個磁盤數據損壞后,利用剩下的數據和相應的奇偶校驗信息去恢復被損壞的數據。
RAID10
RAID 10是將鏡像和條帶進行兩級組合的RAID級別,第一級是RAID1鏡像對,第二級為RAID 0。RAID10也是一種應用比較廣泛的RAID級別。
RAID卡就是用來實現RAID功能的板卡,通常是由I/O處理器、硬盤控制器、硬盤連接器和緩存等一系列零組件構成的。緩存(Cache)是RAID卡與外部總線數據交換的緩沖區,RAID卡先將數據儲存在緩存中,再由緩存與外邊部據總線做數據交互。緩存電池是為了保證服務器掉電情況下,RAID卡緩存中數據的安全。有兩種保護機制:1)BBWC使用電池供電,一般保持72小時。必須在規定時間內將服務器上電,把緩存數據刷入硬盤2)FBWC使用 Flash做緩存數據的存儲,掉電時將緩存中的數據寫入Flash中存儲。寫入速度快,一般在幾秒鍾內完成這一過程,永久有效,無時間限制
Hypervisor
hypervisor提供虛擬的作業平台來執行客體操作系統(guest operating systems),負責管理其他客體操作系統的執行階段;這些客體操作系統,共同分享虛擬化后的硬件資源。
一 種運行在基礎物理服務器和操作系統之間的中間軟件層,可允許多個操作系統和應用共享硬件。
Hypervisors是一種在虛擬環境中的“元”操作系統。他們可以訪問服務器上包括磁盤和內存在內的所有物理設備。Hypervisors不但協調着這些硬件資源的訪問,也同時在各個虛擬機之間施加防護。當服務器啟動並執行Hypervisor時,它會加載所有虛擬機客戶端的操作系統同時會分配給每一台虛擬機適量的內存,CPU,網絡和磁盤。
存儲卷
存儲池被分割為存儲卷。分為1.文件2.塊存儲3.libvirt管理的其他類型存儲的抽象。
存儲池
是放置虛擬機的存儲位置,可以是本地,也可以是網絡存儲,具體的虛擬機實例放在卷上。 Libvirt可以以存儲池的形式對存儲進行統一管理,簡化操作。
SDN
軟件定義網絡(Software Defined Network,SDN)是由美國斯坦福大學clean-slate課題研究組提出的一種新型網絡創新架構,是網絡虛擬化的一種實現方式。其核心技術OpenFlow通過將網絡設備的控制面與數據面分離開來,從而實現了網絡流量的靈活控制,使網絡作為管道變得更加智能,為核心網絡及應用的創新提供了良好的平台。
Vxlan
VXLAN是一種網絡虛擬化技術,可以改進大型雲計算在部署時的擴展問題,是對VLAN的一種擴展。VXLAN是一種功能強大的工具,可以穿透三層網絡對二層進行擴展。它可通過封裝流量並將其擴展到第三層網關,以此來解決VMS(虛擬內存系統)的可移植性限制,使其可以訪問在外部IP子網上的服務器。
VMware ESXI,Xen
ESXi專為運行虛擬機、最大限度降低配置要求和簡化部署而設計。只需幾分鍾時間,客戶便可完成從安裝到運行虛擬機的全過程,特別是在下載並安裝預配置虛擬設備的時候。使用戶能夠即刻下載並運行虛擬設備。
如果把操作系統中所有執行敏感指令的地方都改掉,改成一個接口調用(HyperCall),接口的提供方VMM實現對應處理,省去了捕獲和模擬硬件流程等一大段工作,性能將獲得大幅度提升。這就是半虛擬化,這項技術的代表就是Xen,
SCSI,,iSCSI,HBA
SCSI小型計算機系統接口是一種高性能計算機外部接口,用於主鍵與外部設備之間的連接,主要功能是在主機和存儲設備之間傳送命令,狀態和塊數據。
ISCSI 協議,通過TCP/IP協議來封裝SCSI命令,並在IP網絡上傳輸。
Restful
RESTFUL是一種網絡應用程序的設計風格和開發方式,基於HTTP,可以使用XML格式定義或JSON格式定義。RESTFUL適用於移動互聯網廠商作為業務接口的場景,實現第三方OTT調用移動網絡資源的功能,動作類型為新增、變更、刪除所調用資源。
3.分析題(10分*3)
存儲架構(DAS,NAS,SAN)
1、DAS、
DAS存儲設備是通過電纜(通常是SCSI接口電纜)直接連到服務器的,I/O請求直接發送到存儲設備,以服務器為中心.1)存儲設備直接連接到主機2)數據分散管理3)存儲容量利用率低4)擴展性差
2、NAS.
NAS(Network Attached Storage)網絡附加存儲,即將存儲設備連接到現有的網絡上,提供數據和文件服務。1)支持網絡文件共享協議CIFS,NFS
3、SAN.
SAN (Storage Area Network)存儲系統、服務器和客戶端都通過網絡相互連接的架構,以網絡為中心。
4、FC SAN–采用Fibre Channel存儲專用協議,通過FC交換機等連接設備,數據采用FCP協議以塊方式存取訪問。
5、IP SAN–采用iSCSI協議,通過以太網連接設備,以塊方式存取訪問文件
雲網絡架構(NAT,網橋,用戶自定義)
NAT模式
主機無法訪問虛擬機,但虛擬機可以訪問主機。虛擬機的IP與主機IP不在同一網段。使用NAT模式,一般三步驟:1.創建虛擬交換機2.指定網卡3.更改。
網橋模式
將主機網卡與虛擬機虛擬的網卡利用虛擬網橋進行通信。在橋接的作用下,類似於把物理主機虛擬為一個交換機,所有橋接設置的虛擬機連接到這個交換機的一個接口上,物理主機也同樣插在這個交換機當中,所以所有橋接下的網卡與網卡都是交換模式的,相互可以訪問而不干擾。將linux的ip設置為與本地機相同的網段,不同的ip,其他配置與主機一樣
隔離網絡自定義模式
建立一個與外界隔絕的內部網絡,來提高內網的安全性。隔離網絡就是創建虛擬交換機,有相應的上聯口,上聯口與外界無任何關系。
早期x86架構對虛擬支持的問題
- 業界還沒有統一的虛擬化標准平台和開放協議,這會增加設備風險。因為各廠家的產品很難在同一環境下整合,相互之間不能兼容,難於擴展升級,削弱了系統的靈活性。使用戶面臨了從“硬件包圍”到“虛擬硬件”的窘況。而且很難和服務器一體化管理,也增加了額外的管理開銷。
- 還存在穩定性隱患。表面上看將多個虛擬機放在同一台服務器上,服務器宕機所影響的不再是一個應用而是這台服務器上的所有虛擬機上的所有應用。
- 投資總成本過大。采用虛擬化技術的投資很大,原有的IDC(互聯網數據中心)服務器進行虛擬化技術的改造成本不低,中小型企業難以承受,雖然通過虛擬化技術節省下來的經費將很快能夠得到投資回報,但成本問題仍困擾着IDC企業。
KVM虛擬機存儲模式
基於文件系統KVM存儲
在安裝KVM宿主機時,可以選擇文件系統為DIR或FS作為初始KVM存儲格式。默認選項為DIR,用戶指定本地文件系統中的一個目錄用於創建磁盤鏡像文件。FS選項可以允許用戶指定某個格式化文件系統的名稱,把他作為專用的磁盤鏡像文件存儲。兩者的區別就是:FS文件系統不需要掛載到某個特定的分區。還有一個NFS,用戶指定網絡文件系統的名稱。基於文件系統的缺點:虛擬機的磁盤文件是基於宿主機的不能直接進行讀寫。
基於設備的KVM存儲
支持四種不同的物理存儲:磁盤,ISCSI,SCSI和邏輯盤。磁盤方式指直接讀寫硬盤設備。ISCSI和SCSI方式取決於用戶采取ISCSI或SCSI地址把磁盤設備連接。這種存儲優勢:磁盤名稱固定,不取決於宿主機搜索到磁盤的順序。缺點:靈活性不足,不能改變磁盤大小,不支持快照。
使用KVM存儲池
方便存儲管理,在宿主機上創建存儲池,可實現提前預留的存儲空間進行分配。一般用於大型應用環境。存儲管理員和創建虛擬機的管理通常不是同一個人。提供LVM快照功能。
虛擬化分類 (半虛擬化,基於***的虛擬化)
無硬件輔助的全虛擬化
基於二進制翻譯的全虛擬化,Hypervisor 運行在Ring 0,Guest OS 運行在Ring 1
半虛擬化
也稱為超虛擬化,操作系統輔助虛擬化。Hypervisor 運行在Ring 0,Guest OS 不能直接運行在Ring 0,需要對kernel進行修改,將運行在Ring 0 上的,指令轉為調用Hypervisor
Guest OS 上的APP運行在Ring 3。
硬件輔助的全虛擬化
Intel VT 和 AMD-V 創建一個新的Ring -1 單獨給Hypervisor使用。Guest OS可以直接使用Ring 0 而無需修改。
KVM架構
-
kvm 驅動 現在已經是Linux內核的一個模塊了,它的作用主要是負責虛擬機的創建,虛擬內存的分配 虛擬CPU寄存器的讀寫和虛擬cpu的運行
-
另一個組件是 Qemu QEMU是一個通用的開源機器模擬器和虛擬器,其主要的功能是用於模擬虛擬機的用戶空間組件,提供io 設備模型,訪問外設的途徑
libvirt架構
使用來管理虛擬機或虛擬化功能的軟件集合,主要包括:libvirt API,libvirtd進程和virsh工具集三部分。Libvirt API 主要為不同的虛擬化技術方案對外提供統一接口。Libvirtd進程,該后台進程主要實現以下功能:遠程代理,本地環境初始化,根據環境注冊各種Driver的實現。
OpenStack (6個基本組件)
Nova(computer計算服務):負責實例生命周期的管理,計算資源的單對,對Hypervisor進行屏蔽,支持多種虛擬化技術,支持橫向擴展,負責創建調度,銷毀雲主機。
Nevtron(Network網絡服務):負責虛擬網絡的管理,為實例創建網絡的拓撲結構。是面向租戶的網絡管理,可以自定義網絡,各個租戶之間互不影響。(負責實現SDN)
Swift(object storage對象存儲服務):為Openstack提供基於雲的彈性存儲,支持集群無單點故障(目錄結構存儲數據)。
Keystone(Identify 身份認證服務):類似於LDAP服務,對用戶,租戶和角色服務進行認證與授權,且支持多種認證機制。
Glance(Image service鏡像服務):提供虛擬機鏡像模板的注冊與管理,將做好的操作系統拷貝為鏡像模板,在創建虛擬機時直接使用可支持多格式的鏡像。
Cinder(Block storage塊存儲服務):負責為運行實例提供持久的塊存儲設備,可進行方便的擴展,按需付費支持多種后端存儲。
容器技術(Docker 基本概念與原理)
是一個構建在LXC之上,基於進程容器的輕量級VM解決方案,實現了一種應用程序級別的資源隔離及配額。Docker是容器引擎,把Linux的Cgroup,namespace 等容器底層技術進行分裝抽象,為用戶提供創建和管理容器的便捷界面(包括命令行和API)。
Docker鏡像,是docker容器運行時的只讀模板,每一個鏡像由一系列的層組成。
Docker倉庫,用來保存鏡像,可以理解為代碼控制中的代碼倉庫。
Docker容器,和文件夾類似,一個Docker容器包括了所有的某個應用運行所需要的環境。