導航:首頁 > 程序命令 > openstackswift命令

openstackswift命令

發布時間:2022-09-14 08:27:15

❶ 如何使用 openstack swift http api

horizon登陸頁

但畢竟horizon不會封裝OpenStack的所有特性,當你已經玩膩了頁面上那些功能時,你想嘗試更多更豐富的功能,那麼恭喜你,你已經向中級玩家邁進了一步。中級玩家對OpenStack的使用基本上有四種方式:
OpenStack client
cURL
Rest API
OpenStack SDK

我個人比較傾向於使用client和API,因為cURL的用法其實跟發送RestAPI相似,但cURL不太方便操作(因為我們普遍都喜歡在可視化頁面點擊按鈕);而SDK則更多是基於OpenStack做應用時會用到,這些人一般不會關注OpenStack的內部機制。

好,你費盡心機跟operator講好話,跟他說:哥,求求你,讓我登陸後台玩玩吧! 當operator吃完你送的冰激凌,抹了一下嘴角,然後瀟灑的扔了一個IP給你,「拿去耍吧」。你反復背誦著節點登陸的用戶名和密碼(注意,這跟horizon登陸的用戶名密碼不是一個東西),小心謹慎的進了讓每個程序員都感到神秘的後台,然後,快速敲了一個命令並回車:
[root@node-2 ~]# nova list
ERROR: You must provide a username via either --os-username or env[OS_USERNAME]
復制代碼

shit! 怎麼回事?!一個ERROR可能讓你慌了神。你平復了一下心情,心想:一定是老子敲命令的姿勢不對,再試一次,這次用其他命令:
[root@node-2 ~]# keystone tenant-list
Expecting an auth URL via either --os-auth-url or env[OS_AUTH_URL]
復制代碼

天吶! 嗚呼一聲,你已然跪了……眼角斜了斜operator,他匆忙的背影讓你失去了打擾他的信心,又摸了摸兜里僅剩的1塊硬幣,准備打退堂鼓。

等等! 請看完我的blog,會讓你起死回生的。

找到rc文件
找了半天資料,你可能已經知道你需要的就是一個文件,然後source一下。但文件的內容從哪裡來?因為你到目前為止只知道horizon登錄的用戶名和密碼。好,我現在告訴你:

第一步,登錄horizon,進入下圖所示的頁面。

看到那個「下載OpenStack RC文件」的按鈕了么?看到了么?看到了么?別光顧著點頭了,還等啥?!

打開下載的文件(這里舉個例子,我以admin用戶登錄的),對內容稍作修改(主要是最後那個password,改成你登錄horizon的密碼,其他內容不要改):
#!/bin/bash
# With the addition of Keystone, to use an openstack cloud you should
# authenticate against keystone, which returns a **Token** and **Service
# Catalog**. The catalog contains the endpoint for all services the
# user/tenant has access to - including nova, glance, keystone, swift.
#
# *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0. We
# will use the 1.1 *compute api*
export OS_AUTH_URL=http://119.81.159.110:5000/v2.0
# With the addition of Keystone we have standardized on the term **tenant**
# as the entity that owns the resources.
export OS_TENANT_ID=
export OS_TENANT_NAME="admin"
# In addition to the owning entity (tenant), openstack stores the entity
# performing the action as the **user**.
export OS_USERNAME="admin"
export OS_PASSWORD="tUWkuBpN"
復制代碼

好了,現在你可以登錄後台,新建一個文件,然後把上面的內容復制進去,執行久違的source,然後再次運行命令:
[root@node-2 ~]# vi ~/openrc
[root@node-2 ~]# source ~/openrc
[root@node-2 ~]# nova list
[root@node-2 ~]# keystone tenant-list
+----------------------------------+----------+---------+
| id | name | enabled |
+----------------------------------+----------+---------+
| | admin | True |
| | services | True |
+----------------------------------+----------+---------+
[root@node-2 ~]#
復制代碼

呵呵,別親我?!別動我!!

Rest API
雖然使用命令行已經很接近OpenStack的本質了,但別忘了,命令行畢竟也是一種封裝,如果你想玩的再透一些,Rest API是個不錯的選擇,使用Rest API之後,OpenStack在你面前基本上就是裸奔了。

❷ 配置好openstack swift怎樣用

創建Ring
Ring共有三種,分別為Account Ring、Container Ring、Object Ring。Ring需要在整個集群中保持完全相同,因此需要在某一台PC上創建Ring文件,然後復制到其他PC上。我們將在PC1上進行Ring的創建,然後復制到PC2上。
首先,使用如下命令創建三個Ring。其中,18表示Ring的分區數為218;2表示對象副本數為2;1表示分區數據的遷移時間為1小時(這個解釋有待證實)。

# cd /etc/swift
# swift-ring-builder account.builder create 18 2 1
# swift-ring-builder container.builder create 18 2 1
# swift-ring-builder object.builder create 18 2 1

然後向三個Ring中添加存儲設備。其中z1和z2表示zone1和zone2;sdb1為Swift使用的存儲空間,即上文掛在的回環設備;100代表設備的權重。

# cd /etc/swift
# swift-ring-builder account.builder add z1-192.168.3.52:6002/sdb1 100
# swift-ring-builder container.builder add z1-192.168.3.52:6001/sdb1 100
# swift-ring-builder object.builder add z1-192.168.3.52:6000/sdb1 100

# swift-ring-builder account.builder add z2-192.168.3.53:6002/sdb1 100
# swift-ring-builder container.builder add z2-192.168.3.53:6001/sdb1 100
# swift-ring-builder object.builder add z2-192.168.3.53:6000/sdb1 100

Ring文件創建完畢後,可以通過以下命令來查看剛才添加的信息,以驗證是否輸入正確。若發現錯誤,以Account Ring為例,可以使用swift-ring-builder account.builder的刪除方法刪除已添加的設備,然後重新添加。

# cd /etc/swift
# swift-ring-builder account.builder
# swift-ring-builder container.builder
# swift-ring-builder object.builder

完成設備的添加後,我們還需要創建Ring的最後一步,即平衡環。這個過程需要消耗一些時間。成功之後,會在當前目錄生成account.ring.gz、container.ring.gz和object.ring.gz三個文件,這三個文件就是所有節點(包括Proxy Server和Storage Server)要用到的Ring文件。我們需要將這三個文件拷貝到PC2中的/etc/swift目錄下。

# cd /etc/swift
# swift-ring-builder account.builder rebalance
# swift-ring-builder container.builder rebalance
# swift-ring-builder object.builder rebalance

由於我們統一採用root用戶部署,所以要確保所有節點上的/etc/swift目錄都屬於root用戶。

# chown -R root:root /etc/swift

2.7 創建Swift執行腳本
為便於操作,我們可以在PC1和PC2上創建以下Swift腳本。
1. 創建~/swift/bin/remakerings腳本文件,添加以下內容,即可一鍵完成Ring的重新創建,當然具體內容需要根據實際環境進行修改。

#!/bin/bash

cd /etc/swift

rm -f *.builder *.ring.gz backups/*.builder backups/*.ring.gz

swift-ring-builder account.builder create 18 2 1
swift-ring-builder container.builder create 18 2 1
swift-ring-builder object.builder create 18 2 1

swift-ring-builder account.builder add z1-192.168.3.52:6002/sdb1 100
swift-ring-builder container.builder add z1-192.168.3.52:6001/sdb1 100
swift-ring-builder object.builder add z1-192.168.3.52:6000/sdb1 100

swift-ring-builder account.builder add z2-192.168.3.53:6002/sdb1 100
swift-ring-builder container.builder add z2-192.168.3.53:6001/sdb1 100
swift-ring-builder object.builder add z2-192.168.3.53:6000/sdb1 100

swift-ring-builder account.builder rebalance
swift-ring-builder container.builder rebalance
swift-ring-builder object.builder rebalance

2. 創建~/swift/bin/resetswift腳本文件,添加以下內容,即可一鍵清空Swift的對象數據和日誌,完成重置。注意:如果使用的是獨立分區存儲,則需要另行處理,例如將/srv/swift-disk替換為/dev/sdb1等;如果沒有使用rsyslog作為獨立日誌,則需要去掉「find /var/log/swift... 」和「sudo service rsyslog restart」這兩行。

#!/bin/bash

swift-init all stop
find /var/log/swift -type f -exec rm -f {} \;
sudo umount /srv/node/sdb1
sudo mkfs.xfs -f -i size=1024 /srv/swift-disk
sudo mount /srv/node/sdb1
sudo chown root:root /srv/node/sdb1
sudo rm -f /var/log/debug /var/log/messages /var/log/rsyncd.log /var/log/syslog
sudo service rsyslog restart
sudo service rsync restart
sudo service memcached restart

3. 創建~/swift/bin/startmain腳本文件,添加以下內容,即可一鍵啟動Swift的基本服務,包括proxy-server、account-server、container-server和object-server。

#!/bin/bash

swift-init main start

4. 創建~/swift/bin/stopmain腳本文件,添加以下內容,即可一鍵關閉Swift的基本服務,包括proxy-server、account-server、container-server和object-server。

#!/bin/bash

swift-init main stop

5. 創建~/swift/bin/startall腳本文件,添加以下內容,即可一鍵啟動Swift的所有服務,包括proxy-server、account-server、account-replicator 、account-auditor、container-server、container-replicator、container-updater、container-auditor、object-server、object-replicator、object-updater、object-auditor。

#!/bin/bash

swift-init proxy start
swift-init account-server start
swift-init account-replicator start
swift-init account-auditor start
swift-init container-server start
swift-init container-replicator start
swift-init container-updater start
swift-init container-auditor start
swift-init object-server start
swift-init object-replicator start
swift-init object-updater start
swift-init object-auditor start

6. 創建~/swift/bin/stopall腳本文件,添加以下內容,即可一鍵關閉Swift的所有服務,包括proxy-server、account-server、account-replicator 、account-auditor、container-server、container-replicator、container-updater、container-auditor、object-server、object-replicator、object-updater、object-auditor。

#!/bin/bash

swift-init proxy stop
swift-init account-server stop
swift-init account-replicator stop
swift-init account-auditor stop
swift-init container-server stop
swift-init container-replicator stop
swift-init container-updater stop
swift-init container-auditor stop
swift-init object-server stop
swift-init object-replicator stop
swift-init object-updater stop
swift-init object-auditor stop

7. 完成腳本創建後,需要更改腳本許可權,使之能夠執行。

# chmod +x ~/swift/bin/*

❸ Openstack概述 、 部署安裝環境 、 部署Openstack 、 Openstack操作基礎

案例1:配置yum倉庫

案例2:測試時間伺服器

案例3:配置yum倉庫

案例4:檢查基礎環境

案例5:部署Openstack

案例6:網路管理

案例7:登錄openstack

1 案例1:配置yum倉庫

1.1 問題

本案例要求配置基本環境:

配置三台虛擬機

2CPU,6G 內存,50G 硬碟

2CPU,4.5G 內存,100G 硬碟

配置靜態IP ifcfg-eth0

openstack : 192.168.1.10

nova: 192.168.1.11, 192.168.1.12

配置主機名 /etc/hosts,能夠相互 ping 通

配置 dns 伺服器 /etc/resolv.conf

1.2 方案

此實驗的整體方案需要三台機器,openstack作為主節點,nova01 和 nova02作為額外節點,真機做為DNS轉發和NTP的伺服器(這里不再在表-1中體現),提供域名解析和時間同步服務,具體情況如表-1所示:

表-1

1.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:准備三台虛擬機

[student@room9pc01 images]$base-vm openstack nova01 nova02

[student@room9pc01 images]$virsh start openstack

[student@room9pc01 images]$virsh start nova01

[student@room9pc01 images]$virsh start nova02

2)opensatck主機擴容為50G

[student@room9pc01 images]$ virsh blockresize--path /var/lib/libvirt/images/openstack.img--size 100G openstack

[student@room9pc01 images]$ virsh console openstack

[root@localhost~]#/usr/bin/growpart /dev/vda1

[root@localhost~]#/usr/sbin/xfs_growfs /

[root@localhost~]# df-h

Filesystem      Size  Used Avail Use%Mounted on

/dev/vda1        50G  914M  50G2%/

3)nova01 和 nova02 主機擴容為100G(以nova01為例)

[student@room9pc01 images]$ virsh blockresize--path /var/lib/libvirt/images/nova01.img--size 50G nova01

重新定義'/var/lib/libvirt/images/nova01.img'塊設備大小

[root@localhost~]#/usr/bin/growpart /dev/vda1

[root@localhost~]#/usr/sbin/xfs_growfs  /

[root@localhost~]# df-h

Filesystem      Size  Used Avail Use%Mounted on

/dev/vda1      100G  917M  100G1%/

4)三台主機配置靜態ip(以一台為例)

openstack:192.168.1.10

nova01: 192.168.1.11

nova02: 192.168.1.12

[root@localhost~]#cd /etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vim ifcfg-eth0

# Generated by dracut initrd

DEVICE="eth0"

ONBOOT="yes"

NM_CONTROLLED="no"

TYPE="Ethernet"

BOOTPROTO="static"

PERSISTENT_DHCLIENT="yes"

IPADDR=192.168.1.10

NEMASK=255.255.255.0

GATEWAY=192.168.1.254

5)三台主機修改主機名,配置/etc/hosts,和/etc/resolv.conf文件(以一台為例)

[root@localhost~]# hostname openstack

[root@localhost~]# echo openstack>/etc/hostname

[root@localhost~]#vim /etc/hosts

192.168.1.10openstack

192.168.1.11nova01

192.168.1.12nova02

[root@localhost~]#vim /etc/resolv.conf//去掉search開頭的行

;generatedby /usr/sbin/dhclient-script

nameserver192.168.1.254

6)修改三台主機的內存(openstack6G,nova01 和nova02 4G)

[student@room9pc01~]$ virsh edit openstack

...

<memory unit='KiB'>6588282</memory>

<currentMemory unit='KiB'>6588282</currentMemory>

...

[student@room9pc01~]$ virsh edit nova01

...

<memory unit='KiB'>4588282</memory>

<currentMemory unit='KiB'>4588282</currentMemory>

...

[student@room9pc01~]$ virsh start  openstack

域 openstack 已開始

[student@room9pc01~]$ virsh start  nova01

域 nova01 已開始

[student@room9pc01~]$ virsh start  nova02

域 nova02 已開始

2 案例2:測試時間伺服器

2.1 問題

本案例要求掌握時間服務的配置:

修改 openstack,nova01,nova02 的時間伺服器

重啟服務後驗證配置

2.2 步驟

實現此案例需要按照如下步驟進行。

步驟一:修改openstack,nova01 和 nova02 的時間伺服器(以一台為例)

[root@openstack~]#vim /etc/chrony.conf

...

server192.168.1.254iburst

[root@openstack~]# systemctl restart chronyd

步驟二:驗證

[root@openstack~]# chronyc sources-v

...

||||\

MSName/IP address        Stratum Poll Reach LastRx Last sample

===============================================================================

^*gateway36376-93ns[+903ns]+/-26ms

步驟三:兩台虛擬機配置靜態ip

注意:兩台主機同樣操作,改一下ip即可(以openstack.te.cn為例)

[root@localhost~]# echo openstack.te.cn>/etc/hostname

[root@localhost~]# hostname openstack.te.cn

//另外一台主機改名為nova.te.cn,配置ip為1.20

[root@openstack~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0

# Generated by dracut initrd

DEVICE="eth0"

ONBOOT="yes"

IPV6INIT="no"

IPV4_FAILURE_FATAL="no"

NM_CONTROLLED="no"

TYPE="Ethernet"

BOOTPROTO="static"

IPADDR="192.168.1.10"

PREFIX=24

GATEWAY=192.168.1.254

[root@openstack~]# systemctl restart network

3 案例3:配置yum倉庫

3.1 問題

本案例要求配置yum倉庫:

配置 yum 源,軟體倉庫一共 4 個

3.2 步驟

實現此案例需要按照如下步驟進行。

步驟一:三台主機配置yum源(以一台主機為例,共10670個軟體包)

[student@room9pc01~]$cd /linux-soft/04/openstack/

[student@room9pc01 openstack]$ ls

cirros.qcow2  RHEL7-extras.iso  RHEL7OSP-10.iso  small.qcow2

[student@room9pc01 openstack]$mkdir /var/ftp/RHEL7-extras

[student@room9pc01 openstack]$mkdir /var/ftp/RHEL7OSP-10

[student@room9pc01 openstack]$ mount RHEL7-extras.iso  /var/ftp/RHEL7-extras/

mount:/dev/loop1 防寫,將以只讀方式掛載

[student@room9pc01 openstack]$ mount RHEL7OSP-10.iso /var/ftp/RHEL7OSP-10/

mount:/dev/loop2 防寫,將以只讀方式掛載

[root@openstack~]#vim /etc/yum.repos.d/local.repo

[local_repo]

name=CentOS-$releasever-Base

baseurl="ftp://192.168.1.254/centos-1804"

enabled=1

gpgcheck=1

[RHEL7-extras]

name=RHEL7-extras

baseurl="ftp://192.168.1.254/RHEL7-extras"

enabled=1

gpgcheck=0

[RHEL7OSP-package]

name=RHEL7OSP-package

baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-rpms"

enabled=1

gpgcheck=0

[RHEL7OSP-devtools]

name=RHEL7OSP-devtools

baseurl="ftp://192.168.1.254/RHEL7OSP-10/rhel-7-server-openstack-10-devtools-rpms"

enabled=1

gpgcheck=0

[root@openstack~]#scp /etc/yum.repos.d/local.repo192.168.1.11:/etc/yum.repos.d/

[email protected]'s password:

local.repo                                                                                          100%  490  484.4KB/s  00:00   

[root@openstack ~]# scp /etc/yum.repos.d/local.repo 192.168.1.12:/etc/yum.repos.d/

[email protected]'s password:

local.repo

4 案例4:檢查基礎環境

4.1 問題

本案例要求准備基礎環境,為安裝openstack做准備:

安裝額外的軟體包

是否卸載firewalld 和 NetworkManager

檢查配置主機網路參數(靜態IP)

主機名必須能夠相互 ping 通

檢查配置主機yum源(4個,10670)

依賴軟體包是否安裝

檢查NTP伺服器是否可用

檢查 /etc/resolv.conf 不能有 search 開頭的行

4.2 步驟

實現此案例需要按照如下步驟進行。

步驟一:檢查基礎環境

1)安裝額外軟體包(三台機器操作,這里以一台為例)

[root@openstack yum.repos.d]# yum install-y qemu-kvm libvirt-client libvirt-daemon libvirt-daemon-driver-qemu python-setuptools

2)是否卸載firewalld 和 NetworkManager

[root@openstack~]# rpm-qa|grep NetworkManager*

[root@openstack~]# rpm-qa|grep firewalld*

3)檢查配置主機網路參數

[root@openstack~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0

# Generated by dracut initrd

DEVICE="eth0"

ONBOOT="yes"

NM_CONTROLLED="no"

TYPE="Ethernet"

BOOTPROTO="static"

PERSISTENT_DHCLIENT="yes"

IPADDR=192.168.1.10

NEMASK=255.255.255.0

GATEWAY=192.168.1.254

4)驗證主機名是否互通

[root@openstack~]# ping openstack

...

64bytes fromopenstack(192.168.1.10):icmp_seq=1ttl=255time=0.023ms

64bytes fromopenstack(192.168.1.10):icmp_seq=2ttl=255time=0.027ms

...

[root@openstack~]# ping nova01

PINGnova01(192.168.1.11)56(84)bytes of data.

64bytes fromnova01(192.168.1.11):icmp_seq=1ttl=255time=0.139ms

...

[root@openstack~]# ping nova02

PINGnova02(192.168.1.12)56(84)bytes of data.

64bytes fromnova02(192.168.1.12):icmp_seq=1ttl=255time=0.251ms

...

5)檢查配置主機yum源

[root@openstack~]# yum repolist

已載入插件:fastestmirror

Loading mirror speeds from cached hostfile

源標識                                                          源名稱                                                          狀態

RHEL7-extras                                                    RHEL7-extras76

RHEL7OSP-devtools                                              RHEL7OSP-devtools3

RHEL7OSP-package                                                RHEL7OSP-package680

local_repo                                                      CentOS-7-Base9,911

repolist:10,670

6)檢查時間同步是否可用

[root@openstack~]# chronyc  sources-v

210Numberof sources=1

....

||||\

MSName/IP address        Stratum Poll Reach LastRx Last sample

===============================================================================

^*gateway3737728+31us[+89us]+/-25ms

[root@openstack~]#

7)檢查/etc/resolv.conf 不能有 search 開頭的行

[root@openstack~]#cat /etc/resolv.conf

;generatedby /usr/sbin/dhclient-script

nameserver192.168.1.254

5 案例5:部署Openstack

5.1 問題

本案例要求通過packstack完成以下配置:

通過packstack部署Openstack

根據相關日誌文件進行排錯

5.2 步驟

實現此案例需要按照如下步驟進行。

步驟一:安裝packstack

[root@openstack~]# yum install-y openstack-packstack

[root@openstack~]# packstack--gen-answer-file answer.ini

//answer.ini與answer.txt是一樣的,只是用vim打開answer.ini文件有顏色

Packstack changed given value  to requiredvalue /root/.ssh/id_rsa.pub

[root@openstack~]# vim answer.ini

42CONFIG_SWIFT_INSTALL=n

45CONFIG_CEILOMETER_INSTALL=n//計費相關模塊

49CONFIG_AODH_INSTALL=n//計費相關模塊

53CONFIG_GNOCCHI_INSTALL=n//計費相關模塊

75CONFIG_NTP_SERVERS=192.168.1.254//時間伺服器的地址

98CONFIG_COMPUTE_HOSTS=192.168.1.11

102CONFIG_NETWORK_HOSTS=192.168.1.10,192.168.1.11

333CONFIG_KEYSTONE_ADMIN_PW=a//修改管理員的密碼

840CONFIG_NEUTRON_ML2_TYPE_DRIVERS=flat,vxlan//驅動類型

876CONFIG_NEUTRON_ML2_VXLAN_GROUP=239.1.1.5

//設置組播地址,最後一個隨意不能為0和255,其他固定

910CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=physnet1:br-ex//物理網橋的名稱

921CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0

//br-ex橋的名稱與eth0連接,管理eth0,網橋與哪個物理網卡連接

1179CONFIG_PROVISION_DEMO=n//DEMO是否測試

[root@openstack~]# packstack--answer-file=answer.ini

Welcome to the Packstack setup utility

The installation log file is available at:/var/tmp/packstack/20190423-170603-b43g_i/openstack-setup.log

Installing:

Clean Up[DONE]

Discovering ip protocol version[DONE]

[email protected]'s password:

[email protected]'s password:

Setting up ssh keys

****Installation completed successfully******//出現這個為成功

6 案例6:網路管理

6.1 問題

本案例要求運用OVS完成以下配置:

查看外部OVS網橋及其埠

驗證OVS配置

6.2 步驟

實現此案例需要按照如下步驟進行。

步驟一:查看外部OVS網橋

1)查看br-ex網橋配置(br-ex為OVS網橋設備)

[root@openstack~]#cat /etc/sysconfig/network-scripts/ifcfg-br-ex

ONBOOT="yes"

NM_CONTROLLED="no"

IPADDR="192.168.1.10"

PREFIX=24

GATEWAY=192.168.1.254

DEVICE=br-ex

NAME=br-ex

DEVICETYPE=ovs

OVSBOOTPROTO="static"

TYPE=OVSBridge

2)查看eth0網卡配置(該網卡為OVS網橋的介面)

[root@openstack~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

NAME=eth0

DEVICETYPE=ovs

TYPE=OVSPort

OVS_BRIDGE=br-ex

ONBOOT=yes

BOOTPROTO=none

3)驗證OVS配置

[root@openstack~]# ovs-vsctl show

Bridge br-ex

Controller"tcp:127.0.0.1:6633"

is_connected:true

fail_mode:secure

Port br-ex

Interface br-ex

type:internal

Port phy-br-ex

Interface phy-br-ex

type:patch

options:{peer=int-br-ex}

Port"eth0"

Interface"eth0"

ovs_version:"2.5.0"

7 案例7:登錄openstack

7.1 問題

本案例要求通過Horizon完成以下操作:

修改/etc/httpd/conf.d/15-horizon_vhost.conf 配置文件,使其可以成功登錄openstack

7.2 步驟

實現此案例需要按照如下步驟進行。

步驟一:瀏覽器訪問openstack

1)瀏覽器訪問

[root@openstack~]# firefox192.168.1.10//訪問失敗

2)需要改配置文件並重新載入

[root@openstack~]#

[root@openstack conf.d]# vi15-horizon_vhost.conf

35WSGIProcessGroup apache

36WSGIApplicationGroup%{GLOBAL}//添加這一行

[root@openstack conf.d]# apachectl  graceful//重新載入配置文件

3)瀏覽器訪問,出現頁面,如圖-6所示:

圖-6

3)查看用戶名和密碼

[root@openstack conf.d]# cd

[root@openstack~]# ls

answer.ini  keystonerc_admin//keystonerc_admin生成的文件,裡面有用戶名和密碼

[root@openstack~]# cat keystonerc_admin

unset OS_SERVICE_TOKEN

exportOS_USERNAME=admin//用戶名

exportOS_PASSWORD=a//密碼

exportOS_AUTH_URL=http://192.168.1.10:5000/v2.0

exportPS1='[\u@\h \W(keystone_admin)]\$ '

exportOS_TENANT_NAME=admin

exportOS_REGION_NAME=RegionOne

4)在火狐瀏覽器中輸入用戶名和密碼,登錄後頁面如圖-7所示:

圖-7

安裝openstack可能會出現的錯誤以及排錯方法

1)ntp時間不同步,如圖-2所示:

圖-2

解決辦法:查看ntp時間伺服器,是否出現*號,若沒有,查看配置文件,配置ntp伺服器步驟在案例3,可以參考

[root@room9pc01~]# chronyc sources-v//出現*號代表NTP時間可用

^*120.25.115.20261762-753us[-7003us]+/-24ms

[root@openstack~]# chronyc sources-v

^*192.168.1.25439377504+50us[-20us]+/-24ms

[root@nova~]# chronyc sources-v

^*192.168.1.25439377159-202us[-226us]+/-24ms

2)網橋名稱寫錯,如圖-3所示:

圖-3

解決辦法:檢查配置文件

[root@openstack~]# vim answer.ini

...

921CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:eth0

//br-ex橋的名稱與eth0連接,管理eth0,網橋與哪個物理網卡連接

...

3)若/root/.ssh/id_rsa.pub,提示password,同樣是配置文件沒有寫對,如圖-4所示:

圖-4

4)yum源沒有配置正確,如圖-5所示:

圖-5

解決辦法:檢查yum是否為10853個軟體包,查看是否是yum源沒有配置正確,之後安裝oprnstack-dashboard

5)出現Cannot allocate memory,如圖-6所示:

圖-6

解決辦法:

內存不足,重新啟動主機

6)出現/usr/bin/systemctl start openvswith ... falied,說明是ssse3指令集的錯誤,如圖-7所示:

圖-7

解決辦法:編輯openstack的xml文件,在裡面添加

<cpu mode='host-passthrough'>

</cpu>

7)若出現 Could not prefetch... 『openstack』。 如圖-8所示:

圖-8

配置文件裡面有中文符號

9)訪問openstack出錯

圖-9

沒有修改Apache配置文件

4)創建名為myproject的項目

[root@openstack~]# source~/keystonerc_admin  //初始化環境變數

[root@openstack~(keystone_admin)]# openstack project create myproject

+-------------+----------------------------------+

|Field|Value|

+-------------+----------------------------------+

|description|None|

|enabled|True|

|id||

|name|myproject|

+-------------+----------------------------------+

5)查看項目信息

[root@openstack~(keystone_admin)]# openstack project list

+----------------------------------+-----------+

|ID|Name|

+----------------------------------+-----------+

||services|

||admin|

||myproject|

+----------------------------------+-----------+

6)更新vcpu配額為30

[root@openstack~(keystone_admin)]# nova quota-update--cores30myproject

7)刪除myproject

[root@openstack~(keystone_admin)]# openstack projectdeletemyproject

❹ openstack swift 必須要通過keystone么

前面那個DeprecationWarning是warning級別的,暫時不影響。應該是k版本之後,keystone client已經openstack client替代了。 後面那個報錯才是問題:Invalid OpenStack Identity credentials。 看你的命令行中沒有加用戶名和密碼,這個你是設置了...

❺ 全面認識openstack,它到底是什麼包含什麼

OpenStack是一個雲平台管理的項目,它不是一個軟體。這個項目由幾個主要的組件組合起來完成一些具體的工作。
OpenStack是一個旨在為公共及私有雲的建設與管理提供軟體的開源項目,OpenStack被公認作為基礎設施即服務(簡稱IaaS)資源的通用前端。
如果這些還不明白,那麼從另外的角度給大家介紹:
首先讓大家看下面兩個圖就很簡單明了了:
此圖為openstack的登錄界面

下面是openstack的一個管理界面

從這兩個圖,相信有一定開發經驗,就能看出openstack是什麼了。可以說他是一個框架,甚至可以從軟體的角度來理解它。如果不明白,就從傳統開發來講解。不知道你是否了解oa,erp等系統,如果不了解可以到網上去找,資料一大把。他和oa,erp有什麼不同。很簡單就是openstack是用做雲計算的一個平台,或則一個解決方案。它是雲計算一個重要組成部分。
上面對openstack有了一個感性的認識。
(2)openstack能幹什麼。
大家都知道阿里雲平台,網路雲平台,而阿里雲平台據傳說就是對openstack的二次開發。對於二次開發相信只要接觸過軟體的都會明白這個概念。不明白的自己網上去查一下。也就是說openstack,可以搭建雲平台,什麼雲平台,公有雲,私有雲。現在網路在招聘的私有雲工程師,應該就是這方面的人才。
(3)openstack自身都包含什麼
以下是5個OpenStack的重要構成部分:
l Nova – 計算服務
l Swift – 存儲服務
l Glance – 鏡像服務
l Keystone – 認證服務
l Horizon – UI服務

圖1 OpenStack基本構架
下圖展示了Keystone、Dashboard二者與其它OpenStack部分的交互。

下面詳細介紹每一個服務:
(一)OpenStack計算設施—-Nova Nova是OpenStack計算的彈性控制器。OpenStack雲實例生命期所需的各種動作都將由Nova進行處理和支撐,這就意味著Nova以管理平台的身份登場,負責管理整個雲的計算資源、網路、授權及測度。雖然Nova本身並不提供任何虛擬能力,但是它將使用libvirt API與虛擬機的宿主機進行交互。Nova通過Web服務API來對外提供處理介面,而且這些介面與Amazon的Web服務介面是兼容的。
功能及特點
l 實例生命周期管理
l 計算資源管理
l 網路與授權管理
l 基於REST的API
l 非同步連續通信
l 支持各種宿主:Xen、XenServer/XCP、KVM、UML、VMware vSphere及Hyper-V
OpenStack計算部件
l Nova彈性雲包含以下主要部分:
l API Server(nova-api)
l 消息隊列(rabbit-mq server)
l 運算工作站(nova-compute)
l 網路控制器(nova-network)
l 卷管理(nova-volume)
l 調度器(nova-scheler)
API伺服器(nova-api)
API伺服器提供了雲設施與外界交互的介面,它是外界用戶對雲實施管理的唯一通道。通過使用web服務來調用各種EC2的API,接著API伺服器便通過消息隊列把請求送達至雲內目標設施進行處理。作為對EC2-api的替代,用戶也可以使用OpenStack的原生API,我們把它叫做「OpenStack API」。
消息隊列(Rabbit MQ Server)
OpenStack內部在遵循AMQP(高級消息隊列協議)的基礎上採用消息隊列進行通信。Nova對請求應答進行非同步調用,當請求接收後便則立即觸發一個回調。由於使用了非同步通信,不會有用戶的動作被長置於等待狀態。例如,啟動一個實例或上傳一份鏡像的過程較為耗時,API調用就將等待返回結果而不影響其它操作,在此非同步通信起到了很大作用,使整個系統變得更加高效。
運算工作站(nova-compute)
運算工作站的主要任務是管理實例的整個生命周期。他們通過消息隊列接收請求並執行,從而對實例進行各種操作。在典型實際生產環境下,會架設許多運算工作站,根據調度演算法,一個實例可以在可用的任意一台運算工作站上部署。
網路控制器(nova-network)
網路控制器處理主機的網路配置,例如IP地址分配,配置項目VLAN,設定安全群組以及為計算節點配置網路。
卷工作站(nova-volume)
卷工作站管理基於LVM的實例卷,它能夠為一個實例創建、刪除、附加卷,也可以從一個實例中分離卷。卷管理為何如此重要?因為它提供了一種保持實例持續存儲的手段,比如當結束一個實例後,根分區如果是非持續化的,那麼對其的任何改變都將丟失。可是,如果從一個實例中將卷分離出來,或者為這個實例附加上卷的話,即使實例被關閉,數據仍然保存其中。這些數據可以通過將卷附加到原實例或其他實例的方式而重新訪問。
因此,為了日後訪問,重要數據務必要寫入卷中。這種應用對於數據伺服器實例的存儲而言,尤為重要。
調度器(nova-scheler)
調度器負責把nova-API調用送達給目標。調度器以名為「nova-schele」的守護進程方式運行,並根據調度演算法從可用資源池中恰當地選擇運算伺服器。有很多因素都可以影響調度結果,比如負載、內存、子節點的遠近、CPU架構等等。強大的是nova調度器採用的是可插入式架構。
目前nova調度器使用了幾種基本的調度演算法:
隨機化:主機隨機選擇可用節點;
可用化:與隨機相似,只是隨機選擇的范圍被指定;
簡單化:應用這種方式,主機選擇負載最小者來運行實例。負載數據可以從別處獲得,如負載均衡伺服器。
(二)OpenStack鏡像伺服器—-GlanceOpenStack鏡像伺服器是一套虛擬機鏡像發現、注冊、檢索系統,我們可以將鏡像存儲到以下任意一種存儲中:
本地文件系統(默認)
l OpenStack對象存儲
l S3直接存儲
l S3對象存儲(作為S3訪問的中間渠道)
l HTTP(只讀)
功能及特點
提供鏡像相關服務
Glance構件
l Glance控制器
l Glance注冊器
(三)OpenStack存儲設施—-Swift
Swift為OpenStack提供一種分布式、持續虛擬對象存儲,它類似於Amazon Web Service的S3簡單存儲服務。Swift具有跨節點百級對象的存儲能力。Swift內建冗餘和失效備援管理,也能夠處理歸檔和媒體流,特別是對大數據(千兆位元組)和大容量(多對象數量)的測度非常高效。
功能及特點
l 海量對象存儲
l 大文件(對象)存儲
l 數據冗餘管理
l 歸檔能力—–處理大數據集
l 為虛擬機和雲應用提供數據容器
l 處理流媒體
l 對象安全存儲
l 備份與歸檔
l 良好的可伸縮性
Swift組件
l Swift賬戶
l Swift容器
l Swift對象
l Swift代理
l Swift RING
Swift代理伺服器
用戶都是通過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(基於Identity API)系統進行工作,主要對(但不限於)Swift、Glance、Nova等進行認證與授權。事實上,授權通過對動作消息來源者請求的合法性進行鑒定。如下圖所示:
Keystone採用兩種授權方式,一種基於用戶名/密碼,另一種基於令牌(Token)。除此之外,Keystone提供以下三種服務:
l 令牌服務:含有授權用戶的授權信息
l 目錄服務:含有用戶合法操作的可用服務列表
l 策略服務:利用Keystone具體指定用戶或群組某些訪問許可權
認證服務組件
服務入口:如Nova、Swift和Glance一樣每個OpenStack服務都擁有一個指定的埠和專屬的URL,我們稱其為入口(endpoints)。
l 區位:在某個數據中心,一個區位具體指定了一處物理位置。在典型的雲架構中,如果不是所有的服務都訪問分布式數據中心或伺服器的話,則也稱其為區位。
l 用戶:Keystone授權使用者
譯者註:代表一個個體,OpenStack以用戶的形式來授權服務給它們。用戶擁有證書(credentials),且可能分配給一個或多個租戶。經過驗證後,會為每個單獨的租戶提供一個特定的令牌。[來源:http://blog.sina.com.cn/s/blog_70064f190100undy.html]
l 服務:總體而言,任何通過Keystone進行連接或管理的組件都被稱為服務。舉個例子,我們可以稱Glance為Keystone的服務。
l 角色:為了維護安全限定,就雲內特定用戶可執行的操作而言,該用戶關聯的角色是非常重要的。
譯者註:一個角色是應用於某個租戶的使用許可權集合,以允許某個指定用戶訪問或使用特定操作。角色是使用許可權的邏輯分組,它使得通用的許可權可以簡單地分組並綁定到與某個指定租戶相關的用戶。
l 租間:租間指的是具有全部服務入口並配有特定成員角色的一個項目。
譯者註:一個租間映射到一個Nova的「project-id」,在對象存儲中,一個租間可以有多個容器。根據不同的安裝方式,一個租間可以代表一個客戶、帳號、組織或項目。
(五)OpenStack管理的Web介面—-Horizon
Horizon是一個用以管理、控制OpenStack服務的Web控制面板,它可以管理實例、鏡像、創建密匙對,對實例添加卷、操作Swift容器等。除此之外,用戶還可以在控制面板中使用終端(console)或VNC直接訪問實例。總之,Horizon具有如下一些特點:
l 實例管理:創建、終止實例,查看終端日誌,VNC連接,添加卷等
l 訪問與安全管理:創建安全群組,管理密匙對,設置浮動IP等
l 偏好設定:對虛擬硬體模板可以進行不同偏好設定
l 鏡像管理:編輯或刪除鏡像
l 查看服務目錄
l 管理用戶、配額及項目用途
l 用戶管理:創建用戶等
l 卷管理:創建卷和快照
l 對象存儲處理:創建、刪除容器和對象
l 為項目下載環境變數

❻ openstack swift支持多少個container

創建Ring Ring共有三種,分別為Account Ring、Container Ring、Object Ring。Ring需要在整個集群中保持完全相同,因此需要在某一台PC上創建Ring文件,然後復制到其他PC上。我們將在PC1上進行Ring的創建,然後復制到PC2上。 首先,使用如下命令創...

❼ 如何實現openstack swift的web訪問

1、安裝相關包
# apt-get install memcached libapache2-mod-wsgi openstack-dashboard
安裝完成之後卸載嵌有UBUNTU主題,防止翻譯等錯誤
# apt-get remove --purge openstack-dashboard-ubuntu-theme

2、修改/etc/ openstack-dashboard/local_settings.py中CACHES選項的 ['default']['LOCATION']去匹配/etc/memcached.conf.的值
CACHES = {
'default': {
'BACKEND' : 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION' : '127.0.0.1:11211'
}
}

3、編輯/etc/openstack-dashboard/local_settings.py裡面的OPENSTACK_HOST選項,值修改為controller
OPENSTACK_HOST = "controller"

4、重啟相關apache服務,並登陸到horizon相關界面
# service apache2 restart
# service memcached restart

❽ 如何基於openstack管理配置數據

OpenStack軟體包括許多不同的模塊,針對雲環境中各個方面:
Swift:對象存儲
Cinder:塊存儲
Nova:虛擬機計算
Neutron:網路
Horizon: 儀表盤
Keystone:認證服務
Glance:鏡像服務
Ceilometer:遙測
Heat:編排
Trove:資料庫即服務
隨著每一個OpenStack的代碼發布(目前是第九個版本,叫做IceHouse),新項目被創建或者從已有的項目上「分支」出來或者開一個全新的分支,包括用於裸機管理的Ironic以及會在OpenStack的Juno版本中發布的Sahara,用於彈性MapRece。
數據服務由以上的五個組件來提供。Swift是一個子項目,為OpenStack基礎架構提供對象存儲的功能。塊存儲由Cinder提供,使用標準的象iSCSI和NFS這樣的IP存儲協議。Glance為VM鏡像提供一個知識庫,使用底層的基本文件系統或者Swift作為存儲。Trove提供資料庫即服務 (DBaaS) 的能力,而Sahara提供彈性MapRece的功能,後者也被稱為Hadoop集群存儲。這篇文章,我們將著重講述Cinder和Swift這兩大主要的存儲平台。
Cinder塊存儲
塊存儲是虛擬基礎架構中必不可少的組件,是存儲虛擬機鏡像文件及虛擬機使用的數據的基礎。直到2012年OpenStack Folsom的發布才引入了Cinder,VM鏡像是短暫的,它們的存儲只維持在那台虛擬機的生命周期。Cinder提供對塊存儲的管理支持,通過使用iSCSI, 光纖通道或者NFS協議,以及若干私有協議提供後端連接,展現給計算層(Nova)。
Cinder介面提供了一些標准功能,允許創建和附加塊設備到虛擬機,如「創建卷」,「刪除卷」和「附加卷」。還有更多高級的功能,支持擴展容量的能力,快照和創建虛擬機鏡像克隆。
許多廠商在他們現有的硬體平台上提供對Cinder塊的支持,通過使用一個Cinder驅動將Cinder API轉換成廠商特定的硬體命令。提供Cinder支持的廠商包括了EMC(VMAX和VNX),惠普(3PAR StoreServ和StoreVirtual),日立數據系統,IBM(跨所有存儲平台),NetApp,Pure Storage和SolidFire。還有一些基於軟體的解決方案,比如EMC(ScaleIO)和Nexenta。
另外,許多軟體存儲實現,包括開源平台,都可以用於提供對Cinder的支持,這些軟體中包括紅帽的Ceph和GlusterFS。Ceph已經被集成到Linux內核中,使其成為最簡單的一種為OpenStack部署環境提供塊存儲的方法。
NFS的支持是在2013年OpenStack的第七個版本引入的,又叫Grizzly,盡管之前Folsom有提供「試驗性的」技術支持。在NFS的環境中,VM磁碟分區被當作單個的文件,這和在VMware ESXi虛擬程序或者微軟的Hyper-V的VHD所使用的方法相似。將VM磁碟分區封裝成文件可以實現類似快照和克隆這樣的功能。
存儲功能已引入Cinder的後續版本,之後一直被存儲廠商們支持。支持的各種廠商平台和功能的完整列表可以在OpenStack的關於OpenStack塊存儲驅動器的Wiki頁面找到。
Swift對象存儲
OpenStack中的對象存儲通過Swift來達成,Swift實現了分布在OpenStack的集群節點的橫向擴展的對象存儲。對象存儲將數據以二進制對象的方式存儲,沒有特別的格式要求。Swift使用簡單的類似PUT或GET(基於HTTP網路協議,也被稱為RESTful API)的命令對對象進行存取操作。
Swift架構被分割成一些邏輯服務,包括對象伺服器,代理伺服器,容器伺服器和帳戶伺服器,整個一起被稱作一個ring。數據同其他用於追蹤與每個存儲對象相關的元數據和管理數據訪問的組件一起存儲在對象伺服器上。
在Swift中使用zone的概念來管理數據的彈性。一個zone是一個ring的子部件,用於提供數據的一個拷貝,多個zone則用來存儲冗餘的數據拷貝,被稱為replica(默認最少3個)。Swift能用一個單獨的磁碟或者伺服器來代表一個zone,包括數據中心之間的數據地理分布。
同許多對象存儲一樣,Swift使用最終一致性的思想來實現數據的彈性。這意味著數據不是象塊存儲那樣以同步的方式在整個OpenStack集群里復制,而是在zone之間以一個後台任務的形式進行復制,這在系統高負載的情況下也許會掛起或者失敗。
與塊存儲的同步復制提供高級別的可靠性功能相比,最終一致性也許看起來會更具風險。但是,在可擴展性,性能和彈性中總是得做出取捨。最終一致性使得一個記錄歸檔比在一個基於塊存儲的系統更容易具備可擴展性,就Swift而言,代理伺服器會確保取得最近一次的數據拷貝,即便在該集群里的一些伺服器無法訪問的時候。
和所有的OpenStack項目一起,隨著每個版本的發布,Swift不斷被開發出新的功能和功能增強。OpenStack Grizzly引入了更細粒度的replica控制,允許ring能夠調整replica的數量。另外,通過基於對象伺服器的時間排序的思想,改善了對象讀取的性能。使得數據能夠通過最快響應速度的對象伺服器傳遞,這對於擴展到廣域網很重要。
由於Swift使用HTTP協議,這樣在OpenStack里使用第三方存儲方案,包括Cleversafe,Scality的產品或者類似於Amazon Web Service簡單存儲服務(S3)這樣的公有雲,進行對象存儲的做法會非常實用。
Swift還是Cinder?做出正確的選擇
很顯然Swift和Cinder為完全不同類型的數據需求服務。對象存儲(通過Swift)被設計成專門針對諸如媒體,鏡像和文件之類的對象型數據的高可擴展性存儲。這些系統的重點在於能夠大量擴展數據而不依賴於那些類似RAID的傳統存儲擁有的特性。但是,最終的一致性模型意味著Swift不適合存儲像虛擬機這樣的數據。
盡管Swift使用元數據來追蹤對象和他們的版本,對象存儲仍然需要額外的邏輯來追蹤所存的對象上的用戶元數據。這部分將需要用戶自己來構建到應用程序中去。
Cinder提供塊存儲組件來存儲持久化對象,比如虛擬機和定期在資料庫中更新的數據。塊存儲的功能可以在整個OpenStack集群中實現,通過一些商用組件,使用內置的工具,如伺服器邏輯盤管理器或者NFS,來傳輸存儲資源。另外,開源解決方案如Ceph的和GlusterFS,提供從OpenStack的主代碼中單獨打包OpenStack存儲模塊的能力,同時仍保留可以使用開源軟體的靈活性。
隨著Cinder的廣泛支持,現有的傳統存儲方案可以用到OpenStack部署環境中來提供存儲服務。當一個IT組織已經具備了這種技術並且硬體平台也到位的情況下,這也許是他們更願意採用的方式。現有的存儲平台技術已經很發達,並且支持一些存儲優化的高級功能,比如精簡配置,重復數據刪除和壓縮。許多現在還提供服務質量(比如HP的3PAR StoreServ和SolidFire的平台),讓它們適合在混合工作負載下而不是單純的用於OpenStack的部署。其結果帶來的一個顯著的益處就是,可以將「繁重」的任務卸載到一個外部存儲陣列。
在做出使用一個特定平台的決策中,系統架構師們需要權衡風險與使用OpenStack「」方案(仍然需要硬體)或者使用專屬硬體提供的功能所花費的成本。
OpenStack存儲備份
最後,我們應該考慮在OpenStack里備份數據的需求。備份OpenStack環境中的關鍵配置組件的具體細節已經有很好的文檔描述,但是備份在一個OpenStack集群里的數據被視為用戶自己的責任。備份可以通過使用外部存儲供應商來輕松實現,比如說,SolidFire提供將整個集群備份到AmazonS3或者Swift兼容的對象存儲中的功能。或者,用戶將需要查看現有的支持他們的OpenStack虛擬機管理程序的備份產品。
Raksha是一個新的項目提議,將備份即服務的功能集成到OpenStack的框架中。會同時支持完全及增量的虛擬機備份到一個Swift「端」,並能讓應用保持一致性。Raksha目前是一個獨立的項目,不屬於核心OpenStack框架。要將它集成到一般的類似VSphere和Hyper-V這樣的虛擬化平台中會需要花一些功夫,但是至少可以提供一個更整合的解決方案來對OpenStack環境中的數據進行保護。

❾ OpenStack中的Web UI組件叫

horizon
Horizon 為 Openstack 提供一個 WEB 前端的管理界面 (UI 服務 )通過 Horizone 所提供的 DashBoard 服務 , 管理員可以使用通過 WEB UI 對 Openstack 整體雲環境進行管理 , 並可直觀看到各種操作結果與運行狀態。
拓展資料:
1.Horizon(UI模塊)
頁面調用api(兩種用戶雲管理員,雲用戶)
2.keystone(身份服務模塊)
1)用戶身份認證(Idemity)
user:用戶(租戶下有很多用戶,驗證方式用戶名密碼,API keys等)
kenant:租戶(可以訪問資源的集合)

role:角色 (一組用戶可以訪問資源的許可權)
2)訪問請求控制(Token)
Service(nova,glance,swift等服務需要在keystone上注冊)
Endpoint(service暴露出來的訪問地址)
Token(訪問資源的令牌,具有時效性)
3)注冊表服務(Catalog)
openstack服務需要注冊到keystone注冊表中
4)身份驗證引擎(Policy)

決定用戶有哪些訪問控制許可權
易購環境的集成(Key Value Store,MemcachedSQL,PAM,LDAP)
3.Nova(計算服務組件)
openstack核心組件,核心服務包括:實例生命周期的管理(虛擬機),計算資源的管理,對外提供Restful API。
Nova組件主要有三個模塊構成(nova-api,nova-scheler,nova-compute),
nova-api在表示層主要負責處理外部請求,nova-scheler在邏輯控制層,主要負責選擇那個主機創建VM,nova-compute虛擬機創建和資源分配,不提供虛擬化功能,但是支持kvm,LXC,xen等。

三個組件通過rabbit MQ進行消息傳遞。

4.Glance(鏡像服務組件)
主要功能:提供虛擬機鏡像的存儲,查詢和檢索功能,為nova進行服務,依賴於存儲服務(存儲鏡像本身)和資料庫服務(存儲鏡像相關的數據)。
5.Swift(對象存儲服務模塊)
openstack核心組件,主要功能:高可用分布式對象存儲服務,特點是無限和擴展沒有單點故障。
account-->container-->Object 某個賬戶下的某個容器的某個對象,可以通過HTTP(S),Object API,S3進行存取。
6.Cinder(塊存儲服務模塊)
主要功能:管理所有塊存儲設備,為VM服務。
cinder-api處理發送過來的請求,處理結果發送到rabbit MQ,通過消息中間件把所有請求發送到cinder-scheler,通過調度器決定存儲到哪裡,並且創建VM,cinder-volume管理存儲模塊的生命周期
7.Neutorn(網路服務組件)
主要功能:為雲計算提供虛擬的網路功能,為每個不同的租戶建立獨立的網路環境。
三種不同的網路模式(Flat模式 Flat DHCP模式,Vlan模式)

閱讀全文

與openstackswift命令相關的資料

熱點內容
怎麼知道微信關聯了哪些app 瀏覽:696
android事件驅動 瀏覽:881
簽約大屏系統源碼 瀏覽:783
安卓系統怎麼轉入平板 瀏覽:421
安卓手機相機怎麼提取文字 瀏覽:217
如何查看伺服器映射的外網地址 瀏覽:977
圖片刺綉演算法 瀏覽:669
阿里雲伺服器沒有實例 瀏覽:605
綿陽有沒有什麼app 瀏覽:848
怎麼用游俠映射伺服器 瀏覽:919
為什麼無意下載的app無法刪除 瀏覽:306
word2007打開pdf 瀏覽:117
php正則class 瀏覽:737
怎麼在文件夾查找一堆文件 瀏覽:544
核酸報告用什麼app 瀏覽:793
u8怎麼ping通伺服器地址 瀏覽:994
安卓什麼手機支持背部輕敲調出健康碼 瀏覽:871
程序員抽獎排行 瀏覽:746
扭蛋人生安卓如何下載 瀏覽:725
什麼app文檔資源多好 瀏覽:924