文章目录
swift被设计运行在存储磁盘上不推荐使用raid,使用raid5和6之后,严重影响性能**
12.1 swift数据库
对象存储服务不使用控制节点上的SQL数据库。而是使用在每个存储节点的分布式SQLite数据库
12.2 在keystone注册swift
12.2.1 在keystone创建swift用户
openstack user create --domain default --password=swift swift
12.2.2 在keystone上把swift用户添加到test项目admin权限
openstack role add --project test --user swift admin
12.2.3 创建swift存储服务
openstack service create --name swift --description "OpenStack Object Storage" object-store
12.2.4 创建swift的api服务
openstack endpoint create --region RegionOne object-store public http://controller:8080/v1/AUTH_%\(tenant_id\)s
openstack endpoint create --region RegionOne object-store internal http://controller:8080/v1/AUTH_%\(tenant_id\)s
openstack endpoint create --region RegionOne object-store admin http://controller:8080/v1
[root@controller ~]# openstack endpoint list|grep swift
| 06d443363315482d8bd98aef6d3c5f52 | RegionOne | swift | object-store | True | internal | http://controller:8080/v1/AUTH_%(tenant_id)s |
| 4c25bebfa81a4e1587f0c19721ee8a93 | RegionOne | swift | object-store | True | public | http://controller:8080/v1/AUTH_%(tenant_id)s |
| a4478a0ebbf843b1a25d2937a38c8800 | RegionOne | swift | object-store | True | admin | http://controller:8080/v1 |
12.3 安装swift
yum install openstack-swift-proxy python-swiftclient python-keystoneclient python-keystonemiddleware -y
12.4 swift配置
12.4.1 从对象存储的仓库源中获取代理服务的配置文件
curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/rocky
12.4.2 修改swift配置
openstack-config --set /etc/swift/proxy-server.conf DEFAULT user swift
openstack-config --set /etc/swift/proxy-server.conf DEFAULT swift_dir /etc/swift
openstack-config --set /etc/swift/proxy-server.conf pipeline:main "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 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 auth_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_name default
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken user_domain_name default
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken project_name test
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken username swift
openstack-config --set /etc/swift/proxy-server.conf filter:authtoken password swift
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