存储策略与方案
为了达到应用在DCOS上动态迁移和扩展的目的,DCOS上的应用在停止并重启后默认会失去状态数据而全新启动。但是,对于某些场景,如数据库,Kafka,Cassandra,Nginx缓存等有状态的应用,这些应用要求在重启时能够恢复原来的状态,此时就要考虑为这些应用提供持久化的存储策略和方案。
从容器的角度来看存储可以分为:容器内存储和宿主机存储。而宿主机存储又区分为:本机物理存储和外部共享存储。因此,从容器访问存储资源的可达性,容器数据的存储策略涉及:容器内存储资源,宿主本机存储和宿主外部共享存储三类。
容器内存储资源
容器内存储资源随着容器的停止而消失,因此不过多讨论。这里重点关注容器的宿主本机存储和宿主外部共享存储两类方案。
宿主本机存储
宿主外部共享存储
宿主外部共享存储也区分为两种方案,一种是分布式文件系统,一种是SAN或SDS。
分布式文件系统
SAN/SDS
从DC/OS(Mesos)的角度来看,存储为其可视范围内可控可分配的磁盘资源空间。通常包括Agent节点的/var/lib/dcos/mesos-resources
中配置的操作系统磁盘(ROOT),本地静态分区(PATH),挂载磁盘(MOUNT)如本地挂载、NFS、SDS/SAN。详细信息请参考磁盘资源和增加磁盘资源。