免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7390 | 回复: 5
打印 上一主题 下一主题

用zfs的rpool如何扩展空间 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-26 15:22 |只看该作者 |倒序浏览
在solaris10 u6系统下,如何拓展rpool分区,\r\n我操作后报如下错误:\r\nroot@sheect222 # zpool list\r\nNAME    SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT\r\nrpool  29.8G  4.45G  25.3G    14%  ONLINE  -\r\nroot@sheect222 # format\r\nSearching for disks...done\r\n\r\n\r\nAVAILABLE DISK SELECTIONS:\r\n       0. c1t0d0 <DEFAULT cyl 3913 alt 2 hd 255 sec 63>\r\n          /pci@0,0/pci15ad,1976@10/sd@0,0\r\n       1. c1t1d0 <VMware,-VMware Virtual S-1.0-30.00GB>\r\n          /pci@0,0/pci15ad,1976@10/sd@1,0\r\n       2. c1t2d0 <VMware,-VMware Virtual S-1.0-60.00GB>\r\n          /pci@0,0/pci15ad,1976@10/sd@2,0\r\nSpecify disk (enter its number): ^D\r\nroot@sheect222 # zpool status\r\n  pool: rpool\r\n state: ONLINE\r\n scrub: none requested\r\nconfig:\r\n\r\n        NAME        STATE     READ WRITE CKSUM\r\n        rpool       ONLINE       0     0     0\r\n          c1t0d0s0  ONLINE       0     0     0\r\n\r\nerrors: No known data errors\r\nroot@sheect222 # zpool add -f rpool c1t1d0\r\ncannot add to \'rpool\': root pool can not have multiple vdevs or separate logs\r\nroot@sheect222 #

论坛徽章:
0
2 [报告]
发表于 2009-05-27 11:00 |只看该作者
zpool add/remove\r\n\r\n\r\n        在zpool create/destroy一节中,我们讲了怎样创建和删除一个pool。我们之所以说ZFS简单易用,就是它把系统管理员从复杂而繁琐的管理工作中解放出来,从而将更多的时间花在系统的整体构架上,而不是被日常的管理束缚住手脚和头脑。记得九月份在上海出差参加Sun Tech Days活动,在展台上和很多来自各个行业的软件开发者,系统管理员,系统工程师聊。大家有一个共同的认识就是,现在的volume management + 文件系统的管理方式在做系统扩充和缩小时非常复杂,常常为此提前要做各方面的准备,实施计划,操作流程,回退计划等等。而且,往往这些操作需要宕机做offline工作。我想有过这方面经验的人大概都会有这样的经历。\r\n\r\n        那么,现在我们有了新的选择:ZFS。我们叫ZFS为文件系统,其实ZFS是集volume management和文件系统功能于一体。对于用户来说,它的volume management功能是透明的。ZFS提供了两个简单的命令add/remove来解决系统扩充和缩小需要。而且,一切都是online操作,一切在线业务都不需要停机。zfs add/remove语法如下:\r\n\r\n\r\n\r\n--------------------------------------------------------------------------------\r\n\r\nzpool add [-fn] pool vdev ...\r\n\r\nzpool remove pool vdev\r\n\r\n\r\n\r\n--------------------------------------------------------------------------------\r\n\r\n    注:当前remove操作只支持对hot spares设备的删除。\r\n\r\n    我们做一些实验,实验系统环境如下:\r\n\r\n# format\r\nSearching for disks...done\r\n\r\n\r\nAVAILABLE DISK SELECTIONS:\r\n       0. c1t0d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>\r\n          /pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w21000004cf836e64,0\r\n       1. c1t2d0 <SEAGATE-ST336605FSUN36G-0438-33.92GB>\r\n          /pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w21000004cf836e65,0\r\n       2. c1t3d0 <SEAGATE-ST336605FSUN36G-0438-33.92GB>\r\n          /pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w21000004cf836e6a,0\r\n       3. c1t4d0 <SEAGATE-ST336605FSUN36G-0438-33.92GB>\r\n          /pci@8,600000/SUNW,qlc@2/fp@0,0/ssd@w21000004cf836e60,0\r\n       4. c2t1d0 <SEAGATE-ST318404LSUN18G-4207-16.87GB>\r\n          /pci@9,700000/scsi@3/sd@1,0\r\n       5. c2t2d0 <SEAGATE-ST318404LSUN18G-4207-16.87GB>\r\n          /pci@9,700000/scsi@3/sd@2,0\r\n       6. c2t4d0 <SEAGATE-ST318404LSUN18G-4207-16.87GB>\r\n          /pci@9,700000/scsi@3/sd@4,0\r\n       7. c2t5d0 <SEAGATE-ST318404LSUN18G-4207-16.87GB>\r\n          /pci@9,700000/scsi@3/sd@5,0 \r\n1. 建立一个pool,然后再增加其空间一倍。\r\n\r\n# zpool create mypool c2t5d0\r\n# zfs list\r\nNAME     USED  AVAIL  REFER  MOUNTPOINT\r\nmypool    85K  16.5G  24.5K  /mypool\r\n# zpool add mypool c2t4d0\r\n# zfs list\r\nNAME     USED  AVAIL  REFER  MOUNTPOINT\r\nmypool    88K  33.0G  24.5K  /mypool\r\n\r\n    我们可以看到,再mypool增加了一个新的disk后空间从16.5G变为33.0G。\r\n\r\n# zpool status -v mypool\r\n  pool: mypool\r\n state: ONLINE\r\n scrub: none requested\r\nconfig:\r\n\r\n        NAME        STATE     READ WRITE CKSUM\r\n        mypool      ONLINE       0     0     0\r\n          c2t5d0    ONLINE       0     0     0\r\n          c2t4d0    ONLINE       0     0     0\r\n\r\nerrors: No known data errors\r\n\r\n    我们可以从上面zpool status的输出清晰的看出mypool的盘结构。\r\n\r\n        # zpool destroy mypool\r\n\r\n\r\n    删除mypool\r\n\r\n\r\n2. 建立一个2路的mirror,再为其扩充空间。\r\n\r\n\r\n\r\n# zpool destroy mymirror\r\n# zpool create mymirror mirror c2t1d0 c2t2d0\r\n# zfs list\r\nNAME       USED  AVAIL  REFER  MOUNTPOINT\r\nmymirror    86K  16.5G  24.5K  /mymirror\r\n# zpool status mymirror\r\n  pool: mymirror\r\n state: ONLINE\r\n scrub: none requested\r\nconfig:\r\n\r\n        NAME        STATE     READ WRITE CKSUM\r\n        mymirror    ONLINE       0     0     0\r\n          mirror    ONLINE       0     0     0\r\n            c2t1d0  ONLINE       0     0     0\r\n            c2t2d0  ONLINE       0     0     0\r\n\r\nerrors: No known data errors\r\n\r\n\r\n    两个大小分别为16G的硬盘构成一个2路的mirror,容积仍然为16G。\r\n\r\n# zpool add mymirror mirror c2t4d0  c2t5d0\r\n# zpool status mymirror\r\n  pool: mymirror\r\n state: ONLINE\r\n scrub: none requested\r\nconfig:\r\n\r\n        NAME        STATE     READ WRITE CKSUM\r\n        mymirror    ONLINE       0     0     0\r\n          mirror    ONLINE       0     0     0\r\n            c2t1d0  ONLINE       0     0     0\r\n            c2t2d0  ONLINE       0     0     0\r\n          mirror    ONLINE       0     0     0\r\n            c2t4d0  ONLINE       0     0     0\r\n            c2t5d0  ONLINE       0     0     0\r\n\r\nerrors: No known data errors\r\n# zfs list\r\nNAME       USED  AVAIL  REFER  MOUNTPOINT\r\nmymirror    88K  33.0G  24.5K  /mymirror\r\n\r\n\r\n    结果显而易见,mymirror的大小变为33G。 \r\n\r\n\r\n# zpool destroy mymirror\r\n\r\n \r\n\r\n3.  建立一个raidz池,增加hot spares设备,然后删除。\r\n\r\n# zpool create mypool raidz c2t1d0 c2t2d0 c2t4d0 spare c2t5d0\r\n# zfs list\r\nNAME     USED  AVAIL  REFER  MOUNTPOINT\r\nmypool   102K  33.1G  32.6K  /mypool\r\n# zpool status mypool\r\n  pool: mypool\r\n state: ONLINE\r\n scrub: none requested\r\nconfig:\r\n\r\n        NAME        STATE     READ WRITE CKSUM\r\n        mypool      ONLINE       0     0     0\r\n          raidz1    ONLINE       0     0     0\r\n            c2t1d0  ONLINE       0     0     0\r\n            c2t2d0  ONLINE       0     0     0\r\n            c2t4d0  ONLINE       0     0     0\r\n        spares\r\n          c2t5d0    AVAIL\r\n\r\nerrors: No known data errors\r\n\r\n    对于raidz/raidz1/raidz2来说,整个池的大小等于(N-P) * min(disk size)。N表示disk个数,P为冗余盘的个数,即1或者2。raidz是raidz1的alias。关于数据冗余,我会在以后专门拿出来讨论。hot spares设备不计入池空间。\r\n\r\n\r\n# zpool remove mypool c2t5d0\r\n    hot spares设备被删除。 \r\n\r\n# zpool status mypool\r\n  pool: mypool\r\n state: ONLINE\r\n scrub: none requested\r\nconfig:\r\n\r\n        NAME        STATE     READ WRITE CKSUM\r\n        mypool      ONLINE       0     0     0\r\n          raidz1    ONLINE       0     0     0\r\n            c2t1d0  ONLINE       0     0     0\r\n            c2t2d0  ONLINE       0     0     0\r\n            c2t4d0  ONLINE       0     0     0\r\n\r\nerrors: No known data errors\r\n# zfs list\r\nNAME     USED  AVAIL  REFER  MOUNTPOINT\r\nmypool   102K  33.1G  32.6K  /mypool\r\n\r\n# zpool destroy mypool\r\n\r\n\r\n        add/remove是对整个池的大小的修改,但如果我想将一个简单的stripe文件系统变成一个带冗余的mirror,该怎么办?或者想将一个3路mirror变成2路的又该如何?add/remove是没法做到这一点的。这就是我们下一次要探讨的zpool attach/detach。\r\n\r\nhttp://blogs.sun.com/forrest/ent ... _2_zpool_add_remove

论坛徽章:
0
3 [报告]
发表于 2010-01-26 17:58 |只看该作者
有同样的疑问。。。。怎么扩大rpool的空间?楼上的貌似回答的不对

论坛徽章:
0
4 [报告]
发表于 2010-01-27 09:35 |只看该作者
\r\n向高手学习。

论坛徽章:
7
荣誉会员
日期:2011-11-23 16:44:17水瓶座
日期:2013-08-28 21:20:16丑牛
日期:2013-10-02 21:01:462015年迎新春徽章
日期:2015-03-04 09:54:45操作系统版块每日发帖之星
日期:2016-06-05 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-20 08:24:0515-16赛季CBA联赛之四川
日期:2016-08-18 15:02:02
5 [报告]
发表于 2010-01-27 17:16 |只看该作者
rpool是一个有点特殊的pool,不建议你惦记。

论坛徽章:
0
6 [报告]
发表于 2010-01-27 23:06 |只看该作者
I don\'t think you can concatenate by adding disk to root pool. If you want to mirror the existing root disk, you can use zpool attach instead of zpool add. There is a tricky way to increase the size of the c1t0d0s0 partition to realize a bigger root disk.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP