存在类似的问题,但是解决方案(使用mv
)很糟糕,因为在这种情况下,它可以用作“复制,然后删除”,而不是纯“移动”。
因此,我创建了一个池:
zpool create tank /dev/loop0
并直接从那里的另一个存储中重新同步了我的数据,因此我的数据现在位于/tank
。
zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 591G 2.10T 591G /tank
现在,我意识到我需要将数据存储在子文件系统中,而不是/tank
直接在文件系统中。
那么,如何移动或重命名现有的根文件系统,使其成为池中的子文件系统?
简单的重命名将不起作用:
zfs rename tank tank/mydata
cannot rename to 'tank/mydata': datasets must be within same pool
(顺便说一句,如果事实上我只有一个池,为什么它抱怨数据集不在同一池中?)
我知道有一些解决方案涉及复制所有数据(mv
或将整个数据集发送到另一台设备并返回),但是不应该有一种简单的优雅方法吗?
只是要注意,我在此阶段不关心快照(尚无要关心的快照)。