栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

openstack安装之对象存储安装笔记

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

openstack安装之对象存储安装笔记

1、控制节点操作

1.1、先决条件

设置 admin 凭证

获得 admin 凭证来获取只有管理员能执行的命令的访问权限,执行如下命令:

. /root/admin-openrc

创建身份认证服务的凭证

创建 swift 用户(密码设置为:zhitu2017):

openstack user create --domain default --password-prompt swift

给 swift 用户添加 admin 角色:

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

创建 swift 服务实体:

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

创建对象存储服务API入口点,命令如下(依次执行三条命令):

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

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

 

1.2、安装并配置组件

安装Swift及相关包

命令如下:

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

 

获取代理服务的配置文件

将最新的代理服务的配置文件覆盖到/etc/swift目录,命令如下:

cp /usr/local/zhitu/swift/proxy-server.conf /etc/swift/proxy-server.conf

修改代理服务的配置文件proxy-server.conf

执行如下命令编辑/etc/swift/proxy-server.conf:

vi /etc/swift/proxy-server.conf

在文件中[DEFAULT]块下配置绑定端口,用户和配置目录:

bind_port = 8080

user = swift

swift_dir = /etc/swift

在文件中[pipeline:main]块删除tempurl和tempauth模块并增加authtoken和keystoneauth模块,也就是将原来的pipeline修改为如下: 

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

 

在文件中[app:proxy-server]块下启动自动账户创建:

use = egg:swift#proxy

account_autocreate = true

在文件中[filter:keystoneauth]块下配置操作员角色:

取消[filter:keystoneauth]注释

use = egg:swift#keystoneauth

operator_roles = admin,user

在文件中[filter:authtoken]块下配置认证服务访问(注释或者删除掉在 [filter:authtoken] 部分的所有其他的内容,放开[filter:authtoken]本身的注释):注意ip换成实验环境所提供的的

[filter:authtoken] 

paste.filter_factory = keystonemiddleware.auth_token:filter_factory

auth_uri = http://10.10.82.135:5000

auth_url = http://10.10.82.135:35357

memcached_servers = 10.10.82.135:11211

auth_type = password

project_domain_id = default

user_domain_id = default

project_name = service

username = swift

password = zhitu2017

delay_auth_decision = True

 在文件中[filter:cache]块下配置 memcached 的位置:

2、存储节点(控制节点)操作:

2.1、先决条件

安装支持的工具包:

yum -y install xfsprogs rsync

使用XFS格式化/dev/sdb和/dev/sdc设备:

mkfs.xfs /dev/sdb

mkfs.xfs /dev/sdc

创建挂载点目录结构:

mkdir -p /srv/node/sdb

mkdir -p /srv/node/sdc

在文件下面添加如下内容:  

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

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

挂载设备

mount /srv/node/sdb

mount /srv/node/sdc

创建并编辑/etc/rsyncd.conf文件并包含以下内容:

vi /etc/rsyncd.conf

在文件下面添加如下内容:注意ip换成实验环境所提供的

uid = swift

gid = swift

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

address = 10.10.82.135

[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 start rsyncd.service

2.2、安装并配置组件

安装swift

执行如下命令安装:

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

将最新的配置文件覆盖到/etc/swift目录,命令如下:

cp /usr/local/zhitu/swift/account-server.conf /etc/swift/account-server.conf

cp /usr/local/zhitu/swift/container-server.conf /etc/swift/container-server.conf

​cp /usr/local/zhitu/swift/object-server.conf /etc/swift/object-server.conf

配置account-server.con

vi /etc/swift/account-server.conf

编辑文件,在[DEFAULT]块下加入配置绑定IP地址,绑定端口,用户,配置目录和挂载目录 :

bind_ip = 192.168.122.143

bind_port = 6202

user = swift

swift_dir = /etc/swift

devices = /srv/node

mount_check = True

编辑文件,在[pipeline:main]块下加入启用合适的模块:

 pipeline = healthcheck recon account-server

编辑文件,在[filter:recon]块下加入配置recon(meters)缓存目录: 

  use = egg:swift#recon

  recon_cache_path = /var/cache/swift

编辑文件,在[DEFAULT]块下加入配置绑定IP地址,绑定端口,用户,配置目录和挂载目录,

bind_ip = 192.168.122.143

bind_port = 6201

user = swift

swift_dir = /etc/swift

devices = /srv/node

mount_check = True

编辑文件,在[pipeline:main]块下加入启用合适的模块:

pipeline = healthcheck recon container-server

编辑文件,在[filter:recon]块下加入配置recon(meters)缓存目录:

use = egg:swift#recon

recon_cache_path = /var/cache/swift

编辑文件,在[DEFAULT]块下加入配置绑定IP地址,绑定端口,用户,配置目录和挂载目录 : 

bind_ip = 192.168.122.143

bind_port = 6200

user = swift

swift_dir = /etc/swift

devices = /srv/node

mount_check = True

编辑文件,在[pipeline:main]块下加入启用合适的模块: 

pipeline = healthcheck recon object-server

编辑文件,在[filter:recon]块下加入配置recon(meters)缓存和lock目录:

use = egg:swift#recon

recon_cache_path = /var/cache/swift

recon_lock_path = /var/lock

确认挂载点目录结构是否有合适的所有权:

chown -R swift:swift /srv/node

创建recon目录和确保它有合适的所有权:

mkdir -p /var/cache/swift

chown -R root:swift /var/cache/swift

chmod -R 775 /var/cache/swift

3、创建,分发并初始化rings

3.1、创建账户ring

帐户服务使用帐户 ring 来维护一个容器的列表。

进入/etc/swift目录

cd /etc/swift

创建基本 account.builder 文件:

swift-ring-builder account.builder create 10 2 1

添加每个节点到 ring 中:注意ip换成实验环境所提供的

​一个存储设备一条命令,注意替换存储节点的IP,实际应用中可以根据存储设备容量调整权重,比如把1T的存储设备权重设置为100,

则2T的可以设置为200:

swift-ring-builder account.builder add --region 1 --zone 1 --ip 192.168.122.143 --port 6202 --device sdb --weight 100

swift-ring-builder account.builder add --region 1 --zone 1 --ip 192.168.122.143 --port 6202 --device sdc --weight 100

 

验证 ring 的内容:

swift-ring-builder account.builder

平衡ring

swift-ring-builder account.builder rebalance

3.2、创建容器ring

进入/etc/swift目录

cd /etc/swift

创建基本object.builder文件:

swift-ring-builder container.builder create 10 2 1

添加每个节点到 ring 中:

一个存储设备一条命令,注意替换存储节点的IP:注意ip换成实验环境所提供的的

swift-ring-builder container.builder add --region 1 --zone 1 --ip 192.168.122.143 --port 6201 --device sdb --weight 100

​swift-ring-builder container.builder add --region 1 --zone 1 --ip 192.168.122.143 --port 6201 --device sdc --weight 100

验证 ring 的内容:

swift-ring-builder container.builder

平衡ring

swift-ring-builder container.builder rebalance

3.3、创建对象ring

进入/etc/swift目录

cd /etc/swift

创建基本 object.builder 文件:

swift-ring-builder object.builder create 10 2 1

添加每个节点到 ring 中:

一个存储设备一条命令,注意替换存储节点的IP:注意ip换成实验环境所提供的的

swift-ring-builder object.builder add --region 1 --zone 1 --ip 192.168.122.143 --port 6200 --device sdb --weight 100

​swift-ring-builder object.builder add --region 1 --zone 1 --ip 192.168.122.143 --port 6200 --device sdc --weight 100

验证 ring 的内容:

swift-ring-builder object.builder

平衡ring

swift-ring-builder object.builder rebalance

4、完成安装

4.1、获取/etc/swift/swift.conf文件

从对象存储源仓库中获取/etc/swift/swift.conf 文件,由于实验环境中不能联网,所以预先将swift的相关最新配置文件放在了/usr/local/zhitu/swift中。

将最新的swift.conf文件配置文件覆盖到/etc/swift目录,命令如下:输入y再回车

4.2、编辑swift.conf

执行如下命令:

vi /etc/swift/swift.conf

编辑文件,在[swift-hash]块下将其中的 swift_hash_path_suffix和 swift_hash_path_prefix替换为唯一的值。这些值可以自定义修改,但要保密,并且不要修改或丢失: 

swift_hash_path_suffix = zhitu

swift_hash_path_prefix = mooc

编辑文件,在[storage-policy:0]块下配置默认存储策略:

name = Policy-0

default = yes

4.4、在所有节点上,确认配置文件目录是否有合适的所有权:

chown -R root:swift /etc/swift

4.5、启动对象存储代理服务及其依赖服务

在控制节点和其他运行了代理服务的节点上,启动对象存储代理服务及其依赖服务:

systemctl start openstack-swift-proxy.service memcached.service

4.6、在存储节点上,启动对象存储服务:

systemctl start openstack-swift-account.service 

systemctl start openstack-swift-account-auditor.service

systemctl start openstack-swift-account-reaper.service 

systemctl start openstack-swift-account-replicator.service

systemctl start openstack-swift-container.service

systemctl start openstack-swift-container-auditor.service 

systemctl start openstack-swift-container-replicator.service

systemctl start openstack-swift-container-updater.service

systemctl start openstack-swift-object.service 

systemctl start openstack-swift-object-auditor.service

systemctl start openstack-swift-object-replicator.service 

systemctl start openstack-swift-object-updater.service

5、验证操作

5.1、安全等级的信息设置

将/srv/node目录下swift_data_t type, object_r role 和the system_u user关于安全等级的信息设置成最低安全等级(s0)命令如下:

chcon -R system_u:object_r:swift_data_t:s0 /srv/node

5.2、导入demo凭证

. /root/demo-openrc

5.3、显示服务状态

swift stat

5.4、创建container1容器

openstack container create container1

5.6、列出container1容器里的所有文件

openstack object list container1

5.7、从container1容器里下载一个测试文件

openstack object save --file /root/swift.conf container1 /usr/local/zhitu/swift/swift.conf

 

5.8、再次显示服务状态

swift stat

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/974765.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号