版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ywmack/article/details/81538925
openstack 版本为Q版
服务器系统:centos7
控制节点:192.168.50.31
swift存储节点: 192.168.50.32
swift存储节点: 192.168.50.33
swift存储节点: 192.168.50.33
所有存储节点操作:
#安装相关软件
yum install xfsprogs rsync
#格式化对应分区
mkfs.xfs /dev/sdc1
#创建文件夹
mkdir -p /swift/node/sdc1
#fstab挂载磁盘
vim /etc/fstab
/dev/sdc1 /swift/node/sdc1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
# mount挂载
mount /dev/sdc1 /swift/node/sdc1
# 编辑配置文件
vim /etc/rsyncd.conf
uid = swift
gid = swift
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
address = 192.168.50.32(这里有几台 就写能对应的IP地址)
[account]
max connections = 2
path = /swift/node/
read only = False
lock file = /var/lock/account.lock
[container]
max connections = 2
path = /swift/node/
read only = False
lock file = /var/lock/container.lock
[object]
max connections = 2
path = /swift/node/
read only = False
lock file = /var/lock/object.lock
# 配置服务
systemctl enable rsyncd.service
systemctl start rsyncd.service
# 安装swift
yum install openstack-swift-account openstack-swift-container \
openstack-swift-object
# 下载替换配置文件
curl -o /etc/swift/account-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/account-server.conf-sample?h=stable/queens
curl -o /etc/swift/container-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/container-server.conf-sample?h=stable/queens
curl -o /etc/swift/object-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/object-server.conf-sample?h=stable/queens
# 编辑配置文件account-server.conf
vim /etc/swift/account-server.conf
[DEFAULT]
bind_ip = 192.168.50.32(对应存储节点的IP)
bind_port = 6202
user = swift
swift_dir = /etc/swift
devices = /swift/node/
mount_check = True
[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift
# 编辑配置文件container-server.conf
vim /etc/swift/container-server.conf
[DEFAULT]
bind_ip = 192.168.50.32(对应存储节点的IP)
bind_port = 6201
user = swift
swift_dir = /etc/swift
devices = /swift/node/
mount_check = True
[pipeline:main]
pipeline = healthcheck recon container-server
[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift
# 编辑配置文件object-server.conf
vim /etc/swift/object-server.conf
[DEFAULT]
bind_ip = 192.168.50.32(对应存储节点的IP)
bind_port = 6200
user = swift
swift_dir = /etc/swift
devices = /swift/node/
mount_check = True
[pipeline:main]
pipeline = healthcheck recon object-server
[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift
recon_lock_path = /var/lock
# 创建文件夹 并设置权限
chown -R swift:swift /swift/node/
mkdir -p /var/cache/swift
chown -R root:swift /var/cache/swift
chmod -R 775 /var/cache/swift
# 在控制节点操作
cd /etc/swift 在/etc/swift目录下面操作
swift-ring-builder account.builder create 10 3 1
swift-ring-builder account.builder add \
--region 1 --zone 1 --ip 192.168.50.32 --port 6202 --device sdc1 --weight 100
swift-ring-builder account.builder add \
--region 1 --zone 1 --ip 192.168.50.33 --port 6202 --device sdc1 --weight 100
swift-ring-builder account.builder add \
--region 1 --zone 1 --ip 192.168.50.34 --port 6202 --device sdc1 --weight 100
swift-ring-builder account.builder
swift-ring-builder account.builder rebalance
swift-ring-builder container.builder create 10 3 1
swift-ring-builder container.builder add \
--region 1 --zone 1 --ip 192.168.50.32 --port 6201 --device sdc1 --weight 100
swift-ring-builder container.builder add \
--region 1 --zone 1 --ip 192.168.50.33 --port 6201 --device sdc1 --weight 100
swift-ring-builder container.builder add \
--region 1 --zone 1 --ip 192.168.50.34 --port 6201 --device sdc1 --weight 100
swift-ring-builder container.builder
swift-ring-builder container.builder rebalance
swift-ring-builder object.builder create 10 3 1
swift-ring-builder object.builder add \
--region 1 --zone 1 --ip 192.168.50.32 --port 6200 --device sdc1 --weight 100
swift-ring-builder object.builder add \
--region 1 --zone 1 --ip 192.168.50.33 --port 6200 --device sdc1 --weight 100
swift-ring-builder object.builder add \
--region 1 --zone 1 --ip 192.168.50.34 --port 6200 --device sdc1 --weight 100
swift-ring-builder object.builder
swift-ring-builder object.builder rebalance
#把/etc/swift的gz文件复制到另外两台
scp /etc/swift/*.gz [email protected]:/etc/swift
scp /etc/swift/*.gz [email protected]:/etc/swift
scp /etc/swift/*.gz [email protected]:/etc/swift
# 下载替换配置文件
curl -o /etc/swift/swift.conf \
https://git.openstack.org/cgit/openstack/swift/plain/etc/swift.conf-sample?h=stable/queens
vim /etc/swift/swift.conf
[swift-hash]
swift_hash_path_suffix = jzdata
swift_hash_path_prefix = jzdata
[storage-policy:0]
name = Policy-0
default = yes
#把/etc/swift的swift.conf文件复制到另外两台
scp /etc/swift/swift.conf [email protected]:/etc/swift
scp /etc/swift/swift.conf [email protected]:/etc/swift
scp /etc/swift/swift.conf [email protected]:/etc/swift
# 配置服务
systemctl enable openstack-swift-proxy.service memcached.service
systemctl restart openstack-swift-proxy.service memcached.service
所有存储节点执行:
# 给/etc/swift 加权限
chown -R root:swift /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 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 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