常见问题常见问题   搜索搜索   会员列表会员列表   团队团队   注册注册    个人资料个人资料   登录查看您的站内信件登录查看您的站内信件   登录登录 

FB10.2,一块硬盘,zfs分区,想加3块变raidz,怎么破?

 
发表新文章   回复文章    FreeBSD China -> 技术交流
阅读上一个主题 :: 阅读下一个主题  
作者 留言
fefa2004
半仙


注册时间: 2005-03-30
文章: 72

文章发表于: Wed 2016-04-06 13:15:32    发表主题: FB10.2,一块硬盘,zfs分区,想加3块变raidz,怎么破? 引用并回复

如题,直接用zpool raidz1 ad0(原来的系统) ad1 ad2 ad3可以么?或者有没有别的曲线解决的办法,比如先用ad1 ad2 ad3创建一个raidz1的池,再用它做备用根池,然后把ad0换下来,再加入到raidz1池里面……?
望大神指点
返回页首
阅览会员资料 发送站内信件 MSN Messenger
alphachi
老妖


注册时间: 2007-12-10
文章: 1248
来自: @tweetxa

文章发表于: Thu 2016-04-07 11:38:55    发表主题: 引用并回复

1. ad1~3做raidz;
2. zfs send把ad0上的文件系统发送到raidz上,当然非要直接cp也是可以的;
3. 将引导池切换到raidz;
4. 重启测试成功并确保数据没有问题的情况下,销毁ad0所在的池;
5. 将ad0添加至raidz。

类似这种危险的操作,建议备份好数据,并且至少先在虚拟机里演练一下。

_________________
Paranoid in Sabbath ...
返回页首
阅览会员资料 发送站内信件
harbinbeer
道士


注册时间: 2006-07-27
文章: 829

文章发表于: Fri 2016-04-08 01:23:56    发表主题: 引用并回复

小小补充:
1.前后zpool名称最好区分开
2.如果用旧zpool启动,对于新zpool,import之后记得export
3.可能会用到liveCD
其实zfs还是很耐折腾的,只要不复写,不会有大问题。

_________________
不能复用的知识=垃圾
返回页首
阅览会员资料 发送站内信件
fefa2004
半仙


注册时间: 2005-03-30
文章: 72

文章发表于: Fri 2016-04-08 13:08:50    发表主题: 引用并回复

harbinbeer 写到:
小小补充:
1.前后zpool名称最好区分开
2.如果用旧zpool启动,对于新zpool,import之后记得export
3.可能会用到liveCD
其实zfs还是很耐折腾的,只要不复写,不会有大问题。


感谢感谢感谢!
重要的事情要说三遍 :P
返回页首
阅览会员资料 发送站内信件 MSN Messenger
fefa2004
半仙


注册时间: 2005-03-30
文章: 72

文章发表于: Fri 2016-04-08 13:11:22    发表主题: 引用并回复

alphachi 写到:
1. ad1~3做raidz;
2. zfs send把ad0上的文件系统发送到raidz上,当然非要直接cp也是可以的;
3. 将引导池切换到raidz;
4. 重启测试成功并确保数据没有问题的情况下,销毁ad0所在的池;
5. 将ad0添加至raidz。

类似这种危险的操作,建议备份好数据,并且至少先在虚拟机里演练一下。


感谢感谢感谢 :wink:
返回页首
阅览会员资料 发送站内信件 MSN Messenger
fefa2004
半仙


注册时间: 2005-03-30
文章: 72

文章发表于: Fri 2016-04-08 14:21:11    发表主题: 引用并回复

alphachi 写到:
1. ad1~3做raidz;
2. zfs send把ad0上的文件系统发送到raidz上,当然非要直接cp也是可以的;
3. 将引导池切换到raidz;
4. 重启测试成功并确保数据没有问题的情况下,销毁ad0所在的池;
5. 将ad0添加至raidz。

类似这种危险的操作,建议备份好数据,并且至少先在虚拟机里演练一下。

大神再给个具体命令呗?看了半天Oracle官方文件没太看懂
我原来系统在da0上,后加了3块硬盘分别是da1 da2 da3,原来的池是zroot,三块硬盘新建的raidz是tank,具体用什么命令发送文件系统?是不是要把原来整个文件系统做个快照,然后把快照发送到tank?我试了,提示不能接收
#zfs send zroot@friday | zfs recv -F tank
返回页首
阅览会员资料 发送站内信件 MSN Messenger
harbinbeer
道士


注册时间: 2006-07-27
文章: 829

文章发表于: Fri 2016-04-08 19:31:24    发表主题: 引用并回复

fefa2004 写到:
alphachi 写到:
1. ad1~3做raidz;
2. zfs send把ad0上的文件系统发送到raidz上,当然非要直接cp也是可以的;
3. 将引导池切换到raidz;
4. 重启测试成功并确保数据没有问题的情况下,销毁ad0所在的池;
5. 将ad0添加至raidz。

类似这种危险的操作,建议备份好数据,并且至少先在虚拟机里演练一下。

大神再给个具体命令呗?看了半天Oracle官方文件没太看懂
我原来系统在da0上,后加了3块硬盘分别是da1 da2 da3,原来的池是zroot,三块硬盘新建的raidz是tank,具体用什么命令发送文件系统?是不是要把原来整个文件系统做个快照,然后把快照发送到tank?我试了,提示不能接收
#zfs send zroot@friday | zfs recv -F tank


先用raidz安装系统
用老zroot启动,挂载raidz
备份raidz的/boot/zfs/zpool.cache
发送原来zroot快照到raidz
还原zpool.cache
export raidz
用raidz启动

写的不太严谨,大概流程这样。

_________________
不能复用的知识=垃圾
返回页首
阅览会员资料 发送站内信件
sharin
道士


注册时间: 2003-05-09
文章: 581

文章发表于: Sat 2016-05-14 11:45:23    发表主题: 引用并回复

http://bbs.fyjy.net/showthread.php?t=4889

zfs 如何提前在缺少1-2-n若干盘的情形下,创建最低限度的冗余阵列,等待后续添加空硬盘补足冗余量?

这个问题很常见。
比如我预设要创建一个5个2TB硬盘的raidz,但是现在机器上只插了4个2T硬盘,还有一个硬盘尚未到位。
默认情况下,我只能创建一个4个2TB的raidz,空间只有6TB,并且无法追加第5个硬盘到这个raidz中去,变成我需要的8TB raidz。

需求:需要用4个2TB硬盘提前创建这个8TB的raidz,还有一个冗余位会在硬盘买来后及时填充。

1. 创建一个5GB的内存盘,装载到/mnt:
mdmfs -s 5g md1 /mnt

创建1个2TB的空文件

dd if=/dev/null of=nullfile4 bs=1 count=1 seek=2000398934016

ll
total 529
drwxr-xr-x 3 root wheel 512 Dec 29 22:45 ./
drwxr-xr-x 19 root wheel 27 Dec 29 22:41 ../
drwxrwxr-x 2 root operator 512 Dec 29 22:45 .snap/
-rw-r--r-- 1 root wheel 2000398934016 Dec 29 22:45 nullfile4

用4个2TB物理硬盘和这个2TB空文件组合出一个raidz。
注意:因为混合了设备和硬盘,zpool提示告警,需要用-f参数忽略。

[root@] /mnt# zpool create ftp raidz da5 da6 da7 da8 /mnt/nullfile4 invalid vdev specification
use '-f' to override the following errors:
/dev/da7 is part of active pool 'tank'
[root@] /mnt# zpool create ftp raidz da5 da6 da8 da9 /mnt/nullfile4
invalid vdev specification
use '-f' to override the following errors:
mismatched replication level: raidz contains both files and devices
zpool create -f ftp raidz da5 da6 da8 da9 /mnt/nullfile4

[root] /mnt# zpool status ftp

引用:
pool: ftp
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
ftp ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
da5 ONLINE 0 0 0
da6 ONLINE 0 0 0
da8 ONLINE 0 0 0
da9 ONLINE 0 0 0
/mnt/nullfile4 ONLINE 0 0 0

errors: No known data errors



这时可以offline 这个空文件设备了。
主意:如果是mirror,我们就可以detach它;但是raidz不能detach,只能offline 。
千万不要在没有offline 之前往raidz里面填文件哦,否则5G的mendisk很快就溢出了。



zpool offline ftp /mnt/nullfile4
[root] /mnt# zpool detach ftp /mnt/nullfile4
cannot detach /mnt/nullfile4: only applicable to mirror and replacing vdevs
[root] /mnt# zpool status ftp
引用:
pool: ftp
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Online the device using 'zpool online' or replace the device with
'zpool replace'.
scan: none requested
config:

NAME STATE READ WRITE CKSUM
ftp DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
da5 ONLINE 0 0 0
da6 ONLINE 0 0 0
da8 ONLINE 0 0 0
da9 ONLINE 0 0 0
519674158292619556 OFFLINE 0 0 0 was /mnt/nullfile4

errors: No known data errors


/mnt# ll
total 1425
drwxr-xr-x 3 root wheel 512 Dec 29 23:16 ./
drwxr-xr-x 20 root wheel 28 Dec 29 23:17 ../
drwxrwxr-x 2 root operator 512 Dec 29 23:16 .snap/
-rw-r--r-- 1 root wheel 2000398934016 Dec 29 23:17 nullfile4
删除文件
[root] /mnt# rm nullfile4
[root] /mnt# cd /

卸载内存盘
[root] /# umount /mnt/
删除内存盘

[root] /# mdconfig -d -u 1

online 上线内存盘,因为文件已经不存在,会报错。

[root] /# zpool online ftp 519674158292619556
warning: device '519674158292619556' onlined, but remains in faulted state
use 'zpool replace' to replace devices that are no longer present
[root] /# zpool status ftp
引用:

pool: ftp
state: DEGRADED
status: One or more devices could not be opened. Sufficient replicas exist for
the pool to continue functioning in a degraded state.
action: Attach the missing device and online it using 'zpool online'.
see: http://illumos.org/msg/ZFS-8000-2Q
scan: none requested
config:

NAME STATE READ WRITE CKSUM
ftp DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
da5 ONLINE 0 0 0
da6 ONLINE 0 0 0
da8 ONLINE 0 0 0
da9 ONLINE 0 0 0
519674158292619556 UNAVAIL 0 0 0 was /mnt/nullfile4

errors: No known data errors


注意:此时ftp虽然可用,但是没有冗余状态哦。在此期间,4个盘是不能坏任何一个的。否则会丢数据。

按上面的提示,等新硬盘就位后,用 'zpool replace' 命令,替换内存盘产生的空缺UNAVAIL 失效硬盘位置即可恢复冗余状态。
返回页首
阅览会员资料 发送站内信件
从以前的文章开始显示:   
发表新文章   回复文章    FreeBSD China -> 技术交流 论坛时间为 北京时间
1页/共1

 
转跳到:  
不能发布新主题
不能在这个论坛回复主题
不能在这个论坛编辑自己的文章
不能在这个论坛删除自己的文章
不能在这个论坛发表投票


Powered by phpBB 2023cc © 2003 Opensource Steps; © 2003-2009 The FreeBSD Simplified Chinese Project
Powered by phpBB © 2001, 2005 phpBB Group
Protected by Project Honey Pot and phpBB.cc
silvery-trainer
The FreeBSD China Project 网站: 中文计划网站 社区网站
The FreeBSD China Project 版权所有 (C) 1999 - 2003 网页设计版权 著作权和商标