感谢指剑大佬发表的博客与视频!感谢所 爱大佬的支持!

(六)Open Stack(M)----Horizon(Dashboard)安装和配置

一:准备工作 ---- 硬盘添加

在虚拟机还没开机(关闭虚拟机后)时,在硬件配置compute节点上添加一个硬盘。

二:控制节点的配置

1.控制节点获得凭证并创建身份认证服务的凭证

. /root/admin-openrc

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.创建对象存储服务 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

截图如下

3.安装并配置swift组件

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

4.编辑文件 /etc/swift/proxy-server.conf

删除原有内容,再进行添加

cp /etc/swift/proxy-server.conf /etc/swift/proxy-server.conf.bank

vi /etc/swift/proxy-server.conf

修改后内容如下:

[DEFAULT]

bind_port = 8080

swift_dir = /etc/swift

user = 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

[app:proxy-server]

use = egg:swift#proxy

account_autocreate = True

[filter:tempauth]

use = egg:swift#tempauth

user_admin_admin = admin .admin .reseller_admin

user_test_tester = testing .admin

user_test2_tester2 = testing2 .admin

user_test_tester3 = testing3

user_test5_tester5 = testing5 service

[filter:authtoken]

paste.filter_factory = keystonemiddleware.auth_token:filter_factory

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = swift

password = 000000

delay_auth_decision = True

[filter:keystoneauth]

use = egg:swift#keystoneauth

operator_roles = admin,user

[filter:healthcheck]

use = egg:swift#healthcheck

[filter:cache]

memcache_servers = controller:11211

use = egg:swift#memcache

[filter:ratelimit]

use = egg:swift#ratelimit

[filter:domain_remap]

use = egg:swift#domain_remap

[filter:catch_errors]

use = egg:swift#catch_errors

[filter:cname_lookup]

use = egg:swift#cname_lookup

[filter:staticweb]

use = egg:swift#staticweb

[filter:tempurl]

use = egg:swift#tempurl

[filter:formpost]

use = egg:swift#formpost

[filter:name_check]

use = egg:swift#name_check

[filter:list-endpoints]

use = egg:swift#list_endpoints

[filter:proxy-logging]

use = egg:swift#proxy_logging

[filter:bulk]

use = egg:swift#bulk

[filter:slo]

use = egg:swift#slo

[filter:dlo]

use = egg:swift#dlo

[filter:container-quotas]

use = egg:swift#container_quotas

[filter:account-quotas]

use = egg:swift#account_quotas

[filter:gatekeeper]

use = egg:swift#gatekeeper

[filter:container_sync]

use = egg:swift#container_sync

[filter:xprofile]

use = egg:swift#xprofile

[filter:versioned_writes]

use = egg:swift#versioned_writes

截图如下:

5.编辑文件/etc/swift/swift.conf

删除原有内容,再进行添加

vi /etc/swift/swift.conf

修改后内容如下:

[swift-hash]

swift_hash_path_suffix = changeme

swift_hash_path_prefix = changeme

[storage-policy:0]

name = Policy-0

default = yes

aliases = yellow, orange

[swift-constraints]

截图如下:

6.添加权限

chown -R root:swift /etc/swift

三:存储节点的配置(计算节点充当存储节点)

1.安装软件包

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

2.使用XFS格式化分区新设备

搭建Swift存储节点需要一块空盘,此处我们查看开头添加的空盘

1.查看磁盘

lsblk

截图如下: 可以发现新添加的磁盘,即/dev/sdb

2.格式化

fdisk /dev/sdb

截图如下:

3.分区

mkfs.xfs /dev/sdb1

4.创建挂载点目录结构

mkdir -p /swift/node

5.挂载

mount /dev/sdb1 /swift/node/

截图如下·:

6.编辑/etc/fstab文件并添加以下内容

vi /etc/fstab

追加如下内容:

/dev/sdb1 /swift/node xfs noatime,nodiratime,nobarrier,logbufs=8 0 0

截图如下:

3.编辑/etc/rsyncd.conf文件

vi /etc/rsyncd.conf

添加如下内容:

pid file = /var/run/rsyncd.pid

log file = /var/log/rsyncd.log

uid = swift

gid = swift

address = 127.0.0.1

[account]

path = /swift/node

read only = false

write only = no

list = yes

incoming chmod = 0644

outgoing chmod = 0644

max connections = 25

lock file = /var/lock/account.lock

[container]

path = /swift/node

read only = false

write only = no

list = yes

incoming chmod = 0644

outgoing chmod = 0644

max connections = 25

lock file = /var/lock/container.lock

[object]

path = /swift/node

read only = false

write only = no

list = yes

incoming chmod = 0644

outgoing chmod = 0644

max connections = 25

lock file = /var/lock/object.lock

[swift_server]

path = /etc/swift

read only = true

write only = no

list = yes

incoming chmod = 0644

outgoing chmod = 0644

max connections = 5

lock file = /var/lock/swift_server.lock

截图如下:

4.启动rsyncd服务和配置开机自启

systemctl start rsyncd.service

systemctl enable rsyncd.service

截图如下:

四.计算节点的配置

1.编辑 /etc/swift/account-server.conf 文件

删除原有内容,再进行添加

vi /etc/swift/account-server.conf

修改后内容如下:

[DEFAULT]

bind_port = 6002

user = swift

swift_dir = /etc/swift

devices = /swift/node

mount_check = false

[pipeline:main]

pipeline = healthcheck recon account-server

[app:account-server]

use = egg:swift#account

[filter:healthcheck]

use = egg:swift#healthcheck

[filter:recon]

use = egg:swift#recon

recon_cache_path = /var/cache/swift

[account-replicator]

[account-auditor]

[account-reaper]

[filter:xprofile]

use = egg:swift#xprofile

截图如下:

2.编辑/etc/swift/container-server.conf文件

删除原有内容,再进行添加

vi /etc/swift/container-server.conf

修改后内容如下:

[DEFAULT]

bind_port = 6001

user = swift

swift_dir = /etc/swift

devices = /swift/node

mount_check = false

[pipeline:main]

pipeline = healthcheck recon container-server

[app:container-server]

use = egg:swift#container

[filter:healthcheck]

use = egg:swift#healthcheck

[filter:recon]

use = egg:swift#recon

recon_cache_path = /var/cache/swift

[container-replicator]

[container-updater]

[container-auditor]

[container-sync]

[filter:xprofile]

use = egg:swift#xprofile

截图如下:

3.编辑/etc/swift/object-server.conf文件

删除原有内容,再进行添加

vi /etc/swift/object-server.conf

修改后内容如下:

[DEFAULT]

bind_port = 6000

user = swift

swift_dir = /etc/swift

devices = /swift/node

mount_check = false

[pipeline:main]

pipeline = healthcheck recon object-server

[app:object-server]

use = egg:swift#object

[filter:healthcheck]

use = egg:swift#healthcheck

[filter:recon]

use = egg:swift#recon

recon_cache_path = /var/cache/swift

recon_lock_path = /var/lock

[object-replicator]

[object-reconstructor]

[object-updater]

[object-auditor]

[filter:xprofile]

use = egg:swift#xprofile

截图如下:

4.编辑/etc/swift/swift.conf文件

vi /etc/swift/swift.conf

删除原有内容,再进行添加

[swift-hash]

swift_hash_path_suffix = changeme

swift_hash_path_prefix = changeme

[storage-policy:0]

name = Policy-0

default = yes

aliases = yellow, orange

[swift-constraints]

截图如下:

5.确认挂载点目录结构是否有合适的权限

chown -R swift:swift /swift/node

6.创建recon目录并配置合适的权限:

mkdir -p /var/cache/swift

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

chmod -R 775 /var/cache/swift

chown -R root:swift /etc/swift

截图如下:

五.计算节点创建,分发并初始化rings

1.创建账户ring

1.切换到 /etc/swift目录。创建基本 account.builder 文件

cd /etc/swift

swift-ring-builder account.builder create 18 1 1

2.添加每个节点到 ring 中

swift-ring-builder account.builder add --region 1 --zone 1 --ip 192.168.100.20 --port 6002 --device sdc1 --weight 100

3.验证ring内容

swift-ring-builder account.builder

4.平衡ring

swift-ring-builder account.builder rebalance

2.创建ring容器

1.切换到 /etc/swift目录。创建基本container.builder文件

cd /etc/swift

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

2.添加每个节点到 ring 中

swift-ring-builder container.builder add --region 1 --zone 1 --ip 192.168.100.20 --port 6001 --device sdc1 --weight 100

3.验证 ring 的内容:

swift-ring-builder container.builder

4.平衡 ring

swift-ring-builder container.builder rebalance

截图如下:

3.创建ring对象

1.切换到 /etc/swift目录,创建基本object.builder文件

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

2.添加每个节点到 ring 中

swift-ring-builder object.builder add --region 1 --zone 1 --ip 192.168.100.20 --port 6000 --device sdc1 --weight 100

3.验证 ring 的内容

swift-ring-builder object.builder

4.平衡 ring

swift-ring-builder object.builder rebalance

截图如下:

4.计算节点复制控制节点的配置文件

将account.ring.gz,container.ring.gz和object.ring.gz 文件复制到每个存储节点和其他运行了代理服务的额外节点的 /etc/swift 目录。

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

在compute上获取controller的一些配置文件,当然为了更快捷,大家可以在节点间配置免密登陆等一些手段 截图如下:

六.启动服务

1.在控制节点Controller上,启动对象存储代理服务及其依赖服务,并将它们配置为开机自启

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

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

截图如下:

2.在存储节点Compute上,启动对象存储服务,并将其设置为开机自启

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

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

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

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

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

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

截图如下:

七:Controller执行验证操作

1.导入demo凭证

. /root/demo-openrc

2. 显示服务状态:

swift stat

截图如下:

3.创建容器 container1

openstack container create container1

截图如下:

4.上传一个测试文件到container1容器

openstack object create container1 /root/demo-openrc

截图如下:

5.列出container1容器里的所有文件

openstack object list container1

截图如下:

6.从container1容器里下载一个测试文件

openstack object save container1 /root/demo-openrc

截图如下:

(八)Open Stack(M)—Cinder安装和配置

大家记得,不要忘记打快照哦! 感谢大家,点赞,收藏,关注,评论!

好文阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: 


大家都在找:

swift:swift码是什么

开发语言:开发语言java

ios:ios是什么

大家都在看: