rancher中级(一)(rancher的存储,网络)

容器的存储机制

参考 http://dockone.io/article/128;http://dockone.io/article/129;

Docker镜像是由多个文件系统(只读层)叠加而成。当我们启动一个容器的时候,Docker会加载只读镜像层并在顶部添加一个读写层。如果运行中的容器修改了现有的一个已经存在的文件,那该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中该文件的副本所隐藏。当删除Docker容器,并通过该镜像重新启动时,之前的更改将会丢失。在Docker中,只读层及在顶部的读写层的组合被称为Union File System(联合文件系统)。

为了能够保存(持久化)数据以及共享容器间的数据,Docker提出了Volume的概念。简单来说,Volume就是目录或者文件,它可以绕过默认的联合文件系统,而以正常的文件或者目录的形式存在于宿主机上。

Volume可以将容器以及容器产生的数据分离开来,当使用docker rm my_container删除容器时,不会影响相关的数据。

Volume可以使用以下两种方式创建:

编写dockerfile:在Dockerfile中指定VOLUME /some/dir

在容器启动时执行命令:docker run -v /some/dir命令来指定

无论哪种方式都是做了同样的事情。它们告诉Docker在主机上创建一个目录(默认情况下是在/var/lib/docker下),然后将其挂载到指定的路径(例子中是:/some/dir)。当删除使用该Volume的容器时,Volume本身不会受到影响,它可以一直存在下去。

容器数据的备份

在数据备份前首先需要了解数据容器的概念,常见的使用场景是使用纯数据容器来持久化数据库、配置文件或者数据文件等。官方的文档上有详细的解释。

当使用数据容器时,那做备份是相当容易的:

$ docker run --rm --volumes-from dbdata -v $(pwd):/backup debian tar cvf /backup/backup.tar /var/lib/postgresql/data

该示例应该会将Volume里所有的东西压缩为一个tar包

跨主机共享卷

同主机共享:

容器也可以与其它容器共享Volume。

docker run --name my_container -v /some/path ...

docker run --volumes-from my_container --name my_container2 ...

上面的命令将告诉Docker从第一个容器挂载相同的Volume到第二个容器,它可以在两个容器之间共享数据。

如果执行docker rm -v my_container命令,而上方的第二容器依然存在,那Volume不会被删除,如果不使用docker rm -v my_container2命令删除第二个容器,那它会一直存在

跨主机共享:

方法一:分布式数据卷BitTorrent的同步

方法二:通过NFS共享数据

方法三:Rancher实现共享卷和跨主机数据访问

具体可参考链接http://www.dockerinfo.net/2384.htmlhttps://zhuanlan.zhihu.com/p/21096218

Linux配置nfs服务

参考http://www.linuxidc.com/Linux/2016-04/129848.htm

在商店中添加nfs驱动服务

添加数据卷

添加一个mysql服务,将数据库数据存在数据卷中

选择上周创建的webapp应用中的mysql服务,为其添加卷,卷驱动为提前添加的rancher-nfs驱动,配置格式为“卷名:数据路径”

查看添加后结果

使用mysql图形化界面工具,建立连接,连接地址为rancher宿主机ip地址,端口为mysql容器所暴露出的端口号,通过sql文件生成表

查看宿主机内搭建nfs服务时所配置共享目录,sharedata目录下的文件,运行mysql服务所产生的数据已经被共享到此目录下

访问网站,并登录数据库中所存储的用户名与密码,数据访问成功

验证服务升级或者删除后数据是否还存在

将mysql服务升级

重新连接mysql图形界面 数据表仍然存在

网络

本地网络docker0

http://www.cnblogs.com/xhyan/p/6235999.html

overlay网络(CNI)

http://cizixs.com/2016/06/13/docker-overlay-network

http://tonybai.com/2016/02/15/understanding-docker-multi-host-networking/

https://qinghua.github.io/docker-overlay-network/

ipsec网络与安全策略

http://lzozhuyk.blog.51cto.com/782498/277920

时间: 2024-10-13 07:39:47

rancher中级(一)(rancher的存储,网络)的相关文章

如何连接Rancher与阿里云NAS存储

阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例.HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展.单一命名空间.多共享.高可靠和高可用等特性的分布式文件系统. 演示环境说明 整个演示环境由2台阿里云云服务器组成,相关信息说明如下: Rancher环境部署 Rancher环境部署具体部署方法请参考:http://rancher.com/docs/rancher/v1.6/e

区域存储网络(SAN)与 网络直接存储(NAS)

随着互联网及网络应用的飞速发展,数据信息存储系统所需处理的数据类型也呈爆炸性增长,这使数据信息存储系统面临前所未有的挑战.附加式网络存储装置(Network Attached Storage,缩写为NAS)及区域存储网络(Storage Area Network缩写为SAN),它们能把数据信息存储设备从网络和主机系统上独立出来,既集中管理信息数据,又具备良好的扩展性,为实现数据集中管理提供了目前最为有效的解决办法. 1.区域存储网络(SAN):1998年才出现的SAN技术,是专门连接存储外围设备

我想要的产品是网络存储+网络备份

Dbank.360网盘.百度网盘,金山快盘 发表回复 今天,终于把Dbank网盘从电脑里删除了,取而代之的是金山快盘. Dbank最初出来的时候我非常看好它,它是当时看起来众多网盘里比较正规的网盘公司了,我还曾经买过它们的VIP,虽然它们的付费服务标准经常变来变去,但是我当时的想法是,有付费的支持,才能办得长久. 后来Dbank被华为收购(好像是的),改名华为网盘,论坛里该公司发帖表现得雄心壮志的感觉. 可惜没过多久,百度网盘横空杀出,1T.2T的免费容量送出,加上百度的品牌,迅速走到了前面,我

存储网络性能岂能只靠“猜”

为什么要对网络或应用进行监测和分析?因为通过实时的监测和分析,可以预测网络流量和负载变化,在出现问题前及时报警,或对网络和应用进行优化,从而提高投资回报率.正因为如此,在网络厂商中,应用性能管理正大行其道. 应用性能管理是一个比较新的网络管理方向,主要是对企业的关键业务应用进行监测.优化,从而提高企业应用的可靠性和质量,保证用户得到良好的服务,同时有效降低IT的总拥有成本(TCO).在存储领域,监测与分析也开始引起厂商和用户的重视.前不久,博科公司(Brocade)推出了一条新的产品线--分析监

Rancher如何对接Ceph-RBD块存储

概要 演示环境说明 整个测试环境由以下2台本地虚拟机组成,相关信息说明如下: 引言 Librbd(RBD)是Ceph提供的块存储库,其利用Rados提供的API实现对卷的管理和操作.就目前而言,在Ceph支持的三种接口Posix(CephFS).块存储(Librbd)和对象存储(RadosGW)接口中,块存储是目前最稳定且达到生产环境要求的接口.Ceph 块设备是精简配置的.大小可调且将数据条带化存储到集群内多个OSD .Ceph 块设备利用 RADOS 的多种能力,如快照.复制和一致性.Cep

c#中Dictionary<object, object>存储网络字符取值问题

roleInfo存储的是网络的map数据,key值roleID长度居然是7,而本地定义的key2="roleID"长度是6,导致tmp[key2]总是取不到值.最后通过string.Compare通过指定长度比对,再通过tmp[key]取值才解决问题.对应为什么key值roleID长度是7,暂时未找到原因.

存储网络

①LOCAL DISK 本地磁盘 ②DAS(Decimal Adjust for     Subtraction或 Direct-Attached Storage),即开放系统的直连式存储,主要依赖服务器主机操作系统进行数据的IO读写和存储维护管理. (服务器下挂存储阵列形式不需要以太网交换机和FC交换机) ③ 网络存储两类: NAS (IP网络共享方式需要以太网交换机)和 SAN(IP SAN 需要以太网交换机.FC SAN 需要FC交换机 ) 本地文件系统和DRBD(分布式复制块设备)是没有

Android入门笔记 - 数据存储 - 网络

网络作为android的数据存储的一种,那么极大的扩大了app的使用范围,因为任何信息我们都可以从网络上获取,试想一下我们自己搭建一个服务器,然后通过app向服务器请求数据,那么要修改显示数据的时候,我们只需要修改服务器上的数据,app只是一个显示载体.目前确实有很多app是这样开发的,在app内部可以嵌套一个浏览器,当然也可以使用android自带的webview,那么开发就可以分开了,android的做android的部分,网站的做网站的部分,极大的提高了开发效率,而且也增加了app的功能和

利用ISCSI存储技术构建IP存储网络

本文重点介绍如何构建一个PC构架的iSCSI存储系统,这里我们选择一个普通的.性能优良的.可支持多块磁盘的PC服务器作为iSCSI target,并且选择一个成熟稳定的iSCSI target软件iscsitarget,基本配置环境如表1所示:表1 这里将Target主机第三块硬盘(硬盘标识为/dev/sdc)作为iSCSI共享磁盘,硬盘大小为10G,分别共享给一台windows主机和一台Linux主机,基本结构如图1所示: 图1 下面开始详细介绍iSCSI网络存储的搭建过程. 一.安装iSCS