linux系统中的文件或目录的属性主要包括:引索节点(indoe)、文件类型、权限属性、连接数、所归属的用户和用户组、最近修改时间。
索引节点indoe index node
CentOS5 inode的默认大小是128字节,centos6 默认大小是256字节。inode的大小在文件系统格式化后固定不变,无法更改,格式化前可以指定inode的大小。但一般不会去改。查看inode大小命令:
一个文件至少占用一个inode和一个block。block是实习存放内容的地方。block分大了,会浪费磁盘空间,分小了,影响磁盘读取性能,一般生产环境设置block大小为4K
问100M的磁盘空间,写入1K文件,1M的文件。分别能写多少??
inode 存放文件属性信息,默认大小128byt 256byt(C6)
block 是存放文件的实际内容,默认大小1K(boot)或4K(非系统分区默认4K)
一个文件至少占用1个inode和1个block
知道这3点信息,剩下的就是数学方程式解决了。
2.硬链接(hard link)与软链接(symbolic),之前有提到,创建链接的命令时ln,默认不带参数是创建硬链接,参数-s是创建软链接。
硬链接是指通过索引节点(inode)来链接,多个文件名指向同一个索引节点的情况是允许的,这种就成为硬链接。
软链接,类似于window中的快捷方式。
实战演练:模拟磁盘空间被占满,删除相关文件。
yum install httpd -y ##安装httpd服务
/etc/init.d/httpd start
lsof -i :80
dd if=/dev/zero of=/dev/sdc bs=8K count=10 ##创建小的文件系统 80K
ls -l /dev/sdc
mkfs -t ext3 /dev/sdc
[root@mode ~]# mkdir /app/log -p
[root@mode ~]# mount -o loop /dev/sdc /app/log
[root@mode ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.6G 2.6G 3.8G 41% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 760M 0 760M 0% /dev/shm
/dev/sdc 73K 14K 55K 21% /app/log
[root@mode httpd]# cd /etc/httpd/conf ##修改日志存放的路径 让web服务往/app/log写日志
[root@mode conf]# vi httpd.conf
[root@mode conf]# /etc/init.d/httpd restart
####516行路径改成/app/log……
[root@mode conf]# tail -f /app/log/access_log
##跟踪文件变化,此时浏览器中输入Linux的IP地##址,能打开Apache的网站,而且这个日志文件会有变化,不断出刷新网站,该文件也会不断增加。
for n in `seq 100000`;do curl -s 192.168.1.10 >/dev/null;done
##访问10万次,来填满日志文件
[root@mode conf]# df -h ##查看磁盘信息 发现sdc盘已经满了 就此我们的环境就模拟完成
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.6G 2.6G 3.8G 41% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 760M 0 760M 0% /dev/shm
/dev/sdc 73K 73K 0 100% /app/log
我们模拟了一个被充满的磁盘sdc,模拟环境也是运维中的重要部分,下面我们就来验证怎么去彻底删除文件,来释放磁盘空间。
[root@mode conf]# cd /app/log/
[root@mode log]# rm -f access_log
[root@mode log]# df -h|grep sdc
/dev/sdc 73K 73K 0 100% /app/log
##在删除了access_log 文件后,我们查看磁盘信息,发现sdc依然是满的,并没有释放
[root@mode log]# /etc/init.d/httpd restart
[root@mode log]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.6G 2.6G 3.8G 41% /
/dev/sda1 190M 12M 169M 7% /boot
tmpfs 760M 0 760M 0% /dev/shm
/dev/sdc 73K 14K 55K 21% /app/log
##在重启服务后,在看sdc盘,我们发现一部分的空间已经释放了。
博文转载:http://oldboy.blog.51cto.com/2561410/612351