zfs 怎样重新识别掉电后的磁阵?
场景是把磁阵挂载到linux上,成为sdb,然后把sdb做成一个zpool,问题是,有时候万一磁阵重启了,sdb消失了,但是zpool还在挂载,zpool export 或者umount都失败,怎么样才能让zpool重新识别sdb?例如怎么样重新启动zfs?
谢谢大侠支持! sdb 消失了, zpool 还在? 回复 2# q1208c
是啊,磁阵断网了,sdb也消失了,但是mount记录还在, zpool export 也不能用,重新恢复网络,zpool也不能正常工作,必须重启,但是重启的过程中,zpool下托管的mount可能会umont不掉,系统关机卡死... 回复 3# 0602114042
你用的是哪个版本的 zfs for Linux ?
回复 4# q1208c
http://zfsonlinux.org/下载的,0.6.3最新版的
今天又出问题,我们是把磁阵多个硬盘做raid5,做成一个sdb卷挂载在操作系统上,然后针对sdb做zpool,不做raid z
今天机房磁阵多次断电,结果现在发现zpool的元数据损坏了,悲剧
# zpool import
pool: log_data
id: 4809737669058830587
state: FAULTED
status: The pool metadata is corrupted.
action: The pool cannot be imported due to damaged devices or data.
The pool may be active on another system, but can be imported using
the '-f' flag.
see: http://zfsonlinux.org/msg/ZFS-8000-72
config:
log_data FAULTEDcorrupted data
scsi-3600000e00d2800000028041f00000000ONLINE
#
# zpool import -f log_data
cannot import 'log_data': I/O error
Destroy and re-create the pool from
a backup source.
我们这种硬件做raid5,不做raidz这种方法恰当吗?一般是怎么用的?硬件不做raid5,zfs做raidz?
请问你们一般是怎么使用的?怎么样避免元数据受损?谢谢!
我还没在生产中使用过 zfs.
在测试中. 硬件上是不做RAID的. 由zfs来管理硬盘.
至于是 raidz 还是 raid1 , 要看数据的情况. 我早前测试的数据找不到了, 印象中zfs的raid 比硬件的raid略差一点点.
但 zfs 的raid恢复快. 因为不需要 重建整个硬盘, 只需要把有数据的部分重建就可以了.
顺便说一句, 你们的机房怎么会总是掉电呢. 回复 6# q1208c
总调电或者断网是我故意的,因为我要写脚本监控实现容灾,哈哈,
目前在不断电或者断网下,zfs还是很稳定的
所以我在想是不是我zfs使用的策略有问题,应该由zfs管理raid或者元数据? 回复 7# 0602114042
一般来说, 如果使用 ZFS, 那硬件层面建议使用 SAS卡, 而非 RAID卡.
所有的硬盘由ZFS来管理, 或者这样说, 如果你盘柜里有12块磁盘, 那么 你的 OS (ZFS)
应该能看到 12块磁盘, 然后, 用ZFS管理这12块磁盘, 生成一个新的 ZFS pool. 当然
可以生成多个pool, 这要看你的实际需求.
关于你的说的盘柜掉电, 这应该有点象硬盘被拔掉了的情况. 这在生产中是不多见的.
因为一般情况下, 盘柜都是双电源, 并且, 跟主机放在同一个机柜中, 所以, 盘柜单独
掉电的情况, 在实际生产中, 并不多见. 不过, 我见过有的存储的配置, 他们的策略是
每个盘柜选一块盘, 纵向为一组, 这样, 就算有盘柜掉电, 那对于一个组来说, 也只会
损失一块盘, 不会影响整个 Raid Group.
页:
[1]