如何在不增加存储空间的情况下,将/var/lib/docker与数据*原样*覆盖的目录结构进行复制



我在/var/lib/docker中安装了一个docker,其中包含几个映像和大约150gb的数据。该设置使用overlayfs作为其存储驱动程序。/var/lib/docker/overlay下的每个层都有几个目录保存实际数据。分区大小为160G

我的要求是将docker目录从/var/lib/docker复制到一个1TB的新磁盘,以便我指示docker从这个新分区启动并继续使用我的旧映像。

现在的问题是,当我使用rsynccp命令与-a一起将/var/lib/docker复制到新分区时,而不是总共150G实际数据,总复制数据将达到600G(并且还在计数…)。

Docker也停止了,但不确定OS如何查看160G的数据并将其复制到600G+中。我希望它不是覆盖(合并目录)。df -aTh没有覆盖信息。它也没有帮助卸载内核覆盖驱动程序rmmod overlay

我怎么可能在不进行任何扩展/合并的情况下,按原样复制这些数据呢

原来docker在/var/lib/docker/overlay下的那些目录中使用hardlinks。使用-H和rsync (copy hardlinks as hardlinks)解决了这个问题。

rsync -avPHSX /var/lib/docker /new/partition/

最新更新