配置好openstack swift怎样用

 我来答
xiangjuan314
2016-04-14 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2924万
展开全部
创建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/*
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式