- 论坛徽章:
- 1
|
目前常见的主要有两种情况限制文件大小:
一,操作系统文件大小限制
一般文件大小限制为2g,如果要改变限制,可以有两种方法:
1, 如果文件系统为jfs,则必须重建jfs文件系统且将文件系统设置为允许大文件。之后就可以支持大于2g的文件了。
2, 如果文件系统为jfs2,则无此限制,理论上jfs2文件系统支持最大1T的文件。所以你也可以创建jfs2文件系统满足要求。
3, 如果以上2个都不行,则可能是操作系统对单一用户的文件大小有限制,必须修改/etc/secrucity/limits 文件中指定用户的 fsize参数为-1(表示无限制),修改完后,必须重新登陆shell生效。可使用ulimit –a命令查看修改后的值。
4, 为什么在一个目录下无法再创建目录,因为一个目录下最多只能创建32767个文件(含目录),该参数是由系统内核决定的,在系统安装以后该参数不能更改。
(/usr/include/sys/limits.h文件里的 #define SHRT_MAX 参数 (32767))
This is due to the fact that ".." in each subdirectory is a hard-link back to
the parent directory and the link count is implemented with a signed 16
bit quantity. Hence the error, EMLINK. Regular files are ok since they
do not require this link. You could work around this limitation by using
symbolic to directories
/usr/include/sys/limits.h as the LINK_MAX value set to 32767
二,tar文件大小限制
tar文件最大只能为8g,原因是:tar命令介绍,因为tar使用USTAR格式,(美国磁带归档程序),而ustar头格式允许文件大到8GB,所以tar支持归档最大8GB文件。
The ustar header format allows for file sizes to be as large as 8 GB. Therefore, the tar command is enabled to archive files of up to 8 GB in size.
解决办法有以下三种:
1, pax
pax使用方法:
备份:pax -wvf /dev/rmt0
查看备份文件列表:pax -vf /dev/rmt0
解备份:pax -rvf /dev/rmt0 -----可以随意解哪个都行,空为全部
复制:pax -rw
向磁带后追加:pax -avf /dev/rmt0
处理大文件(超过8GB):pax -x pax -wvf /dev/rmt0
不方便之处:分卷、不存在的目录不能恢复、存在的目录自动覆盖。
2, backup
backup使用方法:
find ... -print | backup -iqvf /dev/rmt0
注:qv不是关键参数,默认是/dev/fd0所以f一般为主要参数,i为文件而非文件系统。
restore -Tqf /dev/rmt0 查看备份列表
restore -xdqvf /dev/rmt0 ...
注:d表示如果为目录将目录下的文件全部RESTORE,x为主要解备参数。
3, exp 的filesize参数
如果是数据库的备份文件,可以使用exp 的filesize参数。将大文件分片存取。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/16252/showart_90117.html |
|