免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: m@qintoshi
打印 上一主题 下一主题

虚心请教这种情况下如何扩容? [复制链接]

论坛徽章:
0
31 [报告]
发表于 2010-01-07 10:33 |只看该作者
原帖由 hexilanlan 于 2010-1-6 11:27 发表
# metadb -a -f -c 3 c0t1d0s6

这个命令会对c0t1d0s6的数据有影响不?
还有这么做了之后,这个s6还能当空的slice正常写数据吗?


实际用过了,原有数据没有了。不能当slice用。不过newfs以后又可以了
不知道这样对不对。

刚才有点混乱,查了很多资料,doging 也说过:
########
要先建metadb才行,你可给T2分好区,选一个做metadb,T1或T0硬盘也最好能从其它分区抠一块做metadb分区,比如swap分区
最好把prtvtoc /dev/dsk/c0t1d0s0帖出来看看
########

要把metadb的数据专门划个分区出来做
比如c0t1d0s7(都推荐s7),然后做 metadb -a -f -c 3 c0t1d0s7
     c0t0d0s7               然后做 metadb -a -f -c 3 c0t0d0s7
然后#然后做连接 metainit -f d0 2 1 c0t1d0s6 1 c0t0d0s3
好像是这样,请各位再次指点

论坛徽章:
0
32 [报告]
发表于 2010-01-07 11:42 |只看该作者
doging辛苦了

论坛徽章:
0
33 [报告]
发表于 2010-01-07 12:01 |只看该作者
growfs真是好命令,

除了在线扩meta分区,还能扩/dev/rdsk分区

论坛徽章:
0
34 [报告]
发表于 2010-01-07 12:05 |只看该作者
原帖由 doging 于 2010-1-7 13:01 发表
growfs真是好命令,

除了在线扩meta分区,还能扩/dev/rdsk分区


老师辛苦了
不过如果一个盘,没有剩余分区作metadb,就不能在线作了

论坛徽章:
0
35 [报告]
发表于 2010-01-07 12:53 |只看该作者

特别要感谢doging老师的耐心讲解

特别要感谢doging老师的一次又一次耐心讲解
wuqing老师的友情提示,
东方蜘蛛老师的指点
yuhuohu老师提示散分地友情出演
以及很多未提到的本贴中各位热情参与的朋友和老师们,谢谢你们
正因为有了你们,成功了。

不过在T1上如果所有分区都用给数据,未分出空余分区给metadb的情况下,
就大概没治了吧?
这种情况各位有什么建议么?

在 /export/home2(c0t1d0s6)数据保留的情况下, 把另外的硬盘的剩余空间c0t0d0s3拉过来扩容
成功。分区情况:
c0t0d0:    剩余空间分区  s3     49.2G
                metadb分区  s4     149M

c0t1d0:    剩余空间分区  s6      68.25G
                metadb分区  s7      104M
0.已挂载s6
#df -h
Filesystem             size   used  avail capacity  Mounted on
。。。
/dev/dsk/c0t1d0s6       67G    64M    66G     1%    /export/home2
。。。

# pwd
/export/home2

# ls
lost+found  test

# more test
abcdefg 123456789

q

1。建立metadb备份
# metadb -a -f -c 2 c0t0d0s7
# metadb -a -f -c 2 c0t0d0s4

# metadb
        flags           first blk       block count
     a        u         16              8192            /dev/dsk/c0t1d0s7
     a        u         8208            8192            /dev/dsk/c0t1d0s7
     a        u         16              8192            /dev/dsk/c0t0d0s4
     a        u         8208            8192            /dev/dsk/c0t0d0s4
# metastat


2。建立条状串连(T1的s6数据必须在挂载状态)
# metainit -f d0 2 1 c0t1d0s6 1 c0t0d0s3
d0: Concat/Stripe is setup

# metastat
d0: Concat/Stripe
    Size: 246320256 blocks (117 GB)
    Stripe 0:
        Device     Start Block  Dbase   Reloc
        c0t1d0s6          0     No      Yes
    Stripe 1:
        Device     Start Block  Dbase   Reloc
        c0t0d0s3          0     No      Yes

Device Relocation Information:
Device   Reloc  Device ID
c0t1d0   Yes    id1,sd@n5000cca0007a5690
c0t0d0   Yes    id1,sd@n5000cca00083a334

查看建立以后空间大小改变没
# df -h
Filesystem             size   used  avail capacity  Mounted on
。。。
/dev/dsk/c0t1d0s6       67G    64M    66G     1%    /export/home2
。。。

3。更新dev src 条状串联
# umount /export/home2
# mount /dev/md/dsk/d0 /export/home2
# df -h
Filesystem             size   used  avail capacity  Mounted on
/dev/md/dsk/d0          67G    64M    66G     1%    /export/home2
大小未变,按照预定计划,把T0的s3头部连在了T1的s6的尾部

# ls -lp
total 8
drwxr-xr-x   3 root     root         512 Apr 24  2009 home/
drwxr-xr-x   2 root     root         512 Jan  7 10:23 home1/
drwxr-xr-x   3 root     root         512 Jan  7 13:09 home2/
drwxr-xr-x   2 root     root         512 Mar 31  2009 install/
# cd home2
# ls
lost+found  test
# more test
abcdefg 123456789

q
数据都保留了


# cd /export
# ls
home     home1    home2    install
# pwd
/export

4.扩容在线设备
# growfs -M /export/home2 /dev/md/rdsk/d0
Warning: 4992 sector(s) in last cylinder unallocated
/dev/md/rdsk/d0:        246320256 sectors in 40092 cylinders of 48 tracks, 128 sectors
        120273.6MB in 2506 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,
Initializing cylinder groups:
.................................................
super-block backups for last 10 cylinder groups at:
245366816, 245465248, 245563680, 245662112, 245760544, 245858976, 245957408,
246055840, 246154272, 246252704

完成

# df -h
Filesystem             size   used  avail capacity  Mounted on
/dev/dsk/c0t0d0s0       15G    10G   4.3G    71%    /
。。。
/dev/md/dsk/d0         116G    64M   115G     1%    /export/home2
。。。
# pwd
/export
# cd home2
# ls
lost+found  test
# more test
abcdefg 123456789

q


为了能reboot后自动挂载,修改原mount point 和 device
# vi /etc/vfstab
"/etc/vfstab" 13 lines, 493 characters
#device         device          mount           FS      fsck    mount   mount
#to mount       to fsck         point           type    pass    at boot options
#
。。。
/dev/md/dsk/d0    /dev/md/rdsk/d0    /export/home2    ufs    3    yes   -
。。。
~
"/etc/vfstab" 13 lines, 486 characters

评分

参与人数 1信誉积分 +2 收起 理由
yuhuohu + 2 我很赞同

查看全部评分

论坛徽章:
0
36 [报告]
发表于 2010-01-07 12:59 |只看该作者
你可以在T0/T2放metadb,不是必须在T1硬盘放

多个metadb是为了冗余,只要开机系统能读到就可以了

论坛徽章:
0
37 [报告]
发表于 2010-01-07 13:54 |只看该作者
原帖由 doging 于 2010-1-7 13:59 发表
你可以在T0/T2放metadb,不是必须在T1硬盘放

多个metadb是为了冗余,只要开机系统能读到就可以了


刚才还有一点点不懂,现在才明白其实整个系统,
只要有一个metadb就够了,多个是为了冗余。
c 指定数量, 说写在一个硬盘上必须要是,3。 分别写的话可以写2个?
我这样理解对么?

那比如说我有3块硬盘。 T0,T1,T2

1。如果条件允许,就每个下面都分出专用分区(假如说是s7)放metadb

2。如果在建立metadb前,T0, T1地分区都分完了,并且都有数据不能单了。
按照老师的说法,就是只需要把metadb的信息放在T2就可以了吧?
那整个系统的metadb分100M完全够用了吧?

2的情况只需要建立一次metadb -a -f -c 3 c0t2d0s7
然后再按照前面的方法连接就可以了吧?

论坛徽章:
0
38 [报告]
发表于 2010-01-07 14:37 |只看该作者
如果没有空余的slice的话 可以ufsdump /export/home的数据 然后再想办法

论坛徽章:
0
39 [报告]
发表于 2010-01-07 16:22 |只看该作者
只要有空闲的slice都好说,可以从swap分一点点出来

论坛徽章:
0
40 [报告]
发表于 2010-01-07 17:02 |只看该作者
原帖由 doging 于 2010-1-7 16:22 发表
只要有空闲的slice都好说,可以从swap分一点点出来

顶这个!!!!!doging强的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP