添加块存储服务

安装和配置控制器节点

创建数据库

mysql -uroot -ptoyo123
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
IDENTIFIED BY 'toyo123';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
IDENTIFIED BY 'toyo123';
exit

创建服务凭据

source admin-openrc.sh
keystone user-create --name cinder --pass Abcd1234
keystone user-role-add --user cinder --tenant service --role admin
keystone service-create --name cinder --type volume \
--description "OpenStack Block Storage"
keystone service-create --name cinderv2 --type volumev2 \
--description "OpenStack Block Storage"
keystone endpoint-create \
--service-id $(keystone service-list | awk '/ volume / {print $2}') \
--publicurl http://controller:8776/v1/%\(tenant_id\)s \
--internalurl http://controller:8776/v1/%\(tenant_id\)s \
--adminurl http://controller:8776/v1/%\(tenant_id\)s \
--region regionOne
keystone endpoint-create \
--service-id $(keystone service-list | awk '/ volumev2 / {print $2}') \
--publicurl http://controller:8776/v2/%\(tenant_id\)s \
--internalurl http://controller:8776/v2/%\(tenant_id\)s \
--adminurl http://controller:8776/v2/%\(tenant_id\)s \
--region regionOne

安装和配置块存储控制器组件

yum install -y openstack-cinder python-cinderclient python-oslo-db

编辑/etc/cinder/cinder.conf

mv /etc/cinder/cinder.conf /etc/cinder/cinder.conf_bak

vim /etc/cinder/cinder.conf

[database]

connection = mysql://cinder:toyo123@controller/cinder

[DEFAULT]

my_ip = 192.168.116.8

rpc_backend = rabbit

rabbit_host = controller

rabbit_password = Abcd1234

auth_strategy = keystone

verbose = True

[keystone_authtoken]

auth_uri = http://controller:5000/v2.0

identity_uri = http://controller:35357

admin_tenant_name = service

admin_user = cinder

admin_password = Abcd1234

完成安装

su -s /bin/sh -c "cinder-manage db sync" cinder
systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

安装和配置存储节点

安装LVM与启动lvm并设置为开机自启动

yum -y install lvm2
systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service

磁盘分区

fdisk /dev/sda

n

p

Enter

+100G

t

8e

w

检查分区信息是否写入内核(检测到了则不用添加)

cat /proc/partitions

major minor  #blocks  name

              sda

                 sda1

              sda2

                sda3

partx -a /dev/sda5 /dev/sda

cat /proc/partitions

major minor  #blocks  name

              sda

                 sda1

              sda2

                sda3

              sda5

建立lvm分区

pvcreate /dev/sda5

  Physical volume "/dev/sda5" successfully created

vgcreate cinder-volumes /dev/sda5

  Volume group "cinder-volumes" successfully created

编辑/etc/lvm/lvm.conf

vim /etc/lvm/lvm.conf

devices {

filter = [ "a/sda/", "r/.*/"]

安装和配置块存储卷组件

yum install -y openstack-cinder targetcli python-oslo-db MySQL-python

编辑/etc/cinder/cinder.conf

mv /etc/cinder/cinder.conf /etc/cinder/cinder.conf_bak

vim /etc/cinder/cinder.conf

[database]

connection = mysql://cinder:toyo123@controller/cinder

[DEFAULT]

rpc_backend = rabbit

rabbit_host = controller

rabbit_password = Abcd1234

uth_strategy = keystone

my_ip = 192.168.116.8

glance_host = controller

iscsi_helper = lioadm

verbose = True

[keystone_authtoken]

auth_uri = http://controller:5000/v2.0

identity_uri = http://controller:35357

admin_tenant_name = service

admin_user = cinder

admin_password = Abcd1234

完成安装

systemctl enable openstack-cinder-volume.service target.service

systemctl start openstack-cinder-volume.service target.service

验证

source admin-openrc.sh
cinder service-list

创建云磁盘

source demo-openrc.sh
cinder create --display-name demo-volume1
cinder list

安装对象存储

安装和配置控制节点

创建身份服务凭据

source admin-openrc.sh
keystone user-create --name swift --pass Abcd1234
keystone user-role-add --user swift --tenant service --role admin
keystone service-create --name swift --type object-store \
--description "OpenStack Object Storage"
keystone endpoint-create \
--service-id $(keystone service-list | awk '/ object-store / {print $2}') \
--publicurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' \
--internalurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' \
--adminurl http://controller:8080 \
--region regionOne

安装和配置控制器节点组件

yum install -y openstack-swift-proxy python-swiftclient python-keystone-auth-token \
python-keystonemiddleware memcached
下载并编辑proxy-server.conf
curl -o /etc/swift/proxy-server.conf \
https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/proxy-server.conf-sample vim /etc/swift/proxy-server.conf [DEFAULT] bind_port = user = swift swift_dir = /etc/swift [pipeline:main] pipeline = authtoken cache healthcheck keystoneauth proxy-logging proxy-server [app:proxy-server] allow_account_management = true account_autocreate = true [filter:keystoneauth] use = egg:swift#keystoneauth operator_roles = admin,_member_ [filter:authtoken] paste.filter_factory = keystonemiddleware.auth_token:filter_factory auth_uri = http://controller:5000/v2.0 identity_uri = http://controller:35357 admin_tenant_name = service admin_user = swift admin_password = Abcd1234 delay_auth_decision = true [filter:cache] memcache_servers = 127.0.0.1:

安装和配置存储节点

       安装xfsprog
yum install -y xfsprogs rsync

创建分区

fdisk /dev/sda

n

e

ENTER

ENTER

n

ENTER

+100G

N

ENTER

ENTER

W

cat /proc/partitions

partx -a /dev/sda5 /dev/sda

partx -a /dev/sda6 /dev/sda

格式化并创建挂载点目录

mkfs.xfs /dev/sda5

mkfs.xfs /dev/sda6

mkdir -p /srv/node/sda5

mkdir -p /srv/node/sda6

编辑 /etc/fstab,并挂载

vim  /etc/fstab

/dev/sda5 /srv/node/sda5 xfs noatime,nodiratime,nobarrier,logbufs=  

/dev/sda6 /srv/node/sda6 xfs noatime,nodiratime,nobarrier,logbufs=  

mount /srv/node/sda5
mount /srv/node/sda6

编辑/etc/rsyncd.conf

mv /etc/rsyncd.conf /etc/rsyncd.conf_bak

vim /etc/rsyncd.conf

uid = swift

gid = swift

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

address =192.168.116.7

[account]

max connections = 

path = /srv/node/

read only = false

lock file = /var/lock/account.lock

[container]

max connections = 

path = /srv/node/

read only = false

lock file = /var/lock/container.lock

[object]

max connections = 

path = /srv/node/

read only = false

lock file = /var/lock/object.lock

启动服务并配置为开机自启动

systemctl enable rsyncd.service
systemctl start rsyncd.service

安装和配置存储节点组件

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

下载配置文件

curl -o /etc/swift/account-server.conf \
https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/account-server.conf-sample
curl -o /etc/swift/container-server.conf \
https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/container-server.conf-sample
curl -o /etc/swift/object-server.conf \
https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/object-server.conf-sample

编辑/etc/swift/account-server.conf

vim /etc/swift/account-server.conf
[DEFAULT] bind_ip = 192.168.116.7 bind_port = user = swift swift_dir = /etc/swift devices = /srv/node [pipeline:main] pipeline = healthcheck recon account-server [filter:recon] recon_cache_path = /var/cache/swift

编辑/etc/swift/container-server.conf

vim /etc/swift/container-server.conf
[DEFAULT] bind_ip = 192.168.116.7 bind_port = user = swift swift_dir = /etc/swift devices = /srv/node [pipeline:main] pipeline = healthcheck recon container-server [filter:recon] recon_cache_path = /var/cache/swift

编辑/etc/swift/object-server.conf

vim /etc/swift/object-server.conf
[DEFAULT] bind_ip = 192.168.116.7 bind_port = user = swift swift_dir = /etc/swift devices = /srv/node [pipeline:main] pipeline = healthcheck recon object-server [filter:recon] recon_cache_path = /var/cache/swift

确保挂载点的目录拥有所有权,创建侦察目录,并确保它的正确的所有权

chown -R swift:swift /srv/node
mkdir -p /var/cache/swift
chown -R swift:swift /var/cache/swift

创建账户环

cd /etc/swift

swift-ring-builder account.builder create   

swift-ring-builder account.builder \
add r1z1-192.168.116.7:/sda5
swift-ring-builder account.builder \
add r1z1-192.168.116.7:/sda6
swift-ring-builder account.builder \
add r1z1-192.168.116.10:/sda5
swift-ring-builder account.builder \
add r1z1-192.168.116.10:/sda6

平衡环

swift-ring-builder account.builder rebalance

验证

swift-ring-builder account.builder

创建容器环

cd /etc/swift

swift-ring-builder container.builder create
swift-ring-builder container.builder \
add r1z1-192.168.116.7:/sda5
swift-ring-builder container.builder \
add r1z1-192.168.116.7:/sda6
swift-ring-builder container.builder \
add r1z1-192.168.116.10:/sda5
swift-ring-builder container.builder \
add r1z1-192.168.116.10:/sda6

创建环对象

cd /etc/swift

swift-ring-builder object.builder create
swift-ring-builder object.builder \
add r1z1-192.168.116.7:/sda5
swift-ring-builder object.builder \
add r1z1-192.168.116.7:/sda6
swift-ring-builder object.builder \
add r1z1-192.168.116.10:/sda5
swift-ring-builder object.builder \
add r1z1-192.168.116.10:/sda6

平衡环

swift-ring-builder object.builder rebalance

验证

swift-ring-builder object.builder

将account.ring.gz, container.ring.gz, 和 object.ring.gz复制到节点存储服务器/etc/swift下

下载并编辑swift.conf,编辑完成后复制到每个存储节点与代理服务器上

curl -o /etc/swift/swift.conf \
https://raw.githubusercontent.com/openstack/swift/stable/juno/etc/swift.conf-sample
vim /etc/swift/swift.conf [swift-hash] swift_hash_path_prefix = xrfuniounenqjnw swift_hash_path_suffix = fLIbertYgibbitZ [storage-policy:] name = Policy- default = yes

修改目录拥有者并启动服务与配置开机自启动,每个存储节点与代理服务器一样操作

chown -R swift:swift /etc/swift
systemctl enable openstack-swift-proxy.service memcached.service
systemctl restart openstack-swift-proxy.service memcached.service

在存储节点,启动对象存储服务,并将其配置为开机自启动

systemctl enable openstack-swift-account.service openstack-swift-account-auditor.service \
openstack-swift-account-reaper.service openstack-swift-account-replicator.service
systemctl enable openstack-swift-container.service openstack-swift-container-auditor.service \
openstack-swift-container-replicator.service openstack-swift-container-updater.service
systemctl enable openstack-swift-object.service openstack-swift-object-auditor.service \
openstack-swift-object-replicator.service openstack-swift-object-updater.service
swift-init all start

验证

source demo-openrc.sh

swift stat

        Account: AUTH_2e6cfee73a0e42e3ad67affb9f042484

     Containers: 

        Objects: 

          Bytes: 

X-Put-Timestamp: 1431246736.74462

    X-Timestamp: 1431246736.74462

     X-Trans-Id: tx99c4c6fa0ade4314aec8d-00554f1790

   Content-Type: text/plain; charset=utf-

10.OpenStack块存储服务的更多相关文章

  1. 云计算管理平台之OpenStack块存储服务cinder

    一.cinder简介 cinder是openstack环境中的块存储服务,主要为运行在openstack之上的虚拟机提供块存储服务的:所谓块存储就是我们经常用的硬盘呀,U盘啊,SD卡等等这些块设备的, ...

  2. OpenStack Train版-13.安装块存储服务cinder(控制节点)

    Cinder的核心功能是对卷的管理,允许对卷.卷的类型.卷的快照.卷备份进行处理.它为后端不同的存储设备提供给了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动,可以被Openstack整合 ...

  3. OpenStack-Ocata版+CentOS7.6 云平台环境搭建 —9.块存储服务(cinder)部署配置

    块存储服务部署相关块存储服务(cinder)为实例提供块存储.存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的.还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等.典型 ...

  4. 探索 OpenStack 之(9):深入块存储服务Cinder (功能篇)

    继研究了Neutron之后,继续Nova的外围研究之旅.本站是研究块存储服务Cinder. 0.验证环境 环境包括: 1.一个controller节点,运行nova-api, nova-schedul ...

  5. 【恒天云技术分享系列10】OpenStack块存储技术

    原文:http://www.hengtianyun.com/download-show-id-101.html 块存储,简单来说就是提供了块设备存储的接口.用户需要把块存储卷附加到虚拟机(或者裸机)上 ...

  6. 【openstack N版】——块存储服务cinder

    一.块存储服务介绍 1.1块存储服务通常包含以下组件 cinder-api: 接受API请求,并将其路由到"cinder-volume"执行. cinder-volume: 与块存 ...

  7. OpenStack Train版-14.安装块存储服务cinder(存储节点)

    安装cindoer块存储服务节点(存储节点192.168.0.40)使用默认的LVM卷方法,之后改为ceph存储 安装LVM软件包 [root@cinder01 ~]# yum install lvm ...

  8. Openstack块存储cinder安装配置

    openstack service create --name cinderv2 \ --description "OpenStack Block Storage" volumev ...

  9. OpenStack (cinder存储服务)

    cinder简介 提供 OpenStack 存储块(Volume)服务,该管理模块原来也为 Nova 的一部分,即 Nova-volume,后来从 Folsom 版本开始使用 Cinder 来分离出块 ...

随机推荐

  1. 3687: 简单题(bitset)

    3687: 简单题 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 700  Solved: 319[Submit][Status][Discuss] ...

  2. GCD那些事儿

    GCD GCD,全名Grand Central Dispatch,中文名郭草地,是基于C语言的一套多线程开发API,一听名字就是个狠角色,也是目前苹果官方推荐的多线程开发方式.可以说是使用方便,又不失 ...

  3. BeanShell中Sring变量引用

    问题现象:BeanShell中,一个String类型的字符串存在多个变量,通过${}引用变量后,发送到服务器的还是${} 解决方法:String类型数据中存在多个变量时,使用"+变量+&qu ...

  4. Python代码书写规范

    Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不要使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在 ...

  5. gradle构建

    https://blog.csdn.net/baidu_30809315/article/details/77865414

  6. about 2018

    2018想要完成的10件事情 1 活出更纯粹的自己.                                                      未完成2 自考本科一定要过.       ...

  7. CSU-1986 玄学

    题目链接 http://acm.csu.edu.cn:20080/csuoj/problemset/problem?pid=1986 题目 Description 阴阳师子浩君,最近从<初等数论 ...

  8. 游戏开发学习ing

    创建工程 python cocos.py new HelloWorld -p com.cocos2dx.org -l cpp -d myprojects 这个命令就是运行python然后编译cos.p ...

  9. poj1273 网络流入门题 dinic算法解决,可作模板使用

    Drainage Ditches Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 62078   Accepted: 2384 ...

  10. 01、dos命令行的常用命令

    cd 进入指定目录cd..  返回上一级目录cd\   退回盘符根目录dir        列出当前目录下的文件以及文件夹md       创建目录rd 删除目录del   删除文件cls       ...