Swift安装和配置

来源:互联网 发布:java socket链接不上 编辑:程序博客网 时间:2024/06/01 08:51

Swift对象存储服务组件利用标准的x86架构服务器组成集群,提供具备冗余性和可扩展性的数据存储,它属于持久性存储,可以长久保存数据,支持对数据的检索和更新功能。swift对象存储服务组件使用分布式架构,没有控制单点,提供更高的冗余性和扩展性,数据被保存到多个主机节点的多个硬件设备上,由软件负责进行数据复制和数据容错,当主机节点不可用时,该主机节点上的数据会自动复制到其他可用的主机节点上。

一,控制节点的安装和配置

在控制节点上安装和配置Proxy服务,可以处理Account、Container和Object在存储节点上的请求。

1)准备

在Openstack项目中,Proxy服务依赖于keystone身份认证服务组件,需要keystone身份认证服务组件提供的认证和授权机制。

Swift对象存储不使用控制节点的SQL数据库,而是使用每个存储节点上分布式SQLite数据库。

(1)加载admin user 的环境变量

(2)创建Identity服务凭据

1,创建Swift用户

2,将admin role赋予swift user和service project

3,创建swift service entity

4,创建Swift对象存储服务组件的API endpoint

2)安装和配置swift对象存储服务组件

(1)安装软件包

(2)编辑/etc/swift/proxy-server.conf文件,完成以下操作

1,在[DEFAULT]项,配置Swift对象存储服务组件使用的端口、用户和配置路径

2,在[pipeline:main]项,启用相关的模块

3,在[app:proxy-server]项,启用自动账户创建

4,在[filter:keystoneauth]项,配置操作用户角色

5,在[filter:authtoken]项,配置keystone身份认证服务组件访问

6,在[filter:cache]项,配置MemCached的访问路径

二,存储节点的安装和配置

1)准备

Swift对象存储服务组件要求至少有两个存储节点,支持横向扩展,在本例中采用两个存储节点,每个存储节点包含两个块存储设备,分别是/dev/sdb和/dev/sdc。选择使用XFS文件系统

(1)安装软件包(XFSprogs)

(2)格式化/dev/sdb和/dev/sdc块存储设备为XFS

(3)创建挂载点

(4)编辑/etc/fstab文件,添加一些必要内容

(5)挂在文件系统

(6)编辑/etc/rsyncd.conf文件,添加以下内容

(7)启动rsyncd服务并设置为开机自启动

2)安装和配置Swift对象存储服务组件

(1)安装软件包

(2)编辑/etc/swift/account-server.conf文件,完成以下修改

1,在[DEFAULT]项,配置Account使用的IP地址、端口、用户、配置路径和挂载点。

2,在[pipeline:main]项,启动相关的功能模块

3,在[filter:recon]项,配置recon缓存目录

(3)编辑/etc/swift/contain-server.conf文件,完成以下操作

1,在[DEFAULT]项,配置Container使用的IP地址,端口、用户、配置路径和挂载点

2,在[pipe:main],启动相关功能模块

3,在[filter:recon],配置recon缓存目录

(4)编辑/etc/swift/object-server.conf文件,完成以下操作

1,在[DEFAULT]项,配置Object使用的IP地址,端口、用户、配置路径和挂载点

2,在[pipe:main],启动相关功能模块

3,在[filter:recon],配置recon缓存目录

(5)设置官灾点的属主

(6)创建rcon目录并设置属主

以下操作均在控制节点进行

3)创建Account Ring

Account服务器使用Account Ring维护多个Container

(1)创建/etc/swift/account.builder文件

(2)为Account Ring添加存储节点

(3)确认Ring的内容

(4)重平衡Ring

4)创建Container Ring

Container服务器使用Container Ring维护多个Object,但是Container不能确定Object位置

(1)创建/etc/swift/container.builder文件

(2)为Account Ring添加存储节点

(3)确认Ring的内容

(4)重平衡Ring

5)创建Object Ring

Object 服务器使用Object Ring维护Object的位置信息

(1)创建/etc/swift/object.builder文件

(2)为Account Ring添加存储节点

(3)确认Ring的内容

(4)重平衡Ring

6)分发Ring配置文件

复制控制节点上的/etc/swift/account.ring.gz、/etc/swift/container.ring.gz、/etc/swift/object.ring.gz文件到每个存储节点的/etc/swift目录下,后续添加新的存储节点,每个运行Proxy服务的存储节点都需要执行此操作


0 0