10.OpenStack块存储服务
添加块存储服务
安装和配置控制器节点
创建数据库
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块存储服务的更多相关文章
- 云计算管理平台之OpenStack块存储服务cinder
一.cinder简介 cinder是openstack环境中的块存储服务,主要为运行在openstack之上的虚拟机提供块存储服务的:所谓块存储就是我们经常用的硬盘呀,U盘啊,SD卡等等这些块设备的, ...
- OpenStack Train版-13.安装块存储服务cinder(控制节点)
Cinder的核心功能是对卷的管理,允许对卷.卷的类型.卷的快照.卷备份进行处理.它为后端不同的存储设备提供给了统一的接口,不同的块设备服务厂商在Cinder中实现其驱动,可以被Openstack整合 ...
- OpenStack-Ocata版+CentOS7.6 云平台环境搭建 —9.块存储服务(cinder)部署配置
块存储服务部署相关块存储服务(cinder)为实例提供块存储.存储的分配和消耗是由块存储驱动器,或者多后端配置的驱动器决定的.还有很多驱动程序可用:NAS/SAN,NFS,ISCSI,Ceph等.典型 ...
- 探索 OpenStack 之(9):深入块存储服务Cinder (功能篇)
继研究了Neutron之后,继续Nova的外围研究之旅.本站是研究块存储服务Cinder. 0.验证环境 环境包括: 1.一个controller节点,运行nova-api, nova-schedul ...
- 【恒天云技术分享系列10】OpenStack块存储技术
原文:http://www.hengtianyun.com/download-show-id-101.html 块存储,简单来说就是提供了块设备存储的接口.用户需要把块存储卷附加到虚拟机(或者裸机)上 ...
- 【openstack N版】——块存储服务cinder
一.块存储服务介绍 1.1块存储服务通常包含以下组件 cinder-api: 接受API请求,并将其路由到"cinder-volume"执行. cinder-volume: 与块存 ...
- OpenStack Train版-14.安装块存储服务cinder(存储节点)
安装cindoer块存储服务节点(存储节点192.168.0.40)使用默认的LVM卷方法,之后改为ceph存储 安装LVM软件包 [root@cinder01 ~]# yum install lvm ...
- Openstack块存储cinder安装配置
openstack service create --name cinderv2 \ --description "OpenStack Block Storage" volumev ...
- OpenStack (cinder存储服务)
cinder简介 提供 OpenStack 存储块(Volume)服务,该管理模块原来也为 Nova 的一部分,即 Nova-volume,后来从 Folsom 版本开始使用 Cinder 来分离出块 ...
随机推荐
- Android Config通用类来记录信息
1.整体分析 1.1.源代码,可以直接Copy. public class Config { private static int M = 1024 * 1024; private volatile ...
- linux上Kettle定时执行(转换的单步执行,job的单步执行,环境变量,kettle定时功能,效率问题等)转自(http://blog.csdn.net/feng19821209/article/details/5800960)
1,Kettle跨平台使用. 例如:在AIX下(AIX是IBM商用UNIX操作系统,此处在LINUX/UNIX同样适用),运行Kettle的相关步骤如下: 1)进入到Kettle部署的路径 ...
- Android开发——事件分发机制详解
0. 前言 转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52566965 深入学习事件分发机制,是为了解决在Android开发中 ...
- 关于 Google Chrome “Your connection is not private” 问题的处理
今天下午访问google网站的时候,突然不能访问了,提示“Your connection is not private”(你的连接不是私密连接):查看XX-NET的设置,显示“请检查浏览器代理设置”. ...
- 《Cracking the Coding Interview》——第11章:排序和搜索——题目2
2014-03-21 20:49 题目:设计一种排序算法,使得anagram排在一起. 解法:自定义一个comparator,使用额外的空间来统计字母个数,然后比较字母个数. 代码: // 11.2 ...
- Python 列表、元组、字典及集合操作详解
一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...
- 孤荷凌寒自学python第三十三天python的文件操作初识
孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...
- 【志银】Win764位配置Github环境及将代码部署到Github pages-志银强势总结
(软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...
- c++知识点总结-模板特化
类模板的全特化与偏特化 类模板 template<typename T1, typename T2> class Test { public: Test(T1 i,T2 j):a(i),b ...
- 在jsp页面中使用jstl标签
第一步:引入标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%> 第 ...