Chinaunix首页 | 论坛 | 博客
  • 博客访问: 29336492
  • 博文数量: 2065
  • 博客积分: 10377
  • 博客等级: 上将
  • 技术积分: 21525
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-04 17:50
文章分类

全部博文(2065)

文章存档

2012年(2)

2011年(19)

2010年(1160)

2009年(969)

2008年(153)

分类: LINUX

2010-02-22 16:56:35

第9章: 文件系统维护
            ※使用df和du命令来监控文件系统的有效空间的大小
            ※通过清除不用的文件和core文件来清理文件系统空间
            ※通过修剪日志文件来清理/var文件系统
            ※从命令行扩展一个卷组
            ※从命令行扩展一个逻辑卷
            ※从命令行扩展一个文件系统
            1.监控磁盘使用情况
                  使用df 命令检查文件系统的有效空间。
                  # df -k
                  Filesystem     kbytes    used    avail    %used    Mounted on
                  /dev/vg00/lvol5   294912   261523    31352    89%      /opt
                  /dev/vg00/lvol4   24576    19333     4978     80%      /home
                  /dev/vg00/myfs1   16384     1174    14331     8%      /myfs1
                  /dev/vg00/myfs2   15893    14006     297    98%      /myfs2
                  检查目录中的各个子目录使用的磁盘空间:
                  # du -sk /myfs2/*
                  844   /myfs2/data1
                  1327  /myfs2/data2
                  1073  /myfs2/data3
                  10757  /myfs2/data4
                  4    /myfs2/lost+found

            系统管理员有责任监视系统中的剩余磁盘空间的大小。通常使用的命令是df。显示的字段含义为:
            Filesystem   文件系统使用的块设备文件名
            Kbytes     文件系统占用了多少磁盘空间(单位为k)
            used      文件系统中已存在的文件所占用的磁盘空间
            avail      文件系统中剩余的有效磁盘空间
            capacity    文件占用的磁盘空间的百分比
            Mounted on   文件系统安装点
            如果加上-i选项,输出中会增加三个字段:
            iused      文件系统当前使用的inode的数目
            ifree      文件系统剩余的inode数目
            %used      文件系统当前使用的inode数目所占的百分比
            当你想要知道更多的细节,如一个目录下面使用了多少磁盘空间,你可以使用du命令。默认情况下,du显示的单位为512字节的一个block。这个命令的 执行是递归的,意味着如果在当前目录执行这个命令,它会返回当前目录下所有的文件和各级子目录的信息。
            主要的选项为:
            -k   以k字节为单位
            -s    只显示指定目录占用的总的磁盘空间。
            2.日常的维护
            ※对大小不断增长日志文件进行修剪
            ※删除core文件
            ※删除大的,旧的的文件
            ※扩展文件系统
            - 到一个已存在的空闲空间中
            - 到卷组中的一个新的磁盘上
            磁盘空间通常是有限的。系统管理员应该经常检查磁盘空间的使用情况,并且执行一些操作来防止磁盘空间用尽。系统管理员可以做的操作有:监控不断增长的文件,删除core文件,剪切日志文件,和删除长时间不用的大文件或者将其归档。
            剪切日志文件
            通常最先发出“文件系统满”的信息的是/var文件系统。/var目录中包含系统日志文件和缓冲池,如果不对这些文件进行检查和清理,它们会很快填满这个文件系统。
            以下的例子将清空wtmp和btmp日志文件:
            # > /var/adm/btmp
            # > /var/adm/wtmp
            这些命令可以加入到cron守护进程中,让其自动定期地执行。
            注意:不要使用下面命令来清空日志文件:
            # rm logfile
            # touch logfile
            因为这些操作可能会改变日子文件的许可权限,造成系统写日志的时候出现错误。
            删除core文件
            “core"文件是在进程遇到一系列的错误或者QUIT信号而非正常地终止的时候自动创建的一个文件。core文件中包含有导致进程终止的错误条件。程序员可以通过这个文件来判断进程在终止的时候正在作什么。
            core文件可能很大,因此如果你不需要,可以将其从系统中删除。可以使用以下命令来从系统中找出并且删除core文件:
            # find / -name core -exec ll {} \;   # 列出系统中所有的core文件
            # find / -name core -exec rm {} \;   # 删除所有的core文件
            你也可以通过在cron中添加这些命令行来定期删除core文件。
            大的,旧的文件
            用户经常会创建大的文件,并且当他们不再需要这个文件的时候忘记删除。应该经常搜索系统中的最近都没有存取过的大文件,,同时判断这个文件是否还需要,并且决定删除这个文件或者将其归档。
            可以用find命令来进行这种操作。下面的例子将查找/tmp目录下超过1000个字符,并且最近30天都没有使用过的文件:
            # find /tmp -atime +30 -size +1000c -exec ll -ud {} \;
            将结果打印出来,然后联系文件所有者询问是否可以删除这些文件。
            扩展一个文件系统(如果使用的是逻辑卷管理)
            如果一个文件系统空间已经用了100%,你可能需要添加另外的磁盘空间。如果这个文件系统所在的卷组有未用的物理extends,你可以利用这些剩余的 extents来扩展这个文件系统。如果这个卷组中所有的物理extents都分配给了其它逻辑卷,你可能需要增加新的磁盘给这个卷组。
            3.扩展一个卷组
            如果想要扩展一个文件系统空间,可能需要在这个文件系统所在的卷组中增加磁盘。
            增加一个磁盘到一个卷组中去
            添加一个磁盘到卷组需要两个步骤。首先,你必须使用pvcreate命令在这个新磁盘上创建LVM的数据结构。然后才能用vgextend命令将磁盘添加到卷组中。下面的例子说明如何将磁盘c0t5d0添加到卷组vg01中去:
            # pvcreate /dev/rdsk/c-t5d0
            Physical volume "/dev/rdsk/c0t5do" have been sucessfully created.
            # vgextend vg01 /dev/dsk/c0t5d0
            Volume group "vg01" has been successfully extended.
            Volume Group configuration for /dev/vg01 has been saved in
            /etc/lvmconf/vg01.conf
            如果你要添加多个磁盘到这个卷组,vgextend命令也可以接受多个物理卷作为参数。
            检查卷组的配置
            你可以使用pvdisplay 和vgdisplay命令来检查将磁盘添加到卷组是否成功。检查在vgdisplay
            -v命令的结果中是否有新的物理卷。也可以使用pvdisplay检查"VG Name"的字段是否为卷组的名称
            4.扩展逻辑卷的大小
            在添加一个磁盘到一个卷组之后,你可以将新的磁盘的物理extents分配给卷组中的逻辑卷。扩展一个逻辑卷的命令是lvextend。
            # lvextend -L 32 /dev/vg01/myfs2 /dev/dsk/c0t3d0
            # lvdisplay -v /dev/vg01/myfs2
            上例将逻辑卷/dev/vg01/myfs2的大小由16MB扩展到32MB。lvextend命令后的参数/dev/dsk/c0t3d0强迫LVM使 用磁盘c0t3d0上的物理extents。如果你你不指明磁盘,LVM会使用卷组中最先的有效extents。在完成对逻辑卷的扩展后,最好用 lvdisplay命令检查一下。
            注意:一个逻辑卷可以跨越多个物理卷,但是它不能跨越多个卷组。一个逻辑卷只能被延伸到本逻辑卷所在的卷组中的其它磁盘上。
            注意:只扩展文件系统所在的逻辑卷不能达到扩展文件系统的目的。下一节会介绍如何让文件系统使用逻辑卷中的新的有效空间。
            5.扩展一个文件系统
            仅仅扩展逻辑卷不能达到扩展文件系统的目的。只有在文件系统的超级块和其它的metadata数据结构都已经登记有新的的磁盘空间的信息之后,逻辑卷中的新的空间才能被文件系统使用。
            扩展一个HFS文件系统
            为了扩展一个HFS文件系统,你必须暂时umount这个文件系统。然后使用extendfs命令,让文件系统可以使用新的extents,接着重新mount文件系统。然后使用df命令检查可用空间是否已经增长。
            例子:(假定/dev/vg01/myfs2已经被扩展到32MB)
            # umount /myfs2
            # extendfs -F hfs /dev/vg01/rmyfs2
            # mount /myfs2
            # df /myfs2
            现在整个/dev/vg01/myfs2逻辑卷都可以被/myfs2这个文件系统所使用。
            扩展一个JFS文件系统(without ON-LINE JFS)
            如果你没有On-line JFS的产品,一JFS文件系统的扩展就和HFS文件系统一样;唯一的变动是-F后的文件系统类型不同。
            例子(假定/dev/vg01/myfs2已经被扩展到32MB)
            # umount /myfs2
            # extendfs -F vxfs /dev/vg01/rmyfs2
            # mount /myfs2
            # df /myfs2
            现在整个/dev/vg01/myfs2逻辑卷都可以被/myfs2这个文件系统所使用。
            扩展一个JFS文件系统(使用On-line JFS)
            使用On-line JFS产品,你不需要unmoun文件系统就可以对文件系统进行扩展。
            例子(假定/dev/vg01/myfs2已经被扩展到32MB)
            # fsadm -F vxfs -b 32768 /myfs1
            # df /myfs1
            注意fsadm命令要求使用”block"为单位指明一个新的文件系统的大小。JFS的block的大小一般都是1K。为了计算以block为单位的文件系统的大小,你可以简单地以1024KB/MB为单位将逻辑卷的大小换算为blocks.
阅读(824) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~