Ⅰ openstack怎麼設置外部網路介面
(1)官方的解釋相信大家都已經了解了,不了解也沒有關系。現在從常識的角度來給大家解釋和說明。OpenStack是一個雲平台管理的項目,它不是一個軟體。這個項目由幾個主要的組件組合起來完成一些具體的工作。OpenStack是一個旨在為公共及私有雲的建設與管理提供軟體的開源項目,OpenStack被公認作為基礎設施即服務(簡稱IaaS)資源的通用前端。如果這些還不明白,那麼從另外的角度給大家介紹:首先讓大家看下面兩個圖就很簡單明了了:此圖為openstack的登錄界面下面是openstack的一個管理界面從這兩個圖,相信有一定開發經驗,就能看出openstack是什麼了。可以說他是一個框架,甚至可以從軟體的角度來理解它。如果不明白,就從傳統開發來講解。不知道你是否了解oa,erp等系統,如果不了解可以到網上去找,資料一大把。他和oa,erp有什麼不同。很簡單就是openstack是用做雲計算的一個平台,或則一個解決方案。它是雲計算一個重要組成部分。上面對openstack有了一個感性的認識。(2)openstack能幹什麼。大家都知道阿里雲平台,網路雲平台,而阿里雲平台據傳說就是對openstack的二次開發。對於二次開發相信只要接觸過軟體的都會明白這個概念。不明白的自己網上去查一下。也就是說openstack,可以搭建雲平台,什麼雲平台,公有雲,私有雲。現在網路在招聘的私有雲工程師,應該就是這方面的人才。(3)openstack自身都包含什麼以下是5個OpenStack的重要構成部分:lNova–計算服務lSwift–存儲服務lGlance–鏡像服務lKeystone–認證服務lHorizon–UI服務圖1OpenStack基本構架下圖展示了Keystone、Dashboard二者與其它OpenStack部分的交互。下面詳細介紹每一個服務:(一)OpenStack計算設施—-NovaNova是OpenStack計算的彈性控制器。OpenStack雲實例生命期所需的各種動作都將由Nova進行處理和支撐,這就意味著Nova以管理平台的身份登場,負責管理整個雲的計算資源、網路、授權及測度。雖然Nova本身並不提供任何虛擬能力,但是它將使用libvirtAPI與虛擬機的宿主機進行交互。Nova通過Web服務API來對外提供處理介面,而且這些介面與Amazon的Web服務介面是兼容的。功能及特點l實例生命周期管理l計算資源管理l網路與授權管理l基於REST的APIl非同步連續通信l支持各種宿主:Xen、XenServer/XCP、KVM、UML、VMwarevSphere及Hyper-VOpenStack計算部件lNova彈性雲包含以下主要部分:lAPIServer(nova-api)l消息隊列(rabbit-mqserver)l運算工作站(nova-compute)l網路控制器(nova-network)l卷管理(nova-volume)l調度器(nova-scheler)API伺服器(nova-api)API伺服器提供了雲設施與外界交互的介面,它是外界用戶對雲實施管理的唯一通道。通過使用web服務來調用各種EC2的API,接著API伺服器便通過消息隊列把請求送達至雲內目標設施進行處理。作為對EC2-api的替代,用戶也可以使用OpenStack的原生API,我們把它叫做「OpenStackAPI」。消息隊列(RabbitMQServer)OpenStack內部在遵循AMQP(高級消息隊列協議)的基礎上採用消息隊列進行通信。Nova對請求應答進行非同步調用,當請求接收後便則立即觸發一個回調。由於使用了非同步通信,不會有用戶的動作被長置於等待狀態。例如,啟動一個實例或上傳一份鏡像的過程較為耗時,API調用就將等待返回結果而不影響其它操作,在此非同步通信起到了很大作用,使整個系統變得更加高效。運算工作站(nova-compute)運算工作站的主要任務是管理實例的整個生命周期。他們通過消息隊列接收請求並執行,從而對實例進行各種操作。在典型實際生產環境下,會架設許多運算工作站,根據調度演算法,一個實例可以在可用的任意一台運算工作站上部署。網路控制器(nova-network)網路控制器處理主機的網路配置,例如IP地址分配,配置項目VLAN,設定安全群組以及為計算節點配置網路。卷工作站(nova-volume)卷工作站管理基於LVM的實例卷,它能夠為一個實例創建、刪除、附加卷,也可以從一個實例中分離卷。卷管理為何如此重要?因為它提供了一種保持實例持續存儲的手段,比如當結束一個實例後,根分區如果是非持續化的,那麼對其的任何改變都將丟失。可是,如果從一個實例中將卷分離出來,或者為這個實例附加上卷的話,即使實例被關閉,數據仍然保存其中。這些數據可以通過將卷附加到原實例或其他實例的方式而重新訪問。因此,為了日後訪問,重要數據務必要寫入卷中。這種應用對於數據伺服器實例的存儲而言,尤為重要。調度器(nova-scheler)調度器負責把nova-API調用送達給目標。調度器以名為「nova-schele」的守護進程方式運行,並根據調度演算法從可用資源池中恰當地選擇運算伺服器。有很多因素都可以影響調度結果,比如負載、內存、子節點的遠近、CPU架構等等。強大的是nova調度器採用的是可插入式架構。目前nova調度器使用了幾種基本的調度演算法:隨機化:主機隨機選擇可用節點;可用化:與隨機相似,只是隨機選擇的范圍被指定;簡單化:應用這種方式,主機選擇負載最小者來運行實例。負載數據可以從別處獲得,如負載均衡伺服器。(二)OpenStack鏡像伺服器—-GlanceOpenStack鏡像伺服器是一套虛擬機鏡像發現、注冊、檢索系統,我們可以將鏡像存儲到以下任意一種存儲中:本地文件系統(默認)lOpenStack對象存儲lS3直接存儲lS3對象存儲(作為S3訪問的中間渠道)lHTTP(只讀)功能及特點提供鏡像相關服務Glance構件lGlance控制器lGlance注冊器(三)OpenStack存儲設施—-SwiftSwift為OpenStack提供一種分布式、持續虛擬對象存儲,它類似於AmazonWebService的S3簡單存儲服務。Swift具有跨節點百級對象的存儲能力。Swift內建冗餘和失效備援管理,也能夠處理歸檔和媒體流,特別是對大數據(千兆位元組)和大容量(多對象數量)的測度非常高效。功能及特點l海量對象存儲l大文件(對象)存儲l數據冗餘管理l歸檔能力—–處理大數據集l為虛擬機和雲應用提供數據容器l處理流媒體l對象安全存儲l備份與歸檔l良好的可伸縮性Swift組件lSwift賬戶lSwift容器lSwift對象lSwift代理lSwiftRINGSwift代理伺服器用戶都是通過Swift-API與代理伺服器進行交互,代理伺服器正是接收外界請求的門衛,它檢測合法的實體位置並路由它們的請求。此外,代理伺服器也同時處理實體失效而轉移時,故障切換的實體重復路由請求。Swift對象伺服器對象伺服器是一種二進制存儲,它負責處理本地存儲中的對象數據的存儲、檢索和刪除。對象都是文件系統中存放的典型的二進制文件,具有擴展文件屬性的元數據(xattr)。注意:xattr格式被Linux中的ext3/4,XFS,Btrfs,JFS和ReiserFS所支持,但是並沒有有效測試證明在XFS,JFS,ReiserFS,Reiser4和ZFS下也同樣能運行良好。不過,XFS被認為是當前最好的選擇。Swift容器伺服器容器伺服器將列出一個容器中的所有對象,默認對象列表將存儲為SQLite文件(譯者註:也可以修改為MySQL,安裝中就是以MySQL為例)。容器伺服器也會統計容器中包含的對象數量及容器的存儲空間耗費。Swift賬戶伺服器賬戶伺服器與容器伺服器類似,將列出容器中的對象。Ring(索引環)Ring容器記錄著Swift中物理存儲對象的位置信息,它是真實物理存儲位置的實體名的虛擬映射,類似於查找及定位不同集群的實體真實物理位置的索引服務。這里所謂的實體指賬戶、容器、對象,它們都擁有屬於自己的不同的Rings。(四)OpenStack認證服務(Keystone)Keystone為所有的OpenStack組件提供認證和訪問策略服務,它依賴自身REST(基於IdentityAPI)系統進行工作,主要對(但不限於)Swift、Glance、Nova等進行認證與授權。事實上,授權通過對動作消息來源者請求的合法性進行鑒定。如下圖所示:Keystone採用兩種授權方式,一種基於用戶名/密碼,另一種基於令牌(Token)。除此之外,Keystone提供以下三種服務:l令牌服務:含有授權用戶的授權信息l目錄服務:含有用戶合法操作的可用服務列表l策略服務:利用Keystone具體指定用戶或群組某些訪問許可權認證服務組件服務入口:如Nova、Swift和Glance一樣每個OpenStack服務都擁有一個指定的埠和專屬的URL,我們稱其為入口(endpoints)。l區位:在某個數據中心,一個區位具體指定了一處物理位置。在典型的雲架構中,如果不是所有的服務都訪問分布式數據中心或伺服器的話,則也稱其為區位。l用戶:Keystone授權使用者譯者註:代表一個個體,OpenStack以用戶的形式來授權服務給它們。用戶擁有證書(credentials),且可能分配給一個或多個租戶。經過驗證後,會為每個單獨的租戶提供一個特定的令牌。[來源:]l服務:總體而言,任何通過Keystone進行連接或管理的組件都被稱為服務。舉個例子,我們可以稱Glance為Keystone的服務。l角色:為了維護安全限定,就雲內特定用戶可執行的操作而言,該用戶關聯的角色是非常重要的。譯者註:一個角色是應用於某個租戶的使用許可權集合,以允許某個指定用戶訪問或使用特定操作。角色是使用許可權的邏輯分組,它使得通用的許可權可以簡單地分組並綁定到與某個指定租戶相關的用戶。l租間:租間指的是具有全部服務入口並配有特定成員角色的一個項目。譯者註:一個租間映射到一個Nova的「project-id」,在對象存儲中,一個租間可以有多個容器。根據不同的安裝方式,一個租間可以代表一個客戶、帳號、組織或項目。(五)OpenStack管理的Web介面—-HorizonHorizon是一個用以管理、控制OpenStack服務的Web控制面板,它可以管理實例、鏡像、創建密匙對,對實例添加卷、操作Swift容器等。除此之外,用戶還可以在控制面板中使用終端(console)或VNC直接訪問實例。總之,Horizon具有如下一些特點:l實例管理:創建、終止實例,查看終端日誌,VNC連接,添加卷等l訪問與安全管理:創建安全群組,管理密匙對,設置浮動IP等l偏好設定:對虛擬硬體模板可以進行不同偏好設定l鏡像管理:編輯或刪除鏡像l查看服務目錄l管理用戶、配額及項目用途l用戶管理:創建用戶等l卷管理:創建卷和快照l對象存儲處理:創建、刪除容器和對象l為項目下載環境變數
Ⅱ 如何配置OpenStack網路以啟用對OpenStack實例的訪問
./openshit.sh start|stop|restart
各(或者全部)Openstack組件進行啟,停止,重啟操作.
./openshit.sh install|uninstall|download
Openstack各組件進行 安裝,卸載,載包 操作
./openshit.sh config
配置組建建立資料庫, 原先配置文件config-backup文件夾按照間備份起,使用rollback.sh腳本便滾配置文件改
./openshit.sh clean
清除服務資料庫, 若服務問題直接清掉資料庫重新config
接我使用OpenShitUbuntu14.04部署OpenStack.幾要求:
1. Ubuntu14.04區定要足夠空間.OpenStack創建實例候使用區空間,空間夠則創建實例.測試用Ubuntu14.04100G,足夠使用.
2. 建議新裝ubuntu區.裝神馬DevStack沒裝功堆垃圾留系統庫再用OpenShit功意思.
說現始
1.安裝git, 使用git載openshit
git clone
2.修改配置文件setting.conf.
面密碼:資料庫密碼,服務密碼.默認更改,改沒.
改變網路配置.配置文件內IP值都設置稱自IP, 網卡設置自網卡(默認eth0).
3.配置文件修改完始安裝
./openshit.sh --all install.
命令 問否需要配置軟體源, 第使用openshit請選擇y, 所命令寫:
echo y | ./openshit.sh --all install
4.段間安裝完,請輸入
./openshit.sh --all config
根據setting.conf值修改各組件配置文件及資料庫配置.
5.完
運行source admin-env.sh; nova service-list 查看服務狀態若都up安裝功
瀏覽器內打 即看Openstack管理界面輸入密碼登陸
現OpenStack功部署Ubuntu14.04伺服器.
功運行實例,我需要製作並傳鏡像, 配置網路,啟實例.
製作ubuntu14 server 鏡像
1. 製作鏡像
qemu-img create -f qcow2 ubuntu.img 20G
kvm -cdrom ubuntu-14.04-server-amd64.iso -drive file=ubuntu.img,if=virtio,index=0 -boot d -net nic -net user
直接光碟安裝ubuntu14-server 裝行
2.傳鏡像
openshit目錄 執行 source admin-env.sh
執行
glance image-create --name "ubuntu" --file ubunut.img --disk-format qcow2 --container-format bare --is-public True --progress
進度條快速滾,傳完
3. 創建網路
openshit目錄 執行 source admin-env.sh (前面執行用執行)
執行
nova network-create v-net --bridge br100 --multi-host T --fixed-range-v4 10.0.1.0/29
v-net網路名字 10.0.1.0/29 網段要配主機數量 要設置網段跟本網段,否則蛋疼超乎想像
執行
nova net-list
看剛才創建網路
4. 創建實例
web管理端 鏡像 欄內 點 運行 即創建實例 (配剛才創建網路ip址)
點擊控制台,通vnc看虛擬機屏幕
問題 虛擬機主機能互相ping通(需要關掉防火牆),訪問外網,能哪沒設置.
Ⅲ 在OpenStack里怎樣配置Neutron,讓虛擬機訪問外網
OpenStack里虛機(或者叫instance)只有在分配floating IP後才能訪問外網,那麼需要怎樣做配置才能達到目的呢?
1. 需要在網路節點上確定一個可以訪問外網的物理網卡,這個網卡可以和管理網卡是一個。這里我們假定外網網卡和管理網卡是獨立的,且外網網卡的名字叫做eth2。
2. 添加一個新的bridge br-ex,並將eth2作為port綁定到br-ex
[plain] view plain
# ovs-vsctl add-br br-ex
# ovs-vsctl add-port br-ex eth2
3. 創建/etc/sysconfig/network-scripts/ifcfg-eth2文件,並輸入如下內容:
[plain] view plain
TYPE=OVSPort
BOOTPROTO=none
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
DEVICE=eth2
ONBOOT=yes
4. 創建/etc/sysconfig/network-scripts/ifcfg-br-ex文件,並輸入如下內容:
[plain] view plain
TYPE=OVSBridge
BOOTPROTO=none
DEVICETYPE=ovs
NAME=br-ex
DEVICE=br-ex
ONBOOT=yes
5. 重新啟動網路服務讓配置生效
[plain] view plain
# systemctl restart network.service
6. 用具有admin role的用戶在Openstack Controller節點創建外網(external network)和相應子網,這里的外網是所謂的provider network,是不允許普通許可權的租戶創建的,普通的租戶只能創建租戶網路。注意"--router:external=true"選項表示這是一個外網,網路類型選的是flat(如果外網是VLAN,就選VLAN),子網的CIDR是192.168.100.0/24。
[plain] view plain
# neutron net-create --provider:network_type flat --provider:physical_network default --router:external=true public
# neutron subnet-create public --name public_subnet --allocation-pool start=192.168.100.100,end=192.168.100.150 192.168.100.0/24
創建完成後顯示結果如下:
7. 如果要讓租戶的虛機訪問外網,還需要創建一個router,用普通租戶用戶創建router,命令如下:
[plain] view plain
# neutron router-create router01
8. 將租戶的私有子網(private_sub)作為interface加入router01,並將外網(public)設置為網關:
[plain] view plain
# neutron router-interface-add router01 private_sub
# neutron router-gateway-set router01 public
9. 然後就可以為虛擬機分配floating IP了。分配完成後虛擬機就可以訪問外網了。
[plain] view plain
# neutron floatingip-create public
# neutron floatingip-list
[plain] view plain
# neutron floatingip-associate e12a6c2b-fc5e-4448-a6bb-3047638b850e 164f410e-6961-422d-b256-0609bfe6e9ff