OpenStack(Stein)安装Swift

本文档详细介绍了在OpenStack Stein环境下,如何在CentOS 7系统上安装和配置Swift存储服务。内容涵盖环境准备、控制节点和存储节点的安装步骤,包括分区、回环设备的使用、创建及同步ring文件,以及安装后的验证和多用户配置。在安装过程中,遇到了回环设备创建失败、ring文件未持久化和端口冲突等问题,并提供了相应的解决办法。
摘要由CSDN通过智能技术生成

环境

  • Openstack Stein
  • CentOS 7

不知道怎么搭建环境的,点击这里看我的文章

安装

分为控制节点和存储节点
Object Storage Install Guide

控制节点

Install and configure the controller node for Red Hat Enterprise Linux and CentOS
主要用我的脚本执行就好,有什么步骤可以参考链接官网。
需要提前准备好proxy-server.conf、account-server.conf、container-server.conf、object-server.conf和swift.conf

Region="RegionThree"
password="swift"
username="swift"

#config openstack
openstack user create --domain default --password $password $username
openstack role add --project service --user $username admin
echo 'swift user created successfully'
openstack service create --name swift --description "OpenStack Object Storage" object-store
echo 'swift service created successfully'
openstack endpoint create --region $Region object-store public http://controller:8080/v1/AUTH_%\(project_id\)s
openstack endpoint create --region $Region object-store internal http://controller:8080/v1/AUTH_%\(project_id\)s
openstack endpoint create --region $Region object-store admin http://controller:8080/v1
echo 'swift endpoints created successfully'
#install
yum install openstack-swift-proxy python-swiftclient python-keystoneclient python-keystonemiddleware memcached
cp proxy-server.conf /etc/swift/proxy-server.conf
#config proxy-server
openstack-config --set /etc/swift/proxy-server.conf DEFAULT bind_port 8080
openstack-config --set /etc/swift/proxy-server.conf DEFAULT user $username
openstack-config --set /etc/swift/proxy-server.conf DEFAULT swift_dir /etc/swift
openstack-config --set /etc/swift/proxy-server.conf 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'
openstack-config --set /etc/swift/proxy-server.conf app:proxy-server use egg:swift#proxy
openstack-config --set /etc/swift/proxy-server.conf app:proxy-server account_autocreate True
openstack-config --set /etc/swift/proxy-server.conf filter:keystoneauth use egg:swift#keystoneauth
openstack-config --set /etc/swift/proxy-server.conf filter:keystoneauth operator_roles admin,user

openstack-config --set /etc/swift/proxy-server.conf filter:authtoken paste.filter_factory keystonemiddleware.auth_token:filter_factory
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken www_authenticate_uri http://controller:5000
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken auth_url http://controller:35357
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken memcached_servers controller:11211
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken auth_type password
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken project_domain_id default
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken user_domain_id default
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken project_name service
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken username $username
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken password $password
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken delay_auth_decision True

openstack-config --set /etc/swift/proxy-server.conf filter:cache use egg:swift#memcache
openstack-config --set /etc/swift/proxy-server.conf filter:cache memcache_servers controller:11211
echo 'config proxy-server.conf modified successfully'

存储节点

这里我觉得问题主要是如何分区的问题,swift好像需要一个单独的分区,和cinder看起来还不太一样,更麻烦一点。
点击这里查看官网:SAIO - Swift All In One,显然还是推荐用两块硬盘,还不知道单独分区应该怎么弄好,我知道单独分区怎么弄了
这里可以使用loopdevice回环设备作为存储设备,即将文件系统上的一片空间虚拟为一块设备。

使用分区

我在创建系统的时候给了一个分区,/swiftvdisk,是/dev/nvme0n1p3不知道可不可以用这个直接整。
直接修改/etc/fstab

#UUID=bfb64256-2078-414b-9278-894f5b8d4d1e /swiftvdisk             xfs     defaults        0 0
/dev/nvme0n1p3 /swiftvdisk/node/nvme0n1p3 xfs noatime,nodiratime,nobarrier,logbufs=8 0 2

执行如下命令重新挂载

umount /swiftvdisk
mkdir -p /swiftvdisk/node/nvme0n1p3
mount /swiftvdisk/node/nvme0n1p3
安装OpenStack Swift,您可以按照以下步骤进行操作: 1. 在控制节点上复制swift.conf文件到/etc/swift/swift.conf,并覆盖原有文件。同样,您也需要将该文件复制到存储节点上。 2. 编辑swift.conf文件,在[swift-hash]部分中添加以下两行配置: swift_hash_path_suffix = swift swift_hash_path_prefix = swift 3. 执行以下命令克隆Swift代码库到您的系统中: git clone https://github.com/openstack/swift.git 4. 安装Swift和python-swiftclient的程序文件。这些文件会被安装在以下目录下: - /usr/local/lib/python2.7/dist-packages - /usr/share/pyshared - /usr/bin - /usr/local/bin 完成以上步骤后,您就成功安装OpenStack Swift。请注意,这只是一个简单的安装过程示例,具体的安装步骤可能会因操作系统版本、配置需求等因素而有所不同。建议您参考官方文档或相关资料以获取更详细的安装指南。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [OpenStackStein安装Swift](https://blog.csdn.net/qq_41037945/article/details/115143251)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [OpenStack Swift All In One安装部署流程与简单使用](https://blog.csdn.net/weixin_30952535/article/details/94910849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值