zoukankan      html  css  js  c++  java
  • centos7下安装docker(16.1docker跨主机存储--Rex-Ray)

    一。Rex-Ray以standalone进程的方式运行在docker主机上,安装方法很简单:在docker1和docker2上运行如下命令:

    curl -sSL https://dl.bintray.com/emccode/rexray/install | sh

    然后创建并编辑Rex-Ray的配置文件/etc/rexray/config.yml

    也可以使用图形化的在线Rex-Ray配置生成:http://rexrayconfig.codedellemc.com/

    配置文件的内容如下:

    1. service: virtualbox   使用virtualbox的virtual media作为backend,提供data volume。原因是我们的实验环境就是virtualbox,不需要额外部署存储系统,作为验证和实践,已经足够多了。如果是生产系统,肯定得选择更加稳定的backend,比如ceph rbd

    2. endpoint: http://192.168.99.1:18083 是vietualbox宿主机的服务端口,后面会演示如何启动这个服务

    3.volumePath: /Users/<your-name>/VirtualBox/Volumes 是vietual宿主机上存放data volume的目录

    4. controllerName: SATA  是controller的名字,不用修改

    二 .在每台host主机上配置完Rex-Ray driver之后,要配置backend

    注:由于实验环境的原因,没有做实验,就不展示了

    三。在每台host主机上分别创建volume

    docker volume create --driver rexray --name=mysqldata --opt=size=2

    四。先在一台host主机上运行容器并使用数据卷(mysqldata)

    宿主机提供的backend被容器使用过程:

    1.backend首先提供了volume,如:mysqldata

    2.mysqldata先被挂载到host主机上,host主机会自动创建一个挂载点

    3.host主机上的挂载点通过容器运行时的指定,被挂载到容器上

    五。更新容器中的数据,删除容器

    六。在另外一个host主机上重新运行一个容器,并挂载相同的volume(mysqldata),这个volume(mysqldata)会被冲重新使用。使用过程和之前一样

    总结:1.假设有两个host主机docker1和docker2,当我们在docker1上运行了两个有状态的容器时,要分别创建两个不同名的volume,

    2.volume实际是backend的一部分

    3.volume有点类似共享存储

  • 相关阅读:
    ThreadLocal、InheritableThreadLocal、TransmittableThreadLocal使用及原理解析
    Spring Cloud入门教程
    极简策略模式
    MySQL热点行更新
    OpenResty安装、启动脚本及Lua脚本调试
    Spring Cloud Netflix超时时间设置
    SpringCloudCommons模块
    [转]Spring Boot @EnableConfigurationProperties @ConfigurationProperties注解配置原理源码分析
    SpringCloudContext模块
    [转]Spring源码解析之@Configuration
  • 原文地址:https://www.cnblogs.com/lkun/p/7885937.html
Copyright © 2011-2022 走看看