文件存儲(File storage)(NAS)
在OpenStack里:沒有
相關(guān)的概念:NFS,Samba/CIFS,GlusterFS,Dropbox,Google Drive
關(guān)于文件存儲,文件是通過分布試文件系統(tǒng)協(xié)議暴露的,文件系統(tǒng)存儲與NAS(network attached storage)同義的(sysnonymous)。在客戶端訪問數(shù)據(jù)是通過(through)操作系統(tǒng)來完成的,這個操作系統(tǒng)是在文件系統(tǒng)級的:用戶通過掛載一個遠(yuǎn)程的文件。文件存儲的例子包括NFS和GlusterFS。操作系統(tǒng)需要有一個安裝適當(dāng)?shù)目蛻舳塑浖拍茉L問遠(yuǎn)程文件系統(tǒng)。
當(dāng)前,OpenStack Compute在一個實例內(nèi)部,對于這類文件存儲沒有任何本身的支持。然而,對于OpenStack有一個Gluster存儲連接器,這個連接器能夠使用得GlusterFS文件系統(tǒng)的用法象一個后臺用于鏡象服務(wù)。
-
底層技術(shù)
你可以認(rèn)為OpenStack Compute是一個通過把現(xiàn)存的Linux技術(shù)結(jié)合在一起,來構(gòu)建一個云計算環(huán)境的工具。
下面的圖表展示了這些底層技術(shù)如何被集中起來構(gòu)成一個OpenStack計算云的兩個例子。園卷是作為OpenStack Compute的一部份的Linux服務(wù),長方形是擴(kuò)展(沒有被OpenStack包含的)的組件,實線顯示了OpenStack組件與擴(kuò)展組件之間的相互作用,虛線顯示了擴(kuò)展組件之間的相互作用。OpenStack Compute組成的所有服務(wù)都與一個隊列后端相互作用(e.g,RabbitMQ,Qpid)。以及數(shù)據(jù)庫后端(象MySQL,PostgreSQL);這些聯(lián)系是沒有顯示。有些沒有明確地依賴外部技術(shù)的服務(wù)是沒有顯示。例如,nova-api 服務(wù),身份驗證服務(wù),以及鏡象服務(wù)是沒有顯示的。
Figure 3.1. Underlying technologies(Scenario 1)(略)
Figure .32 Underlying technologies(Scenario 2)(略)
許多擴(kuò)展技術(shù)可以被其它組件代替(substituted),在下列的表中所示
表3.1 技術(shù)和支持的成就
Technology
|
Supported implementations
|
Message queue
|
RabbitMQ, Qpid, ZeroMQ
|
Virtualization
|
xapi+XCP, xapi+XenServer, libvirt+KVM, libvirt+QEMU, libvirt+LXC, libvirt+VMWare
|
iSCSI back-end
|
LVM+IET, LVM+tgt, Xen Storage Manager, SAN (Solaris, HP, SolidFire), NexentaStor
NetApp, Ceph, Sheepdog
|
Database
|
MySQL, PostgreSQL, sqlite
|
Web server
|
Apache, Nginx
|
Session cache
|
memcache, any Django-supported database backend (e.g., MySQL, PostgreSQL, sqlite)
|
計算(nova-compute)
Nova-compute服務(wù)依賴于虛擬驅(qū)動來管理虛擬機(jī),缺省地,這個驅(qū)動是libvirt,它用于驅(qū)動KVM。然而,libvirt也可以驅(qū)動其它的hypervisor技術(shù),如果配置了用Xen 云臺或XenServer,為了驅(qū)動基于Xen的虛擬機(jī),也有一個獨立的Xen虛擬機(jī)驅(qū)動。
Open-iscsi用于掛載遠(yuǎn)程塊設(shè)備,也象已知的卷一樣。Open-iscsi暴露了這些遠(yuǎn)程設(shè)備,就象本地設(shè)備文件被附加到實例。
Novo-network
Novo-network依賴于許多Linux網(wǎng)絡(luò)技術(shù)。它用Linux橋去創(chuàng)建網(wǎng)絡(luò)橋把虛擬機(jī)連接到物理網(wǎng)絡(luò)上。這些橋可以與使用Linux 網(wǎng)絡(luò)VLAN支持的VLAN聯(lián)合。如果運行在VLAN網(wǎng)絡(luò)模型。Iptables 用于執(zhí)行安全規(guī)則以及執(zhí)行NAT功能。Iptables用于提供實例用訪問元數(shù)據(jù)服務(wù)以及支持浮動IP地址。Dnsmasq是用于DHCP服務(wù)分發(fā)(hand out)IP地址給虛擬機(jī)實例,與DNS 服務(wù)器一樣。
在未來的OpenStack版本,當(dāng)前被nova-network運行的功能將會通過一個獨立的OpenStack 項目代替,代碼名稱為 Quantum。
Nova-volume
缺省地,nova-volume服務(wù)使用LVM來創(chuàng)建以及管理本地卷,采用IET或tgt來通過iSCSI把它們暴露。它也可以配置用于其它的基于iSCSI存儲技術(shù)。
Openstack-dashboard
OpenStack-dashboard是一個基于Django的應(yīng)用程序,缺省地,這個程序是運行在Apache web服務(wù)的后臺。缺省地,為了session cache它使用memcache?;趙eb的調(diào)用novnc的VNC客戶端用于提供對VNC控制臺的訪問。這個VNC控制臺是與運行KVM實例聯(lián)合的。
-
安裝假設(shè)
OpenStack Compute有大量的配置操作,為了簡化(simplify)這個安裝手冊,關(guān)于目標(biāo)安裝,我們作了許多假設(shè)。
- 你有一些計算節(jié)點,每個節(jié)點都安裝了Ubuntu Server 12.04或更新版;
- 你已經(jīng)指定了這些節(jié)點中的一個作為云控件節(jié)點,這個控制節(jié)點將運行除了nova-compute以外的所有服務(wù)(RabbitMQ or Qpid,MySQL,Identity,Image,nova-api,nova-network,nova-scheduler,nova-volume)。
- 你的云控制器有一個名稱為"nova-volume"的LVM卷組,這個卷組用來對客戶VM提供永久的存儲。在安裝nova服務(wù)之前,即可以在安裝過程中創(chuàng)建這個卷,也可以留一些自由空間來創(chuàng)建這個卷。
- 確保該服務(wù)器能決定它自己的主機(jī)名,否則,如果你使用RabbitMQ作為消息后端時,你可能出現(xiàn)錯誤。在Ubuntu上,RabbitMQ是缺省的消息后端(back-end)。
- 在我們主機(jī)的eth0上,192.168.206.130是主IP。
- 192.168.100.0/24作為我們的客戶虛擬機(jī)的固定網(wǎng)段,它通過網(wǎng)橋br100與主機(jī)連接。
- flatDHCP與單個網(wǎng)絡(luò)接口結(jié)合。
- KVM 或 Xen(XenServer 或 XCP)作為hypervisor。
- 在ubuntu上,通過增加下面命令行到/etc/apt/sources.list.d/folsom.list,使用得云檔案倉庫可用。:
- deb http://ubuntu-cloud.archive./ubuntu precise-updates/folsom main
-
在運行apt-get update和apt-get upgrade之前,安裝keyring:
Sudo apt-get install ubuntu-cloud-keyring
- 在安裝之前,通過運行apt-get update和apt-get upgrade,確保操作系統(tǒng)更新到當(dāng)前日期。
在使用已知的相互作用的一套軟件包安裝時,這個安裝過程貫穿云控制節(jié)點安裝和計算節(jié)點安裝的整個過程。云控制節(jié)點包含所有的nova-service,包括API服務(wù)器,以及數(shù)據(jù)庫服務(wù)器。計算節(jié)點只需要運行nova-compute服務(wù)。在運行在多節(jié)點的安裝里,你只需要一個nova-network服務(wù)。對于網(wǎng)絡(luò),高可用性是必須的。這里有另外一些操作。
-
安裝OpenStack身份驗證服務(wù)
OpenStack身份驗證服務(wù)管理著用戶,租戶(賬號或項目)以及為所有的OpenStack組件提供一個公共的身份驗證系統(tǒng)。
基本概念(Basic Concepts)
身份驗證服務(wù)有兩個主要的功能:
- 用戶管理:跟蹤用戶以及給用戶授權(quán)。
- 服務(wù)目錄:提供可用的服務(wù)目錄以及他們的API端點所在的地方。
身份驗證服務(wù)有幾個定義,這些定義對于理解是重要的。
用戶(user) 是一個人、系統(tǒng)、或使用OpenStack云服務(wù)的服務(wù)的數(shù)字表示(a digital representation)。身份驗證服務(wù)將驗證那些進(jìn)來的請求。用戶有一個登錄號,以及可能被分配一個記號(token)來訪問資源。用戶可能被直接地分配一個獨有的租戶和行為。如果他們被包含進(jìn)那個租戶里。
憑證(Credential) 數(shù)據(jù)屬于誰?被誰擁有?通常只被一個用戶知道,這個用戶能夠提出他們是誰(因為沒有誰知道這個數(shù)據(jù))。
例如
一個相配的用戶名稱和密碼;
一本相配的用戶名稱和API關(guān)鍵字;
你自己和一個用你自己的圖片表示的驅(qū)動license;
發(fā)給你的記號,除了你沒有誰知道;
鑒定(Authentication):在身份驗證服務(wù)的上下文里,鑒定是確定一個用戶的身份或一個需要的真實性的行為。身份驗證服務(wù)將會確認(rèn)被用戶做出的請求。該用戶需要通過一套需求的認(rèn)證來做出調(diào)用,這個需求是用戶做出的。這些需求在一套證書(用戶名稱及密碼,或用戶名稱及API key)的形式里是初始化的。在初始確認(rèn)一后,身份驗證服務(wù)將發(fā)給用戶一個記號。用戶然后能夠提供一個證明來證明他們的身份已經(jīng)被驗證當(dāng)他們做出后面請求的時候。
符號(Token)
符號是一個任意位數(shù)的文本,它用于訪問資源。每個符號范圍,它描述了哪些資源對于它是可以訪問的。符號在任何時候都可以取消以及對于有限的期限是有效的。
在這個版本中,當(dāng)身份驗證服務(wù)支持基于符號的驗證(authentication),在未來,對它來說,它的目的是支持另外的協(xié)議。對它來說,該目的將會成為一個一流的整體服務(wù),而不是追求成為一個成熟的身份存儲,以及管理解決方案。
租戶(Tenant)
一個容器用于分組或分離資源,以及或身份驗證對象。依賴于服務(wù)操作員,一個租戶可能對映一個客戶,帳戶,組織,或項目。
服務(wù)(Service)
OpenStack服務(wù),比如Compute(Nova),Object Storage(Swift) ,或者Image Service(Glance)。服務(wù)通過能夠訪問資源的用戶來提供一個或多個終端以及執(zhí)行(可能有用的)操作。
終端(Endpoint)
一個可訪問的網(wǎng)絡(luò)地址,是一個可以被訪問的服務(wù),通常用URL描述。如果為了模板使用一個擴(kuò)展,你就可以創(chuàng)建一個終端模板。這個模板代表了所有可用盡的服務(wù)的模板。這個服務(wù)在交叉于各個區(qū)域是有用的。
角色(Role)
當(dāng)執(zhí)行一套具體的操作(a specific set of operations)時一個用戶擔(dān)當(dāng)?shù)娜宋铩R粋€角色包括一套權(quán)限以及特權(quán)(privileges),一個用戶取得了那個角色,也就繼承了那些權(quán)力和特權(quán)。
在身份驗證服務(wù)里,分配給一個用戶的符號就包括用戶能夠取得的角色列表。

|