|
ZFS是下一代文件系统,它支持许多高级存储技术,例如卷管理,快照,校验和,压缩和重复数据删除,复制等。 它由Sun Microsystems(现为Oracle Corporation)创建,并以CDDL许可证开源。由于CD云计DL和GPL之间的许可不兼容,因此ZFS不能作为主线Linux内核的一部分提供。但是,Linux上的ZFS(ZoL)项目提供了树外内核模块和用户空间工具,可以分别安装它们。 Linux上的ZFS(ZoL)端口是健康且成熟的。但算核是,目前不建议将zfsDocker存储驱动程序用于生产,除非您对Linux上的ZFS有丰富的经验。 前提条件 ZFS需要一个或多个专用块设备,最好是固态驱动器(SSD)。 ZFS仅支持Docker引擎-社区与Ubuntu 14.04心技或更高版本,与zfs 包(16.04及更高版本)或zfs-native与ubuntu-zfs已安装的软件包(14.04)。 对于Ubuntu 14.04,需要先启用补充软件包存储库, ppa:zfs-native/stable术D然后才能安装软件包。有关 说明,请参见 https://launchpad.net/~zfs-native/+archive/ubuntu/stable。 Docker EE或CS-Engine或任何其他Linux平台不支持ZFS。 该oc/var/lib/docker/目录必须安装在ZFS格式的文件系统上。 更改存储驱动程序将使您已经创建的所有容器在本地系统上均不可访问。使用docker save保存的容器,并推动现有图像Docker集线器或私人仓库,这样就ke不需要再后来创建它们。 配置Docker与zfs存储驱动程序 1.停止Docker。 2.复制内容/var/lib/docker/到/var/lib/docker.bk并删除的内容/var/lib/docker/。 $ sudr教o cp -au /var/lib/docker /var/lib/docker.bk $ sudo rm -rf /var/lib/docker/* 3.在一个zpool或多个专用块设备上创建一个新的,然后将其安装到中/var/lib/d程:ocker/。确保指定了正确的设备,因为这是破坏性的操作。本示例将两个设备添加到池中。 $ sudo zpool create -f zpool-docker -m /var/lib/docker /dev/xvdf /dev/xvdg 该Do命令将创建zpool和并将其命名zpool-docker。该名称仅用于显示目的,您可以使用其他名称。使用检查创建和正确安装了池zfs list。 $ sudo zfs list NAME USED AVAIL REFER MOUNTPOckINT zpool-docker 55K 96.4G 19K /var/lib/docker 4.配置Docker以使用zfs。编辑/etc/docker/daemon.json并将设置 storage-driver为zfs。如果该文件以前er为空,则现在应如下所示: { "storage-driver": "zfs" } 保存并关闭文件。 5.启动Docker。使用docker info验证存储驱动程序zfs。 $ sudo docker info Containers使用: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 17.03.1-ce Storage Driver: zfs Zpool: zpool-docker Zpool Health: ONLZFINE Parent Dataset: zpool-docker Space Used By Parent: 249856 Space Available: 103498395648 Parent Quota: no Compression: off &lS存t;...>
|