折腾了一下 neptune 上的 ZFS(2)

原先的 system 卷包含了引导系统和日常运行的所有数据。此次调整将日常运行的其他数据独立到一个新的卷 neptune 上,以方便维护和备份(系统卷很少会出现变化,而其出现问题的修起来很麻烦,所以变为mirror卷)
除了system卷之外,所有的mountpoint均为canmount=off或inherit上层。
/usr/local、/home等拆到 neptune 卷上以方便备份。
创建了必要的符号链接。
迁回过程比预想的快的多(另外针对使用ashift=12和ashift=9两种情况都进行了测试)。

迁移过程中遇到的问题和教训
在拆分时发现之前的一个系统用户的 /home 目录不是 zfs,而是直接放在了根目录中。

在使用 zfs receive 恢复快照时,由于 -R 会采用完整的路径,因此单独创建了一个 recv 目录,然后将上层dataset以 rename 的方式放回 system 卷对应的位置时,由于上层 dataset 并没有从源处接受,导致 /usr 被空目录遮盖。远程 root 登录之后 zfs set canmount=off system/usr 后恢复。

由于事先做好了计划并留有备份,整个迁移过程只导致了短暂停机,而没有损失数据。

平时要多看代码和做性能测试,特别是在数据还不太多的时候。数百GB的数据即使只是在本地跑一遍也是很费时的操作。

其他说明事项
【1】请特别注意:WD的AV系列硬盘是针对流媒体而不是普通的数据应用设计的,在遇到数据错误时并不会像普通硬盘那样反复重试。在我的设计中采用的是异地冗余备份,如果只打算装一块硬盘,或不使用带校验功能的文件系统如ZFS,则不推荐这一系列。

【2】系统卷中的文件主要是引导系统时用到的,采用传统的512字节扇区。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/20881.html