8 安装Swift对象存储服务

8.1通过脚本安装Swift服务

8.2-8.12对象存储服务的操作命令已经编写成shell脚本,通过脚本进行一键安装。如下:

#Controller

执行脚本iaas-install-swift-controller.sh进行安装

#Compute节点

执行脚本iaas-install-swift-compute.sh进行安装

8.2 安装Swift对象存储服务软件包

# yum install openstack-swift-proxy python-swiftclient python-keystoneclient python-keystonemiddleware memcached -y

8.2创建用户

# openstack user create --domain $DOMAIN_NAME --password $SWIFT_PASS swift

# openstack role add --project service --user swift admin

8.3创建EndpointAPI端点

# openstack service create --name swift --description "OpenStack Object Storage" object-store

# openstack endpoint create --region RegionOne object-store public http://$HOST_NAME:8080/v1/AUTH_%\(tenant_id\)s

# openstack endpoint create --region RegionOne object-store internal http://$HOST_NAME:8080/v1/AUTH_%\(tenant_id\)s

# openstack endpoint create --region RegionOne object-store admin http://$HOST_NAME:8080/v1

8.4 编辑/etc/swift/proxy-server.conf

编辑配置文件如下

[DEFAULT]

bind_port = 8080

swift_dir = /etc/swift

user = swift

[pipeline:main]

pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server

[app:proxy-server]

use = egg:swift#proxy

account_autocreate = True

[filter:tempauth]

use = egg:swift#tempauth

user_admin_admin = admin .admin .reseller_admin

user_test_tester = testing .admin

user_test2_tester2 = testing2 .admin

user_test_tester3 = testing3

user_test5_tester5 = testing5 service

[filter:authtoken]

paste.filter_factory = keystonemiddleware.auth_token:filter_factory

auth_uri = http://$HOST_NAME:5000

auth_url = http://$HOST_NAME:35357

memcached_servers = $HOST_NAME:11211

auth_type = password

project_domain_name = $DOMAIN_NAME

user_domain_name = $DOMAIN_NAME

project_name = service

username = swift

password = $SWIFT_PASS

delay_auth_decision = True

[filter:keystoneauth]

use = egg:swift#keystoneauth

operator_roles = admin,user

[filter:healthcheck]

use = egg:swift#healthcheck

[filter:cache]

memcache_servers = $HOST_NAME:11211

use = egg:swift#memcache

[filter:ratelimit]

use = egg:swift#ratelimit

[filter:domain_remap]

use = egg:swift#domain_remap

[filter:catch_errors]

use = egg:swift#catch_errors

[filter:cname_lookup]

use = egg:swift#cname_lookup

[filter:staticweb]

use = egg:swift#staticweb

[filter:tempurl]

use = egg:swift#tempurl

[filter:formpost]

use = egg:swift#formpost

[filter:name_check]

use = egg:swift#name_check

[filter:list-endpoints]

use = egg:swift#list_endpoints

[filter:proxy-logging]

use = egg:swift#proxy_logging

[filter:bulk]

use = egg:swift#bulk

[filter:slo]

use = egg:swift#slo

[filter:dlo]

use = egg:swift#dlo

[filter:container-quotas]

use = egg:swift#container_quotas

[filter:account-quotas]

use = egg:swift#account_quotas

[filter:gatekeeper]

use = egg:swift#gatekeeper

[filter:container_sync]

use = egg:swift#container_sync

[filter:xprofile]

use = egg:swift#xprofile

[filter:versioned_writes]

use = egg:swift#versioned_writes

8.5 创建账号、容器、对象

存储节点存储磁盘名称以sdb为例

swift-ring-builder account.builder create 18 1 1

swift-ring-builder account.builder add --region 1 --zone 1 --ip $STORAGE_LOCAL_NET_IP --port 6002 --device $OBJECT_DISK --weight 100

swift-ring-builder account.builder

swift-ring-builder account.builder rebalance

swift-ring-builder container.builder create 10 1 1

swift-ring-builder container.builder add --region 1 --zone 1 --ip $STORAGE_LOCAL_NET_IP --port 6001 --device $OBJECT_DISK --weight 100

swift-ring-builder container.builder

swift-ring-builder container.builder rebalance

swift-ring-builder object.builder create 10 1 1

swift-ring-builder object.builder  add --region 1 --zone 1 --ip $STORAGE_LOCAL_NET_IP --port 6000 --device $OBJECT_DISK --weight 100 

swift-ring-builder object.builder

swift-ring-builder object.builder rebalance

8.6 编辑/etc/swift/swift.conf文件

编辑如下

[swift-hash]

swift_hash_path_suffix = changeme

swift_hash_path_prefix = changeme

[storage-policy:0]

name = Policy-0

default = yes

aliases = yellow, orange

[swift-constraints]

8.7 启动服务和赋予权限

chown -R root:swift /etc/swift

systemctl enable openstack-swift-proxy.service memcached.service

systemctl restart openstack-swift-proxy.service memcached.service

8.8 安装软件包

#Compute节点

存储节点存储磁盘名称以sdb为例

# yum install xfsprogs rsync openstack-swift-account openstack-swift-container openstack-swift-object -y

# mkfs.xfs -i size=1024 -f /dev/sdb

# echo "/dev/sdb /swift/node xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab

# mkdir -p /swift/node/sdb

# mount /dev/sdb /swift/node/sdb

# scp controller:/etc/swift/*.ring.gz /etc/swift/

8.9 配置rsync

1)编辑/etc/rsyncd.conf文件如下

pid file = /var/run/rsyncd.pid

log file = /var/log/rsyncd.log

uid = swift

gid = swift

address = 127.0.0.1

[account]

path            = /swift/node

read only       = false

write only      = no

list            = yes

incoming chmod  = 0644

outgoing chmod  = 0644

max connections = 25

lock file =     /var/lock/account.lock

[container]

path            = /swift/node

read only       = false

write only      = no

list            = yes

incoming chmod  = 0644

outgoing chmod  = 0644

max connections = 25

lock file =     /var/lock/container.lock

[object]

path            = /swift/node

read only       = false

write only      = no

list            = yes

incoming chmod  = 0644

outgoing chmod  = 0644

max connections = 25

lock file =     /var/lock/object.lock

[swift_server]

path            = /etc/swift

read only       = true

write only      = no

list            = yes

incoming chmod  = 0644

outgoing chmod  = 0644

max connections = 5

lock file =     /var/lock/swift_server.lock

2)启动服务

# systemctl enable rsyncd.service

#systemctl restart rsyncd.service

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

离陌殇殃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值