Chinaunix首页 | 论坛 | 博客
  • 博客访问: 368720
  • 博文数量: 100
  • 博客积分: 1894
  • 博客等级: 上尉
  • 技术积分: 951
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-11 23:17
文章分类

全部博文(100)

文章存档

2018年(3)

2014年(2)

2013年(7)

2012年(10)

2011年(8)

2010年(6)

2009年(63)

2008年(1)

分类: 服务器与存储

2012-07-12 10:00:45

用户使用文件系统的时候,经常会发生两类问题:一是由于硬盘容量有限,随着用户数据量的增加,文件系统剩余的空间也就越来越小,可能会导致系统越来越慢或者无法继续使用;二是虽然硬盘容量足够,但是由于用户开始并不了解需求,导致某些分区容量过大而有些关键的分区空间不足,如果重新分区又会丢失现有的数据,停用现在的服务。当用户遇到这些问题的时候,一般的做法就会是买一个新的更大的硬盘,把现有的数据保存其中,然后继续使用。然而,这个办法首先会给影响用户正常服务的使用,给用户带来不便。二来,数据的增加是无穷无尽的,多大的硬盘的都不能让用户一劳永逸,而不断购买更大的硬盘也势必会消耗用户更多的金钱。

    今天的主题是讲述如何利用Storage Foundation来管理磁盘和文件系统,使之能够充分的利用用户现有的资源。即使现有资源已经全部耗尽,用户只要增加有效的资源即可,不需要一定增加更大更多的资源。毕竟,用户需要的是性价比最好的东西,而不是那些最先进的。此外,动态的意思就是我们的操作不需要影响用户的使用,一切工作都是对用户透明的,这用处可是够大的吧!

管理磁盘和文件系统

    在Storage Foundation中,是有一个依赖关系的。文件系统依赖卷,卷依赖与磁盘组,如图所示:

图1,文件系统、卷和磁盘组之间的依赖关系

    有图1可知,如果想要扩大一个文件系统,必须先保证卷有足够的空间,卷需要扩大也需要磁盘组有足够的空间,如果磁盘组空间不足,那么就需要添加硬盘,加入多大的硬盘就能扩充多大的空间;反过来说就是,如果需要从一个磁盘组删除一个硬盘,不想保证该硬盘不属于任何卷,而如果想让卷不占用该硬盘,必须保证卷上的文件系统没有占用该硬盘,如果某个文件系统已经占用了这个硬盘,那么就需要由Storage Foundation把其上的数据移到其他硬盘上面。闲话少述,现在开始实际演示如何动态扩大和缩小文件系统。文中假设环境是由disk1、disk2和disk3组成的TestDG,其上创建了卷TestVol和挂载在/mnt下的文件系统TestFS,需要移动的磁盘为disk4。

一, 扩大文件系统
1, 扩大磁盘组空间
    如前面所说,如果扩大一个文件系统,首先需要保证磁盘组的空间足够:
    a) 检查磁盘组空间大小:
    # vxdg -g TestDG free
    如果磁盘有足够的剩余空间,可以不用添加新硬件设备。
    (注;即使该命令显示没有磁盘空间剩余,那么可以先查看一下卷的使用情况,因为有可能是卷已经占用了所有磁盘空间,但是尚未被使用。具体命令见下文)。

    b) 增加新硬盘到该磁盘组
    # vxdg -g TestDG adddisk TestDG04=disk4;
    这样就可以把disk4加入到该磁盘组,之后可以用上文的命令查看磁盘组的剩余空间,此时能够看见新的磁盘组的空间增大。

    c) 如果磁盘用的是存储阵列上的LUN,那么不需要增加硬盘,仅仅需要扩大该磁盘组所包含的LUN的大小,然后让Storage Foundation扩大disk的容量即可:
    vxdisk -g TestDG resize TestDG01 length=2GB
    这样磁盘组的剩余空间也会变大。

2, 扩大卷空间
    a) 在扩大卷空间前,需要先查看一下该卷支持的最大容量以及还能够扩展多少空间:
        1 查看卷最大的容量大小:
        # vxassist -g TestDG maxsize layout=raid5
        Maximum volume size: 4096000 (2GB)
        该命令说明该磁盘组如果做成raid5的卷,最大可以有2GB空间。
        (注:Storage Foundation命令中的大小都是以512B为单位,所有需要乘以2换算成KB)
        2 查看卷能够扩大多少:
        # vxassist -g TestDG maxgrow TestVol
        Volume TestVol can be extended by 366592 to
        4096000 (2GB)
        该命令说明TestVol原来的大小是179MB,最大可以扩容到2GB

    b) 增大卷空间,(假设原来的卷是179MB)
        1 将卷空间增加到900MB
        # vxassist -g TestDG growto TestVol 900m
        新的卷将会变成900M;
        或者vxsize达到同样效果:
        # vxresize -g TestDG myvol 900m
        2 将卷空间增加900M
        # vxassist -g TestDG growby TestVol 900m
        或者vxsize达到同样效果:
        # vxresize -g TestDG myvol +900m
        这样,新的卷大小为179+900=1079MB。

    c) 增大卷空间的另一种方法

    大家知道,如果磁盘做了镜像,那么会有一半的空间用以保存数据镜像,其实就牺牲了磁盘利用率来提高硬盘可靠性。但是如果硬盘空间真的不够用的时候,我们还可以把镜像卷删除,把这部分空间拿出来使用。
    # vxassist -g TestDG remove mirror TestVol TestDG03
    这样TestDG3就不再是镜像盘了,而可以拿出来存放新的数据。

3, 扩大文件系统
    a) 查看现有文件系统的大小
    # df –F vxfs -k /mnt

    b) 扩大现有的文件系统
    # fsadm -F vxfs -b 1024000 –r dev/vx/rdsk/TestDG/TestVol /mnt
    这样,文件系统就被扩展到了1GB。我们扩大文件系统的工作也就完成了。

二、缩小文件系统

    缩小文件系统的目的有很多,可能是因为现有的文件系统占用了太多的资源;也可能是因为别的文件系统的优先级更高,所以在有限的情况下,不得不把该盘现有的资源“暂借”给另外的文件系统。不管怎样,如何保证在文件系统缩小的同时,不能丢失数据,这个才是缩小的核心意义所在。事实上,除了Storage Foundation的文件系统以外,很少听说有文件系统能够支持这个特性的,起码AIX和HP自带的文件系统就不支持,而Red hat Linux和Suse也不支持这个特性。哈哈,这个就不多说了,现在来给大家介绍一下缩小文件系统的详细用法。

    1. 缩小文件系统
    a) 确定如果移走硬盘后,文件系统有足够的空间存放所有数据。也就是说文件系统的剩余空间应该大于要移走硬盘的总容量。否则转移数据会失败。
    # df –F vxfs -k /mnt
    b) 缩小文件系统
    # fsadm -F vxfs -b 512000 –r dev/vx/rdsk/TestDG/TestVol /mnt
    缩小文件系统到512M,这是卷里面会有500M空余。

    2. 缩小卷空间
    a) 将卷空间减小到500MB
    # vxassist -g TestDG shrinktoTestVol 500m
    新的卷将会变成500M;
    或者vxsize达到同样效果:
    # vxresize -g TestDG myvol 500m
    b) 将卷空间减小500M
    # vxassist -g TestDG shrinkbyTestVol 500m
    或者vxsize达到同样效果:
    # vxresize -g TestDG myvol -500m
    这样,新的卷大小为1000-500=500MB

    3. 把卷数据移出要删除的盘(关键)
    如果要把盘从一个卷中移走,必须保证该盘上面没有卷的信息,否则可能会造成数据丢失。命令如下:
    # vxevac -g TestDG TestDG TestDG04
    该命令可以将disk4的数据移到其他的盘。

    4. 把盘从磁盘组删除
    a) 把盘从磁盘组删除
    # vxdg -g TestDG rmdisk disk4
    b) 在Storage Foundation中注销该盘
    # vxdiskunsetup -C Disk4
    c) 检查磁盘组状态
    # vxdisk list

小结
    学习本文后,用户可以随心所欲的控制磁盘和卷的大小,完成用户特殊的工作。这功能可不是什么文件系统都能有的呢。最后需要提醒的是,该过程并不是按部就班,一成不便的。用户为了扩大空间,不一定非要从添加硬盘开始,也许卷里就有空间呢;同理,删除的时候不一定要腾出整个硬盘,腾出一点空间就可以分给其他的卷使用。现在已经是新社会了,我们要学会追求自由和自主了,幸运的是,Storage Foundation也是这样想的。

阅读(1596) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~