本文是参照文档:http://swift.openstack.org/howto_installmultinode.html
http://www.openstack.org.cn/bbs/forum.php?mod=viewthread&tid=264
实验环境:4台ESXi上的ubuntu-11.04-server-i386 虚拟机,每个存储节点上多有10G虚拟存储/dev/sdb
个人感觉官方配置文档中的,通用配置部分,下面两句容易引起歧义,可以忽略
| export STORAGE_LOCAL_NET_IP=10.1.2.3 export PROXY_LOCAL_NET_IP=10.1.2.4 |
perl -pi -e "s/-l 127.0.0.1/-l 192.168.1.37/" /etc/memcached.conf
Vim /etc/proxy-server.conf
| [DEFAULT] cert_file = /etc/swift/cert.crt key_file = /etc/swift/cert.key bind_port = 443 workers = 8 user = root [pipeline:main] pipeline = healthcheck cache swauth proxy-server [app:proxy-server] use = egg:swift#proxy allow_account_management = true [filter:swauth] use = egg:swauth#swauth default_swift_cluster = local#https://192.168.1.37:443/v1 super_admin_key = password [filter:healthcheck] use = egg:swift#healthcheck [filter:cache] use = egg:swift#memcache memcache_servers = 192.168.1.37:11211 |
Vim ring.sh
| #!/bin/bash a=1 swift-ring-builder account.builder create 18 $a 1 swift-ring-builder container.builder create 18 $a 1 swift-ring-builder object.builder create 18 $a 1 echo "swift-ring-builder 18 $a 1 done" |
注a 表示为备份数目
Vim addring.sh
| #!/bin/bash ip=192.168.1.60 z=2 export ZONE=$z export STORAGE_LOCAL_NET_IP=$ip export WEIGHT=100 export DEVICE=sdb1 swift-ring-builder account.builder add z$ZONE-$STORAGE_LOCAL_NET_IP:6002/$DEVICE $WEIGHT swift-ring-builder container.builder add z$ZONE-$STORAGE_LOCAL_NET_IP:6001/$DEVICE $WEIGHT swift-ring-builder object.builder add z$ZONE-$STORAGE_LOCAL_NET_IP:6000/$DEVICE $WEIGHT |
备注:ip 和z选项需对应变化,
如ip=192.168.1.69, z=0; ip=192.168.1.82,z=1; ip=192.168.1.60,z=2
表示每台服务器对应一个zone。
Vim verify.sh
| #!/bin/bash swift-ring-builder account.builder swift-ring-builder container.builder swift-ring-builder object.builder |
Vim rebalance.sh
| #!/bin/bash swift-ring-builder account.builder rebalance swift-ring-builder container.builder rebalance swift-ring-builder object.builder rebalance |
所有的存储节点配置大径相同,本文以Storage1:192.168.1.69为例
1.必要存储节点安装包
apt-get install swift-account swift-container swift-object xfsprogs
2创建XFS卷
| fdisk /dev/sdb mkfs.xfs -i size=1024 /dev/sdb1 echo "/dev/sdb1 /srv/node/sdb1 xfs noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab mkdir -p /srv/node/sdb1 mount /srv/node/sdb1 chown -R swift:swift /srv/node |
注:我做实验的时候改成chown –R root:root /srv/node ,会出现错误
| root@swift-proxy:/usr/src/lyq/swauth# swauth-prep -K password |
Vim /etc/rsyncd.conf
| uid = root gid = root log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid address = 192.168.1.69 [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 |
vim account-server.conf
| [DEFAULT] bind_ip = 192.168.1.69 workers = 2 [pipeline:main] pipeline = account-server [app:account-server] use = egg:swift#account [account-replicator] [account-auditor] [account-reaper] |
vim container-server.conf
| [DEFAULT] bind_ip = 192.168.1.69 workers = 2 [pipeline:main] pipeline = container-server [app:container-server] use = egg:swift#container [container-replicator] [container-updater] [container-auditor] |
vim object-server.conf
| [DEFAULT] bind_ip = 192.168.1.69 workers = 2 [pipeline:main] pipeline = object-server [app:object-server] use = egg:swift#object [object-replicator] [object-updater] [object-auditor] |
注:与上述的过程类似,可以成功的将所有的服务多装在任一台机器上,这就和官网上的SAIO的功能相同了,而且比官网的配置过程简单
本文详细介绍了在Ubuntu环境下使用OpenStack Swift进行多节点部署的步骤,包括配置代理节点、存储节点,以及安装相关软件包、创建XFS卷、配置rsync等关键操作。教程覆盖了从拓扑图构建到最终验证部署状态的全过程,适用于希望搭建OpenStack Swift存储集群的开发者。

&spm=1001.2101.3001.5002&articleId=8225993&d=1&t=3&u=68b669b6c6af47a9befef08897ce4582)
1万+

被折叠的 条评论
为什么被折叠?



