接上篇,swift-proxy和swift-store的安装

先说一下服务器分配

    swift-proxy和keystone部署在192.168.25.11

    swift-store是两台  分别是192.168.25.12和192.168.25.13  (这是测试IP)

先安装代理节点swift-proxy:

    wget -c http://mirror.neu.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

    rpm -ivh epel-release-6-8.noarch.rpm

    不要问我以上那个干吗用的  本来它是openstack的有关的包下载的地方,相当于一个镜像地址,但事实是它里面什么也没有但是这个环境还必须得安装,就这么简单粗暴,安装完成后在/etc/yum.repos.d/下会生成两个文件 epel.repo和epel-    testing.repo 但实际上epel-testing.repo这个文件并没有什么卵用。vim 到epel.repo文件里注销掉[epel]下的以mirror开头的那一行(#mirror。。。),打开http开头的那一行。然后在命令行执行yum  makecache就ok了。

    yum install openstack-swift openstack-swift-proxy  openstack-swift-account openstack-swift-container   openstack-swift-object memcached

  安装以上包时会有N 多的依赖性,根据要求一一安装,但是坑爹的是好多需要的依赖性centos6.4里、没、有、然后找了N久找到一个下载地址https://repos.fedorapeople.org/openstack/EOL/openstack-icehouse/epel-6/  在这个地址里随便下载你需要的包吧!不收费!

    以上安装完成后,修改配置文件:/etc/swift/swift.conf

      [swift-hash]

      #random unique string that can never change (DO NOT LOSE)

      swift_hash_path_suffix = `od -t x8 -N 8 -A n < /dev/random`

    创建自签名证书

      cd /etc/swift

      openssl req -new -x509 -nodes -out cert.crt -keyout cert.key

    配置proxy-server:/etc/swift/proxy-server.conf  

      [DEFAULT]
      bind_port = 8080
      workers = 8
      user = swift

      [pipeline:main]
      pipeline = healthcheck cache authtoken keystone proxy-server

      [app:proxy-server]
      use = egg:swift#proxy
      allow_account_management = true
      account_autocreate = true

      [filter:cache]
      use = egg:swift#memcache
      memcache_servers = 192.168.25.12:11211
      set log_name = cache

      [filter:catch_errors]
      use = egg:swift#catch_errors

      [filter:healthcheck]
      use = egg:swift#healthcheck

      [filter:keystone]
      paste.filter_factory = keystone.middleware.swift_auth:filter_factory
      use = egg:swift#keystoneauth
      operator_roles = Menber,admin, SwiftOperator
      is_admin = true
      cache = swift.cache

      [filter:authtoken]
      paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
      delay_auth_decision = 10
      service_port = 5000
      service_host = 127.0.0.1
      admin_tenant_name = service
      admin_user = swift
      admin_password = swift
      auth_host = 127.0.0.1
      auth_port = 35357
      auth_protocol = http
      auth_uri = http://127.0.0.1:5000/
      auth_token = 89bbecb48e973be18dd7
      admin_token = 89bbecb48e973be18dd7
      signing_dir = /tmp/keystone-signing-swift

  创建 account, container, object rings   第二个参数为每个对象复制的个数

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

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

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


  添加每个节点上的存储设备:

    swift-ring-builder account.builder add z1-192.168.25.12:6002/sdb1 100 (swift-ring-builder account.builder add z2-192.168.25.13:6002/sdb1 100)

    swift-ring-builder container.builder add z1-192.168.25.12:6001/sdb1 100

    swift-ring-builder object.builder add z1-192.168.25.12:6000/sdb1 100


  检查每个ring中的内容

    swift-ring-builder account.builder

    swift-ring-builder container.builder

    swift-ring-builder object.builder

  重新平衡ring

    swift-ring-builder account.builder rebalance

    swift-ring-builder container.builder rebalance

    swift-ring-builder object.builder rebalance

  复制所有配置文件为swift用户所有

    chown -R swift:swift /etc/swift

  启动proxy服务(在存储节点服务启动之后再启动)

    swift-init  proxy start

下面安装存储节点,因为两台存储节点配置一样,所以只以192.168.25.12为例:

  同样没有包但是需要环境的epel的配置,雷同swift-proxy的配置

  yum install openstack-swift-account openstack-swift-container  openstack-swift-object xfsprogs(没有的包自己去https://repos.fedorapeople.org/openstack/EOL/openstack-icehouse/epel-6/这个地址找)

  创建虚拟磁盘:

    fdisk /dev/sdb=》创建虚拟磁盘sdb1

    mkfs.xfs  -i size=1024  /dev/sdb1  创建文件系统

    echo "/dev/sdb1  /srv/node/sdb1  xfs  noatime,nodiratime,nobarrier,logbufs=8 0 0" >> /etc/fstab 添加到启动时自动挂载分区

    mkdir -p /srv/node/sdb1

    mount /dev/sdb1  /srv/node/sdb1  当然也可以执行mount -a  是/etc/fstab 生效

    chown -R swift:swift  /srv/node

  创建/etc/rsyncd.conf (rsync需要yum)

    uid = swift

    gid = swift

    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    address = 192.168.25.12
    [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

  在开启rsync服务之前需要拷贝swift-proxy中/etc/swift/下的swift.conf object.ring.gz container.ring.gz account.ring.gz 到存储节点的/etc/swift目录下。

  rsync --daemon --config=/etc/rsyncd.conf  开启rsync服务 

  创建三个配置文件:

    /etc/swift/account-server.conf

      [DEFAULT]
      bind_ip = 192.168.25.12
      bind_port = 6002
      workers = 2

      [pipeline:main]
      pipeline = account-server

      [app:account-server]
      use = egg:swift#account

      [account-replicator]

      [account-auditor]

      [account-reaper]

    /etc/swift/container-server.conf

      [DEFAULT]

      bind_ip = 192.168.25.12
      bind_port = 6001
      workers = 2

      [pipeline:main]
      pipeline = container-server

      [app:container-server]
      use = egg:swift#container

      [container-replicator]

      [container-updater]

      [container-auditor]

      [container-sync]

    /etc/swift/object-server.conf

      [DEFAULT]

      bind_ip = 192.168.25.12
      bind_port = 6000
      workers = 3

      [pipeline:main]
      pipeline = object-server

      [app:object-server]
      use = egg:swift#object

      [object-replicator]

      [object-updater]

      [object-auditor]

  开启storage服务

    swift-init object-server start

    swift-init object-replicator start

    swift-init object-updater start  

    swift-init object-auditor start

    swift-init container-server start    

    swift-init container-replicator start

    swift-init container-updater start

    swift-init container-auditor start

    swift-init account-server start  

     swift-init account-replicator start

    swift-init account-auditor start

以上是主节点和存储节点的配置

192.168.25.13的配置与12的配置相同  只是需要把account-server.conf container-server.conf object-server.conf 的ip改为本机ip即可

下面进行测试:

  在主节点上:swift -V 2.0 -A http://localhost:35357/v2.0 -U admin:admin -K 123456 stat

        swift -V 2.0 -A http://localhost:35357/v2.0 -U admin:admin -K 123456 upload myfile token 上传文件到存储节点,在/srv/node/sdb1/objects目录下

        swift -V 2.0 -A http://localhost:35357/v2.0 -U admin:admin -K 123456 download myfile token  可从存储节点下载文件

以上整个openstack  swift 云存储就部署完成了!

openstack-swift云存储部署(二)的更多相关文章

  1. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 二

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  2. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  3. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 四

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  4. openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 三

    openstack-r版(rocky)搭建基于centos7.4 的openstack swift对象存储服务 一 openstack-r版(rocky)搭建基于centos7.4 的openstac ...

  5. openstack-swift云存储部署(一)

    最近因为工作的需要搭建了一套swift云存储架构 我们先来解读一下里面的技术知识点:swift服务是属于openstack中的一种组件服务,openstack中的组件服务还有keystone.Nova ...

  6. OpenStack Swift集群部署流程与简单使用

    之前介绍了<OpenStack Swift All In One安装部署流程与简单使用>,那么接下来就说一说Swift集群部署吧. 1. 简介 本文档详细描述了使用两台PC部署一个小型Sw ...

  7. 《4》CentOS7.0+OpenStack+kvm云平台部署—配置Nova

    感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  8. 《3》CentOS7.0+OpenStack+kvm云平台部署—配置Glance

    感谢朋友支持本博客,欢迎共同探讨交流.因为能力和时间有限,错误之处在所难免,欢迎指正. 假设转载.请保留作者信息. 博客地址:http://blog.csdn.net/qq_21398167 原博文地 ...

  9. [转载] 对象存储(2):OpenStack Swift——概念、架构与规模部署

    原文: http://www.testlab.com.cn/Index/article/id/1085.html#rd?sukey=fc78a68049a14bb228cb2742bdec2b9498 ...

随机推荐

  1. 仿优酷Android客户端图片左右滑动(自动滑动)

    最终效果: 页面布局main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayou ...

  2. 一个简单的Webservice的demo,简单模拟服务

    前段时间一直在学习WCF,匆匆忙忙的把<WCF全面解析>和<WCF服务编程>看了一遍,好多东西都不是很懂,又听了一下WCF分布式开发的网络教程,算是马马虎虎的明白点了.回顾了一 ...

  3. JS验证图片格式和大小并预览

    用于上传图片的js验证: <%@ page language="java" contentType="text/html; charset=UTF-8"p ...

  4. Python_Day_03 list,dic,tuple方法总结

    编程语言中最长见的几种数据类型,字典,列表,等.同样在Python中也有这些数据类型,只是有些表现形式不同.同时在Python中又多了一种叫做元组(tuple)的东西. list(列表) 初始化列表 ...

  5. Chrome 控制台实用指南

    前言 个人博客:Damonare的个人主页 Chrome浏览器我想是每一个前端er必用工具之一吧,一部分原因是它速度快,体积不大,支持的新特性也比其它浏览器多,还有一部分我想就是因为它的控制台功能强大 ...

  6. Not a git repository (or any of the parent directories): .git

    今天准备在win10上面安装git,想把代码发布到github中,按照教程的方法一步一步下来,当配置完ssh和用户名,邮箱之后,发现下拉不下来github中的代码,出现如下错误. 说是没有发现仓储,很 ...

  7. C#如何创建泛型类T的实例

    最近在学历基类的写法时,遇到了一个问题:如何怎么创建一个泛型类T的实例呢?     废话不多说了,直接上代码吧,目前发现三种方法,先贴上,以后再总结,希望能帮助跟我遇到同样问题的朋友. 方法一,通过外 ...

  8. N皇后问题

    题目描述 在n×n格的棋盘上放置彼此不受攻击的n个皇后.按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子.n后问题等价于再n×n的棋盘上放置n个后,任何2个皇后不妨在同一行或同 ...

  9. FTP工具类开发

    正所谓工欲善其事必先利其器,熟悉了下一套流程,以此铭记. 1.FTP服务搭建 由于本人使用wondiow系统,所以针对window的童鞋们可以查看.至于windowX这里配置类似,所以不要纠结于win ...

  10. junit4 assert类中的assert方法总结

    junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类. 1.assertTrue/False([String message,]boolean cond ...