十一、openstack云平台搭建Swift

 十一、安装和配置Swift

1.检查分区情况

这个搭建方法有些许问题,最后启动不了,如果要完全搭建成功,移步右边蓝色链接脚本化搭建swift

2.控制节点安装与配置

说明:使用/dev/sdb2/dev/sdb3作为swift设备。

(1)创建用户、角色和服务

openstack user create --domain default --password "000000" swift

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

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

(2)创建Endpoints

openstack endpoint create --region RegionOne object-store public http://controller:8080/v1/AUTH_%\(project_id\)s

openstack endpoint create --region RegionOne object-store internal http://controller:8080/v1/AUTH_%\(project_id\)s

openstack endpoint create --region RegionOne object-store admin http://controller:8080/v1

(3)安装软件

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

(4)配置proxy-server

复制配置文件

chmod 640 /etc/swift/proxy-server.conf

修改配置文件/etc/swift/proxy-server.conf

vim /etc/swift/proxy-server.conf

[DEFAULT](添加)

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 versioned_writes proxy-logging proxy-server

关键词搜 filter:keystone

将下面内容注释掉

[filter:keystoneauth]

[filter:keystoneauth]
use = egg:swift#keystoneauth

operator_roles = admin,user

[filter:authtoken]

paste.filter_factory = keystonemiddleware.auth_token:filter_factory

www_authenticate_uri = http://controller:5000

auth_url = http://controller:5000

memcached_servers = controller:11211

auth_type = password

project_domain_id = default

user_domain_id = default

project_name = service

username = swift

password = 000000

delay_auth_decision = True

[filter:cache] 把原本的ip改为controller

use = egg:swift#memcache

memcache_servers = controller:11211

3.对象存储节点(Compute)的安装与配置

(1)安装和配置rsyncd

安装软件

yum install -y xfsprogs rsync

准备磁盘和挂载(根据自己分区情况改)

mkfs.xfs /dev/sdb2
mkfs.xfs /dev/sdb3
mkdir -p /srv/node/sdb2
mkdir -p /srv/node/sdb3

 修改配置(找不到文件/进入的是新文件就不保存退出:q!用补全的方式手打进去)

vim /etc/fstab

 添加下面内容,sdb2-3是根据自己的情况改

/dev/sdb2 /srv/node/sdb2 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2

/dev/sdb3 /srv/node/sdb3 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2

       保存退出后

挂载分区(也是根据自己情况改)

mount /srv/node/sdb2

mount /srv/node/sdb3

配置syncd(计算节点compute的ip)

vim /etc/rsyncd.conf
uid = swift

gid = swift

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

address = 192.168.200.20
[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

保存退出

启动rsyncd服务

systemctl enable rsyncd.service

systemctl start rsyncd.service

(2)安装Swift组件

安装软件

yum -y install openstack-swift-account openstack-swift-container openstack-swift-object

复制account-server、container-server和object-server的配置文件

chmod 640 /etc/swift/account-server.conf
chmod 640 /etc/swift/container-server.conf
chmod 640 /etc/swift/object-server.conf

修改  第一项   account-server的配置文件

vim /etc/swift/account-server.conf

[DEFAULT](计算节点ip)

bind_ip = 192.168.200.20

bind_port = 6202

user = swift

swift_dir = /etc/swift

devices = /srv/node

mount_check = True

[pipeline:main](先注释原本的)

pipeline = healthcheck recon account-server

[filter:recon]    (这步完成后保存退出)

[filter:recon]  
use = egg:swift#recon

recon_cache_path = /var/cache/swift

修改   第二项  container-server的配置文件

vim /etc/swift/container-server.conf

[DEFAULT](计算节点compute的ip)

bind_ip = 192.168.200.20

bind_port = 6201

user = swift

swift_dir = /etc/swift

devices = /srv/node

mount_check = True

[pipeline:main](先注释原本的)

pipeline = healthcheck recon container-server

[filter:recon](最后面添加)

[filter:recon]
use = egg:swift#recon

recon_cache_path = /var/cache/swift

修改  第三项    object-server的配置文件

vim /etc/swift/object-server.conf

[DEFAULT]  (计算节点ip)

bind_ip = 192.168.200.20

bind_port = 6200

user = swift

swift_dir = /etc/swift

devices = /srv/node

mount_check = True

[pipeline:main](注释原本的后添加)

pipeline = healthcheck recon object-server

[filter:recon](最后面添加,相比前两项多了一行)

[filter:recon]
use = egg:swift#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 root:swift /var/cache/swift

chmod -R 775 /var/cache/swift

(3)生成环

生成--账户环

(计算节点ip)(根据自己实际的分区是sdb还是sdc)

cd /etc/swift
swift-ring-builder account.builder create 8 2 1
swift-ring-builder account.builder add --region 1 --zone 1 \
--ip 192.168.200.20 --port 6202 --device sdb2 --weight 100
swift-ring-builder account.builder add --region 1 --zone 1 \
--ip 192.168.200.20 --port 6202 --device sdb3 --weight 100

如果出现下面这种错误,是因为没有打swift-ring-builder account.builder create 8 2 1这个

验证环

swift-ring-builder account.builder

平衡环

swift-ring-builder account.builder rebalance
生成--容器环
cd /etc/swift
swift-ring-builder container.builder create 8 2 1

计算节点ip跟自己实际分区sdb或sdc

swift-ring-builder container.builder add --region 1 --zone 1 \
--ip 192.168.200.20 --port 6201 --device sdb2 --weight 100
swift-ring-builder container.builder add --region 1 --zone 1 \
--ip 192.168.200.20 --port 6201 --device sdb3 --weight 100

验证环

swift-ring-builder container.builder

平衡环

swift-ring-builder container.builder rebalance

生成--对象环
cd /etc/swift
swift-ring-builder object.builder create 8 2 1
swift-ring-builder object.builder add --region 1 --zone 1 \
--ip 192.168.200.20 --port 6200 --device sdb2 --weight 100
swift-ring-builder object.builder add --region 1 --zone 1 \
--ip 192.168.200.20 --port 6200 --device sdb3 --weight 100

验证环

swift-ring-builder object.builder

平衡环

swift-ring-builder object.builder rebalance

(4)分发环

将account.ring.gz、container.ring.gz、 object.ring.gz复制到所有节点(包括存储节点和控制节点)的 /etc/swift目录下。

scp /etc/swift/account.ring.gz controller:/etc/swift/.

 yes   输入密码

scp /etc/swift/container.ring.gz controller:/etc/swift/.

输入密码即可

scp /etc/swift/object.ring.gz controller:/etc/swift/.

 密码

controller节点ls /etc/swift可以看到已经传过来了

(5)最后配置

(1)复制配置文件compute节点
chmod 640 /etc/swift/swift.conf
(2)修改配置文件
vim /etc/swift/swift.conf

[swift-hash]

swift_hash_path_suffix = HASH_PATH_SUFFIX

swift_hash_path_prefix = HASH_PATH_PREFIX
[storage-policy:0]
name = Policy-0

default = yes

(3)分发配置文件   在compute节点中

把 swift.conf文件复制到 所有节点(包括存储节点和控制节点)的/etc/swift目录。

chown -R root:swift /etc/swift

 传到controller节点

scp /etc/swift/swift.conf controller:/etc/swift/swift.conf

输入密码

(4)在控制节点controller运行
systemctl enable openstack-swift-proxy.service memcached
systemctl start openstack-swift-proxy.service memcached.service
(5)在存储节点compute运行

1

systemctl enable openstack-swift-account \
openstack-swift-account-auditor \
openstack-swift-account-reaper.service \
openstack-swift-account-replicator.service

 2

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

 3

systemctl enable openstack-swift-container.service \
openstack-swift-container-auditor.service \
openstack-swift-container-replicator.service \
openstack-swift-container-updater.service

 4

systemctl start openstack-swift-container.service \
openstack-swift-container-auditor.service \
openstack-swift-container-replicator.service \
openstack-swift-container-updater.service

 5

systemctl enable openstack-swift-object.service \
openstack-swift-object-auditor.service \
openstack-swift-object-replicator.service \
openstack-swift-object-updater.service

 6

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

4.验证

在控制节点controller

swift stat
openstack container create container1
openstack object create container1 FILE
openstack object list container1
openstack object save container1 FILE

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
OpenStack是一款开源的云计算平台,可以用于构建公共云、私有云和混合云。OpenStack包含多个服务组件,包括计算、存储、网络、身份认证和图像等服务。 以下是搭建OpenStack云平台的基本步骤: 1. 安装操作系统:选择一款适合OpenStack的操作系统,如Ubuntu Server、CentOS等,并进行基本设置和网络配置。 2. 安装数据库:OpenStack需要使用数据库来存储配置信息和状态信息,常用的数据库有MySQL、MariaDB等,安装并配置好数据库。 3. 安装消息队列:OpenStack使用消息队列来进行各个服务组件之间的通信,常用的消息队列有RabbitMQ、ZeroMQ等,安装并配置好消息队列。 4. 安装身份认证服务:OpenStack需要使用身份认证服务来管理用户、角色和权限等,常用的身份认证服务有Keystone、LDAP等,安装并配置好身份认证服务。 5. 安装计算服务:OpenStack需要使用计算服务来管理虚拟机实例,常用的计算服务有Nova、KVM等,安装并配置好计算服务。 6. 安装存储服务:OpenStack需要使用存储服务来管理数据存储,常用的存储服务有Swift、Ceph等,安装并配置好存储服务。 7. 安装网络服务:OpenStack需要使用网络服务来管理网络连接,常用的网络服务有Neutron、Open vSwitch等,安装并配置好网络服务。 8. 安装图像服务:OpenStack需要使用图像服务来管理虚拟机镜像,常用的图像服务有Glance、Cinder等,安装并配置好图像服务。 9. 配置相关文件:对于每个服务组件,需要进行相应的配置文件修改,以实现各个服务组件之间的协同工作。 10. 测试OpenStack云平台:安装完成后,可以使用OpenStack提供的Dashboard或者API进行测试,以确保OpenStack云平台的正常运行。 以上是OpenStack云平台搭建的基本步骤,具体步骤和操作细节可以参考OpenStack的官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

想你的夜耶耶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值