文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>UNIX系统管理--文件系统维护

UNIX系统管理--文件系统维护

时间:2006-01-19  来源:jianasonic

看完这篇文章,你将能做以下事情:

使用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.日常的维护

对不断增长日志文件进行修剪(trim)

删除无用的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/c0t5d0

Physical volume "/dev/rdsk/c0t5d0" 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产品,你不需要umount文件系统就可以对文件系统进行扩展。

例子(假定/dev/vg01/myfs2已经被扩展到32MB)

# fsadm -F vxfs -b 32768 /myfs1

# df /myfs1

注意fsadm命令要求使用”block"为单位指明一个新的文件系统的大小。JFS的block的大小一般都是1K。为了计算以block为单位的文件系统的大小,你可以简单地以1024KB/MB为单位将逻辑卷的大小换算为blocks.
相关阅读 更多 +
排行榜 更多 +
哥布林弹球b服手游下载

哥布林弹球b服手游下载

休闲益智 下载
小马样式盒游戏下载

小马样式盒游戏下载

休闲益智 下载
异变小镇中文版下载安装

异变小镇中文版下载安装

冒险解谜 下载