openstack开发文档

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

openstack开发文档
编辑整理:
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(openstack开发文档)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为openstack开发文档的全部内容。

OpenStack Kilo install
2015年12月29日
目录
一、实验拓扑架构4
二、基础系统的安装6
三、安装完之后的处理10
3.1、本地yum的制作10
3。

2网络yun的准备11
3.3其它相关操作11
四、建立集群13
4.1配置各节点13
4.2验证各网络15
五、集群环境的基本配置17
5.1控制节点服务器17
5。

2其它节点17
5.3管理结点的基础包安装18
六、Keystone身份认证服务20
6.1安装和配置20
6。

2校验keystone服务26
6.3创建openstack的用户脚本28
七、Glnace镜像服务29
7。

1keystone的添加29
7。

2安装与配置30
7.3验证服务33
八、块存储服务35
8.1keystone服务的添加35
8。

2服务的安装与配置37
A、Controller结点的配置37
B、存储结点的安装与配置39
8。

3验证服务42
九、对象存储服务44
9。

1keystone服务的添加44
9。

2安装与配置44
A、管理节点的安装与配置44
B、存储节点的安装与配置45
C、管理节点的操作50
9。

3验证服务50
十、nova的服务51
10。

1keystone服务的添加51
10。

2安装与配置51
A、管理节点操作51
B、计算结点操作53
10。

3验证服务54
十一、neutron服务56
11。

1keystone的添加56
11。

2安装与配置56
A、管理节点的安装配置56
B、网络节点的配置(同管理节点合并)59
C、计算结点的配置62
11.3服务验证64
11.4网络验证65
十二、Horizon66
12。

1安装与配置66
12。

2登陆测试66
十三、问题解决67
13.1防火墙67
13.2ERROR:the server has either erred or is incapable of performing the
requested operation67
13.3vnc访问的解决68
13.4虚拟机获取不到IP68
13.4最终的配置文件69
十四、虚拟机的操作71
一、实验拓扑架构
实验用电脑的配置为i7,16G内存,150G硬盘空间;centos7。

1的镜像版本为:CentOS—7—x86_64-Everything—1503-01.iso,可以根据个人的实际情况进行修改。

VMware Workstation的版本为11.1。

表1。

1Openstack实际安装拓扑
使用网卡配置如下,本实验使用了回环网卡做内部通信使用,其它网卡桥接到无线网卡上.
图1.1VM虚拟网络的配置情况
图1.2虚拟机接口的配置
图1。

3网络接口的添加与配置
手工配置好base系统的mac地址
图1。

4网络接口MAC地址的配置
二、基础系统的安装
操作系统使用的是centos7.1,镜像版本为:CentOS—7—x86_64—Everything-1503—
01.iso,系统的安装过程可以参考下面的截图。

图2.1安装语言选择
图2。

2安装的基本配置
图2。

3安装虚拟化工具安装时最好是一个网卡,安装完之后再添加其它网卡。

图2.4网络选项
图2。

5密码设置及安装进度
图2.6安装完成
三、安装完之后的处理
操作系统安装完之后不能直接复制,还需要做些操作,要不然网络会出现问题。

这里为了方便使用做了本地yum及一些快捷命令.
3。

1、本地yum的制作
系统镜像的挂载
图3.1自动挂载的设置
图3。

2本地yum的配置文件
图3.3命令别名的建立
3。

2网络yum的准备
1.安装yum-plugin—priorities包,以启用仓库中相对优先级的分配:
#yum install yum—plugin-priorities
2。

On RHEL and CentOS, enable the EPEL repository:
#yum install http://dl.fedoraproject。

org/pub/epel/7/x86_64/e/epel-release—7-5。

noarch。

rpm
注意:Fedora不需要这个仓库
•安装包rdo—release-kilo以启用RDO仓库:
#yum install http://rdo。

fedorapeople。

org/openstack-kilo/rdo-release—kilo。

rpm
Selinux的处理
yum install openstack—selinux
3.3其它相关操作
图3。

4网卡删除掉hwaddr和uuid
注意:网络节点的外网口要保留hwaddr和uuid,可以先备份出来。

外部网络接口使用特殊的配置,不分配IP地址.将第三个接口配置为外部网络接口
图3.5网络节点外网卡的设置
主机名的修改
#hostnamectl sethostname controller
Hosts解析的添加
#cat /etc/hosts
配置好各接口的地址base如下。

图3。

6管理节点的各网卡的配置
四、建立集群
根据前面的拓扑结构建立起集群环境,都是由前的基础镜像复制出来的,然后修改主机名,修改MAC/IP地址,这里不详述。

4.1配置各节点
管理节点+网络节点
图4.1管理节点的各网卡的配置
计算结点
图4.2计算节点的各网卡的配置
存储结点
图4.3存储节点的各网卡的配置主机名
图4.4主机名的配置
4.2验证各网络
管理+计算结点
图4。

5管理节点的网络验证计算结点
图4.6计算节点的网络验证存储结点
图4。

7存储节点的网络验证
五、集群环境的基本配置
必须安装NTP来正确地在各个节点之间同步服务。

我们推荐您配置控制节点来关联更准确的(下层的)服务器,然后将其他节点与控制节点关联。

5.1控制节点服务器
安装软件
# yum install ntp
配置NTP服务
/etc/ntp.conf如果控制节点为controller,直接使用下面即可
server controller iburst
restrict -4 default kod notrap nomodify
restrict -6 default kod notrap nomodify
# systemctl enable ntpd.service
# systemctl start ntpd。

service
其它节点Ntp的安装、配置与启动
yum install ntp
修改配置文件 /etc/ntp。

conf,注释掉其它server选项
server controller iburst
# systemctl enable ntpd。

service
# systemctl start ntpd.service
Ntp的验证
控制节点
ntpq —c peers
ntpq —c assoc
图5.1管理节点的时间同步验证
5。

2其它节点
ntpq —c peers
ntpq -c assoc
图5.2计算节点的时间同步验证
图5.3存储节点的时间同步验证
5.3管理结点的基础包安装
安装并配置数据库服务
1。

安装软件包:
注意Python MySQL库和MariaDB是兼容的。

#yum install mariadb mariadb—server MySQL-python
完成安装
图5.4 mariadb
的配置文件f
图5.5maridb的配置文件mariadb_f
1。

启动数据库服务,并将其配置为开机自启:
#systemctl enable mariadb。

service
#systemctl start mariadb。

service
2.对数据库进行安全加固(包括为数据库用户root设置适当的密码):#mysql_secure_installation
# yum install rabbitmq—server
# systemctl enable rabbitmq—server。

service
# systemctl start rabbitmq-server.service
# rabbitmqctl change_password guest RABBIT_PASS
六、Keystone身份认证服务
当安装OpenStack身份服务,用户必须将之注册到其OpenStack安装环境的每个服务。

身份服务才可以追踪那些OpenStack服务已经安装,以及在网络中定位它们.
6。

1安装和配置
本章节是安装和配置Openstack身份认证服务,这里把keystone集成到了httpd的服务当中。

这里主要是管理节点的操作。

数据库相关操作
mysql -u root –p mysql —uroot -p
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone。

* TO ’keystone'@’%' \
IDENTIFIED BY ’KEYSTONE_DBPASS';
mysql -u keystone —pKEYSTONE_DBPASS
生成一个随机值在初始的配置中作为管理员的令牌
[root@controller ~]# openssl rand —hex 10
b4412dace9a513f0dacf
运行以下命令来安装包
yum install openstack-keystone httpd mod_wsgi python-openstackclient memcached python—memcached –y
启动Memcached服务并设置开机启动
systemctl enable memcached.service
systemctl start memcached。

service
配置
/etc/keystone/keystone。

conf配置内容如下:
[DEFAULT]
admin_token = b4412dace9a513f0dacf
[database]
connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone [memcache]
servers = localhost:11211
[token]
provider = keystone。

token.providers.uuid.Provider
driver = keystone。

token。

persistence.backends。

memcache。

Token [revoke]
driver = keystone。

contrib。

revoke。

backends。

sql。

Revoke [DEFAULT]
verbose = True
初始化认证服务数据库
# su -s /bin/sh -c ”keystone—manage db_sync" keystone
/etc/httpd/conf/httpd.conf
ServerName controller
/etc/httpd/conf.d/wsgi—keystone.conf
Listen 5000
Listen 35357
<VirtualHost *:5000>
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display—name=%{GROUP}
WSGIProcessGroup keystone—public
WSGIScriptAlias / /var/www/cgi-bin/keystone/main
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
LogLevel info
ErrorLogFormat ”%{cu}t %M”
ErrorLog /var/log/httpd/keystone-error。

log
CustomLog /var/log/httpd/keystone—access。

log combined
〈/VirtualHost〉
<VirtualHost *:35357>
WSGIDaemonProcess keystone—admin processes=5 threads=1 user=keystone group=keystone display—name=%{GROUP}
WSGIProcessGroup keystone—admin
WSGIScriptAlias / /var/www/cgi-bin/keystone/admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
LogLevel info
ErrorLogFormat "%{cu}t %M”
ErrorLog /var/log/httpd/keystone-error。

log
CustomLog /var/log/httpd/keystone—access。

log combined
</VirtualHost>
创建WSGI 目录
mkdir -p /var/www/cgi-bin/keystone
生成main和admin文件
curl http://git.openstack。

org/cgit/openstack/keystone/plain/httpd/keystone。

py?h=stable/kilo \
| tee /var/www/cgi—bin/keystone/main /var/www/cgi-bin/keystone/admin
配置权限
chown -R keystone:keystone /var/www/cgi-bin/keystone
chmod 755 /var/www/cgi-bin/keystone/*
设置开机启动并启动Memcached服务
systemctl enable httpd。

service
systemctl start httpd.service
配置管理员token:
export OS_TOKEN= b4412dace9a513f0dacf
export OS_URL=http://controller:35357/v2.0
创建服务实体和身份认证服务
openstack service create \
--name keystone —-description ”OpenStack Identity" identity
openstack endpoint create \
——publicurl http://controller:5000/v2。

0 \
-—internalurl http://controller:5000/v2。

0 \
-—adminurl http://controller:35357/v2.0 \
——region RegionOne \
Identity
快照
创建admin的tenants, users, and roles
openstack project create -—description ”Admin Project” admin
openstack user create --password—prompt admin
密码
140511720
openstack role create admin
openstack role add --project admin --user admin admin
openstack project create --description "Service Project” service
openstack project create --description ”Demo Project” demo
openstack user create -—password—prompt demo
140511720
创建demo用户
openstack role create user
openstack role add ——project demo --user demo user
ERROR: openstack Authorization Failed: Cannot authenticate without an auth_url 6.2校验keystone服务
unset OS_TOKEN OS_URL
openstack ——os—auth—url http://controller:35357 \
--os—project—name admin -—os—username admin —-os-auth-type password \ token issue
openstack --os—auth—url http://controller:35357 \
--os-project—domain-id default ——os-user—domain—id default \
——os-project-name admin --os—username admin --os-auth-type password \
token issue
openstack --os-auth-url http://controller:35357 \
——os—project-name admin -—os—username admin --os-auth—type password \ project list
openstack --os-auth-url http://controller:35357 \
——os-project-name admin ——os—username admin -—os-auth-type password \ user list
openstack --os—auth—url http://controller:35357 \
——os—project-name admin --os-username admin -—os-auth—type password \ role list
openstack -—os—auth—url http://controller:5000 \
——os-project—domain—id default ——os-user-domain—id default \
——os-project—name demo —-os—username demo -—os—auth—type password \ token issue
openstack —-os—auth-url http://controller:5000 \
--os-project—domain-id default --os—user-domain-id default \
--os—project—name demo -—os-username demo —-os-auth—type password \ user list
6.3创建openstack的用户脚本
vi admin-openrc.sh
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3
demo-openrc.sh
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=demo
export OS_TENANT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS
export OS_AUTH_URL=http://controller:5000/v3
注意修改相应的密码。

七、Glnace镜像服务
7。

1keystone的添加
创建数据库
mysql -u root -p
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance。

* TO 'glance'@’%' \ IDENTIFIED BY ’GLANCE_DBPASS’;
创建service和endpoint
source admin-openrc。

sh
openstack user create ——password—prompt glance
openstack role add --project service -—user glance admin
openstack service create --name glance \
-—description ”OpenStack Image service” image
openstack endpoint create \
——publicurl http://controller:9292 \
—-internalurl http://controller:9292 \
-—adminurl http://controller:9292 \
--region RegionOne \
image
7。

2安装与配置
安装软件包
yum install openstack—glance python—glance python-glanceclient -y
配置服务
vi /etc/glance/glance—api.conf 快照
[database]。

.
connection = mysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
.。

auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password =14051172
[paste_deploy]。

flavor = keystone
[glance_store]
.。

default_store = file
filesystem_store_datadir = /var/lib/glance/images/[DEFAULT]。

.
notification_driver = noop
[DEFAULT]。

.。

verbose = True
/etc/glance/glance—registry.conf
[database]。

.。

connection = mysql://glance:GLANCE_DBPASS@controller/glance [keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = 140511720
[paste_deploy]
.。

flavor = keystone
[DEFAULT]
.。

notification_driver = noop
[DEFAULT]
.。

verbose = True
初始化镜像服务数据库
# su -s /bin/sh —c ”glance—manage db_sync" glance
设置开机启动及启动相应的服务
# systemctl enable openstack-glance-api.service openstack-glance-registry.service
# systemctl start openstack—glance-api.service openstack—glance-registry。

service
环境变量的添加
echo ”export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc。

sh demo_openrc.sh source admin-openrc。

sh
下载demo镜像
yum install -y wget
wget http://download.cirros—cloud。

net/0.3.4/cirros—0。

3.4-x86_64—disk。

img
7.3验证服务
镜像的上传
glance image—create —-name "cirros—0。

3.4—x86_64" ——file cirros-0.3。

4-x86_64—disk。

img --disk-format qcow2 ——container-format bare -—visibility public –progress
镜像的查看
glance image-list
图 7。

1 镜像列表
八、块存储服务
8。

1keystone服务的添加
数据库操作
mysql –u root –p
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder。

* TO ’cinder'@’%’ \ IDENTIFIED BY 'CINDER_DBPASS';
source admin—openrc.sh
openstack user create ——password—prompt cinder
openstack role add --project service --user cinder admin
openstack service create ——name cinder \
--description ”OpenStack Block Storage” volume
openstack service create -—name cinderv2 \
——description ”OpenStack Block Storage" volumev2
openstack endpoint create \
-—publicurl http://controller:8776/v2/%\(tenant_id\)s \ --internalurl http://controller:8776/v2/%\(tenant_id\)s \ -—adminurl http://controller:8776/v2/%\(tenant_id\)s \ --region RegionOne \
volume
openstack endpoint create \
-—publicurl http://controller:8776/v2/%\(tenant_id\)s \ --internalurl http://controller:8776/v2/%\(tenant_id\)s \ -—adminurl http://controller:8776/v2/%\(tenant_id\)s \—-region RegionOne \
volumev2
8.2服务的安装与配置
A、Controller结点的配置
yum install openstack-cinder python—cinderclient python—oslo—db -y # cp /usr/share/cinder/cinder—dist.conf /etc/cinder/cinder.conf
# chown —R cinder:cinder /etc/cinder/cinder.conf
修改配置
/etc/cinder/cinder.conf
[database]。

..
connection = mysql://cinder:CINDER_DBPASS@controller/cinder [DEFAULT]。

.。

rpc_backend = rabbit
[oslo_messaging_rabbit]
..。

rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS 140511720
[DEFAULT]
..。

auth_strategy = keystone
[keystone_authtoken]。

.。

auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = CINDER_PASS
[DEFAULT]。

.
my_ip = 10.0。

0。

11
[oslo_concurrency]。

.。

lock_path = /var/lock/cinder
[DEFAULT]。

.。

verbose = True 快照11。

23
su —s /bin/sh -c ”cinder—manage db sync" cinder
# systemctl enable openstack—cinder—api。

service openstack-cinder-scheduler.service
#systemctl start openstack—cinder-api。

service openstack-cinder-scheduler。

service
B、存储结点的安装与配置(在storage上进行)
装两个硬盘
yum install qemu
yum install lvm2
# systemctl enable lvm2—lvmetad。

service
# systemctl start lvm2—lvmetad.service
fdisk –l
pvcreate /dev/sdc
vgcreate cinder-volumes /dev/sdc
/etc/lvm/lvm。

conf
filter = [ "a/sdc/”, "r/。

*/”]
yum install openstack-cinder targetcli python-oslo—db python—oslo-log MySQL-python —y
/etc/cinder/cinder.conf
[database]。

.。

connection = mysql://cinder:CINDER_DBPASS@controller/cinder
[DEFAULT]。

rpc_backend = rabbit
[oslo_messaging_rabbit]。

.
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
[DEFAULT]
.。

auth_strategy = keystone
[keystone_authtoken]。

.。

auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = cinder
[DEFAULT]。

.。

my_ip = 10。

20.1.80
[lvm]。

.
volume_driver = cinder。

volume。

drivers。

lvm.LVMVolumeDriver volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm
[DEFAULT]。

enabled_backends = lvm
[DEFAULT]
..。

glance_host = controller
[oslo_concurrency]。

lock_path = /var/lock/cinder
[DEFAULT]。

..
verbose = True
# systemctl enable openstack—cinder—volume.service target.service
# f
firewall—cmd ——zone=public ——add—port=3306/tcp —-permanent
firewall-cmd ——reload
Controller:
source admin—openrc。

sh
cinder service—list
A
firewall-cmd ——zone=public --add-port=5672/tcp ——permanent
firewall—cmd --reload
8.3验证服务
echo ”export OS_VOLUME_API_VERSION=2” | tee -a admin—openrc.sh demo-openrc。

sh
source admin—openrc。

sh
cinder service-list
图 8。

1 块存储的服务列表
source demo-openrc.sh
cinder create -—name demo—volume1 1
图 8.2 块创建示例
九、对象存储服务
9.1keystone服务的添加
注意对象存储没有使用数据库.
source admin—openrc.sh
openstack user create --password—prompt swift
openstack role add —-project service ——user swift admin
openstack service create --name swift \
-—description ”OpenStack Object Storage" object-store
openstack endpoint create \
—-publicurl ’http://controller:8080/v1/AUTH_%(tenant_id)s’ \
-—internalurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' \
-—adminurl http://controller:8080 \
—-region RegionOne \
object—store
9。

2安装与配置
A、管理节点的安装与配置
yum install openstack-swift—proxy python—swiftclient python—keystone-auth-token \
python-keystonemiddleware memcached —y
curl -o /etc/swift/proxy-server.conf \
https://git.openstack。

org/cgit/openstack/swift/plain/etc/proxy—server.conf-sample?h=stable/kilo
/etc/swift/proxy—server。

conf
[DEFAULT]。

.
bind_port = 8080
user = swift
swift_dir = /etc/swift
[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy—logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo proxy-logging proxy—server
[app:proxy-server]。

account_autocreate = true
[filter:keystoneauth]
use = egg:swift#keystoneauth。

..
operator_roles = admin,user
[filter:authtoken]
paste。

filter_factory = keystonemiddleware.auth_token:filter_factory .。

auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = swift
password = swift
delay_auth_decision = true
[filter:cache]
.。

memcache_servers = 127。

0。

0.1:11211
B、存储节点的安装与配置
yum install xfsprogs rsync
查看磁盘信息:fdisk —l
# mkfs.xfs /dev/sdb
# mkdir -p /srv/node/sdb
/etc/fstab
/dev/sdb /srv/node/sdb xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
# mount /srv/node/sdc
mount -a
/etc/rsyncd.conf
uid = swift
gid = swift
log file = /var/log/rsyncd。

log
pid file = /var/run/rsyncd.pid
address = MANAGEMENT_INTERFACE_IP_ADDRESS
[account]
max connections = 2
path = /srv/node/
read only = false
lock file = /var/lock/account.lock
[container]
max connections = 2
path = /srv/node/
read only = false
lock file = /var/lock/container.lock
[object]
max connections = 2
path = /srv/node/
read only = false
lock file = /var/lock/object。

lock
# systemctl enable rsyncd。

service
# systemctl start rsyncd.service
yum install openstack-swift-account openstack—swift-container \
openstack-swift-object
# curl -o /etc/swift/account-server.conf \
https://git。

/cgit/openstack/swift/plain/etc/account—server.conf—sample?h=stable/kilo
# curl -o /etc/swift/container-server。

conf \
https://git.openstack。

org/cgit/openstack/swift/plain/etc/containerserver.conf—sample?h=stable/kilo
# curl —o /etc/swift/object-server。

conf \
https:///cgit/openstack/swift/plain/etc/object-server.conf—sample?h=stable/kilo
# curl -o /etc/swift/container-reconciler。

conf \
https://git.openstack。

org/cgit/openstack/swift/plain/etc/containerreconciler。

conf—sample?h=stable/kilo
# curl —o /etc/swift/object-expirer。

conf \
https:///cgit/openstack/swift/plain/etc/object—expirer.conf—sample?h=stable/kilo
/etc/swift/account—server。

conf
[DEFAULT]。

bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
bind_port = 6002
user = swift
swift_dir = /etc/swift
devices = /srv/node
[pipeline:main]
pipeline = healthcheck recon account-server [filter:recon]。

.
recon_cache_path = /var/cache/swift
/etc/swift/container-server.conf [DEFAULT]
..。

bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
bind_port = 6001
user = swift
swift_dir = /etc/swift
devices = /srv/node
[pipeline:main]
pipeline = healthcheck recon container—server [filter:recon]
..。

recon_cache_path = /var/cache/swift
/etc/swift/object-server.conf
[DEFAULT]
.。

.
bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
bind_port = 6000
user = swift
swift_dir = /etc/swift
devices = /srv/node
[pipeline:main]
pipeline = healthcheck recon object—server [filter:recon]
.。

.
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock
# chown -R swift:swift /srv/node
# mkdir -p /var/cache/swift
# chown -R swift:swift /var/cache/swift
初始化ring文件等
cd /etc/swift
swift—ring-builder account.builder create 10 3 1
swift—ring—builder account.builder add r1z1-10.20.1。

80:6002/sdb 100
swift-ring-builder account。

builder
swift-ring—builder account。

builder rebalance
cd /etc/swift
swift—ring-builder container。

builder create 10 3 1
swift-ring—builder container。

builder add r1z1-10。

20.1。

80:6001/sdb 100 swift—ring-builder container。

builder
swift-ring—builder container。

builder rebalance
cd /etc/swift
swift-ring—builder object。

builder create 10 3 1
swift—ring—builder object。

builder add r1z1—10。

20.1。

80:6000/sdb 100 swift—ring-builder object.builder
swift—ring-builder object.builder rebalance
controller:
scp root@storage:/etc/swift/*.ring.gz /etc/swift/
存储节点的配置
curl —o /etc/swift/swift。

conf \
https://git。

/cgit/openstack/swift/plain/etc/swift。

confsample?h=stable/kilo
/etc/swift/swift.conf
[swift—hash]
.。

.
swift_hash_path_suffix = HASH_PATH_PREFIX
swift_hash_path_prefix = HASH_PATH_SUFFIX
[storage—policy:0]
..。

name = Policy—0
default = yes
chown -R swift:swift /etc/swift
scp root@storage:/etc/swift/swift.conf /etc/swift/
# systemctl enable openstack—swift—account.service openstack—swift-account—auditor.service \
openstack-swift—account-reaper.service openstack—swift-account-replicator。

service
# systemctl start openstack—swift—account.service openstack—swift—account—auditor.service \
openstack-swift-account—reaper.service openstack-swift-account—replicator。

service
systemctl status openstack-swift—account.service
systemctl status openstack-swift—account—auditor.service
systemctl status openstack—swift-account—reaper.service
systemctl status openstack-swift—account-replicator.service
#systemctl enable openstack-swift—container.service openstack-swift—container—auditor.service \
openstack—swift—container-replicator。

service openstack—swift—container-updater。

service
#systemctl start openstack-swift—container。

service openstack-swift-container—auditor.service \
openstack-swift—container-replicator。

service openstack-swift—container—updater.service
systemctl status openstack—swift—container。

service
systemctl status openstack—swift-container—auditor.service
systemctl status openstack—swift-container-replicator.service
systemctl status openstack—swift—container-updater。

service
# systemctl enable openstack-swift—object。

service openstack—swift—object—auditor.service \
openstack—swift-object—replicator。

service openstack—swift—object-updater.service
#systemctl start openstack-swift-object.service openstack-swift—object-auditor.service \
openstack—swift—object-replicator。

service openstack—swift-object-updater.service
systemctl status openstack—swift—object。

service
systemctl status openstack-swift—object—auditor.service
systemctl status openstack-swift—object-replicator。

service
systemctl status openstack-swift-object—updater。

service。

相关文档
最新文档