【发布时间】:2017-04-04 12:21:36
【问题描述】:
我尝试通过 ZIL 向 zpool 添加 SSD,但我犯了一个错误。
我期待.. zpool 添加区域日志 c0t1d0
但我做到了... zpool add zone c0t1d0
我尝试执行区域删除、分离、离线命令,但失败了。
如何在 zpool 中移除 SSD 而不会丢失数据?
$ zpool status
pool: zones
state: ONLINE
scan : non requested
config:
NAME STATE READ WRITE CKSUM
zones ONLINE 0 0 0
c0t0d0 ONLINE 0 0 0
c0t1d0 ONLINE 0 0 0
$ zpool iostat -v
capacity operations bandwidth
pool alloc free read write read write
---------- ----- ----- ----- ----- ----- -----
zones 280G 109G 40 139 1.28M 13.7M
c0t0d0 263G 15.3G 39 35 1.25M 2.61M
c0t1d0 17.6G 93.4G 0 104 20.9K 11.1M
---------- ----- ----- ----- ----- ----- -----
【问题讨论】:
-
只是来自无知者的额外建议!丹,在从池中删除驱动器后运行另一个实用程序,将文件(再次)复制到池中的新位置并同时删除间接映射,这不是一个相当简单的补充吗? - 是的,复制两次,但这将是从驱动器中复制数据,移除驱动器,然后再次将数据复制回池中的“逻辑等价物”,但是自动完成而不是手动完成,并且是加载的实用解决方案 -驱动器也是如此。 - 只是一个想法!
-
@user10209401 我想你的意思是把这个贴在我下面的回答下面:)。不幸的是,这并不是那么简单,因为 ZFS 还必须遍历整个池元数据树并重写所有指向旧数据的位置(在快照、重复数据删除表等中)。使用间接映射,ZFS 发现给定块指针中列出的设备丢失并查阅映射,这更容易实现。
标签: zfs