zpool 在大量 rsync 下面出现故障

2014-05-16 20:56:03 +08:00
 saharabear
近期用一台旧机器挂了几个硬盘,用FreeBSD10组了ZPOOL, raid-z,运行中一切正常。机器4G内存。

这周需要把所有备份移植过来,于是起了20个rsync+ssh同时跑,跑了24小时也一切正常。

今天下午开始,写入速度变得极慢, 再后来内容都写不进去,做其他事情都没有反应,只能尝试重启,重启后发现进入mountroot> 状态,zfs:zroot 无法启动, 只好livecd 进去后修复zpool,修复过程很普通,import的时候-F就可以了,修复了三次才成功修复。

重启后再进系统,机器恢复。

@likuku 请教,在load的时候发现FreeBSD10还是在load一个opensolaris.so,应该还是移植过来的那套代码。 这种情况是我硬件的问题还是系统搞得有问题的可能性更大?
4001 次点击
所在节点    程序员
14 条回复
abscon
2014-05-16 22:47:16 +08:00
建议召唤delphij
saharabear
2014-05-16 22:59:06 +08:00
@abscon 过去用opensolaris的时候,没有过类似经历,我是山寨SA,所以经验不足。
pubby
2014-05-17 00:26:30 +08:00
我虽然一直在用zfs,但感觉还是很外行

从fb7上的zfs一路用过来,实事求是讲fb10的zfs已经好很多了,但还是在fb10上发生过一次疑似死锁
当时是几个并发进程因为意外在同时创建并写入几个几百G的大文件,于是文件系统貌似死锁了,失去响应。
那些进程也无法KILL掉。

当时观察到磁盘IO处于99%以上,等上十几分钟依然没有缓过来,只能断电重启了。

另外,建议更新到stable/10看看,看代码更新记录,有不少zfs相关的改动
saharabear
2014-05-17 00:29:03 +08:00
@pubby 我现在不敢直接更新,我想等着这次的修复以后,再以原来的强度运行rsync看看结果。
pubby
2014-05-17 00:37:34 +08:00
@saharabear 又得24+hours ? :P

另外4G内存的话,限制一下ARC的上限看看
windyboy
2014-05-17 15:38:04 +08:00
freebsd 是装载了一个opensolaris的微内核
linux 也是一样的
都是openzfs的贡献
saharabear
2014-05-17 22:07:00 +08:00
@pubby 跑了20小时,又挂了,依然livecd启动后修复zfs后问题解决。 我尝试一下ARC配置,目前刚刚找了一台机器,单硬盘,其他配置与生产机相同,也跑一次rsync做做测试,不过这台更新到最新版本。

查阅了一些资料,目前没有进展。

以上各位,感谢已送出。
likuku
2014-05-18 00:52:01 +08:00
@saharabear
@pubby 君的建议很精准,小内存机器必须限制ARC,否则内存耗尽就非常慢...

4G 内存设定,我得找下以前在这种机器跑 freebsd 时的设定笔记.
likuku
2014-05-18 00:54:14 +08:00
@saharabear 之前针对「小于32G内存机器跑 freebsd + zfs」时的笔记:

* 开启 zfs 预读取,提高zfs读取性能:/boot/loader.conf 增加:vfs.zfs.prefetch_disable=0
* 机器物理内存小于32G时(物理内存大于/等于32G时,无需调整),为避免zfs耗尽内存机器僵死,必须对 arc 和 kernel-mem 作限制 :
*
* /boot/loader.conf 增加:
*
* vm.kmem_size="7G" # 机器物理内存总量 -1G
* vm.kmem_size_max="7G" # 同上
* vfs.zfs.arc_max="6G" # vm.kmem_size -1G
* vfs.zfs.vdev.cache.size="768M" # 最小64M ~ 最大 1G
likuku
2014-05-18 00:55:20 +08:00
@saharabear 其实上面 9 楼里我的设定,就是给系统本身至少预留1G内存,不要让ARC耗尽所有内存。
likuku
2014-05-18 01:01:07 +08:00
@windyboy openzfs 只是2014年发起的新项目以继承OpenSolaris时代放出的zfs代码,
freebsd 自 opensolaris 时代就引入 zfs相关代码。

from:
https://wiki.freebsd.org/ZFS
「SUN's ZFS file system became part of FreeBSD on 6th April 2007.」
saharabear
2014-05-18 09:30:06 +08:00
@likuku 我做下测试,谢。
tmqhliu
2014-05-18 13:29:38 +08:00
-STABLE 中有 ZFS 的 patch
http://www.freebsd.org/cgi/query-pr.cgi?pr=187594

另外水木社区 FreeBSD 版 http://www.newsmth.net/nForum/board/FreeBSD 也可以讨论技术问题~ 包括大神 delphij 经常出没 :-P
saharabear
2014-05-21 16:58:04 +08:00
更改ARC以后,问题修复,感谢大家。


@tmqhliu
@likuku
@windyboy
@windyboy
@abscon

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/112898

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX