导航:首页 > 程序命令 > 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命令相关的资料

热点内容
深圳周立功单片机 浏览:56
圆上点与点之间角度算法 浏览:862
怎么知道微信关联了哪些app 浏览:696
android事件驱动 浏览:881
签约大屏系统源码 浏览:784
安卓系统怎么转入平板 浏览:421
安卓手机相机怎么提取文字 浏览:219
如何查看服务器映射的外网地址 浏览:985
图片刺绣算法 浏览:675
阿里云服务器没有实例 浏览:605
绵阳有没有什么app 浏览:848
怎么用游侠映射服务器 浏览:919
为什么无意下载的app无法删除 浏览:306
word2007打开pdf 浏览:117
php正则class 浏览:737
怎么在文件夹查找一堆文件 浏览:544
核酸报告用什么app 浏览:793
u8怎么ping通服务器地址 浏览:994
安卓什么手机支持背部轻敲调出健康码 浏览:871
程序员抽奖排行 浏览:746