块(block):8个扇区一个块,一个扇区512字节,8一个块4096字节相当于4k。 i节点(inode):每个文件都对应一个节点,叫索引节点,是储存元信息的区域,元信息包括:文件的创建者、文件的创建日期、文件的大小。
使用命令stat查看某个文件的inode信息 1、文件的字节数 2、文件拥有者的UID 3、文件的组ID号 4、文件的读、写、执行权限 5、文件的时间戳 1】最后一次改变的时间ctime:change time 2】最后一次访问的时间atime:access time 3】最后一次修改的时间mtime:modify time
使用命令ls -i可以查看文件名对应的inode号码,也可以使用stat命令查看文件的inode信息找到inode号。 1、系统找到这个文件对应的inode号 2、通过inode号获取inode信息 4、根据inode信息,找到文件数据所在的block,读出数据。
1、对于无法删除的文件,直接删除i节点就可以删除这个文件:rm -rf 128016 2、移动和重命名文件只改变文件的名称,不改变inode号 3、打开一个文件以后系统只看inode号,不管文件名。
在配置内存、硬盘比较小的服务器的/data分区内创建文件时,系统提示磁盘空间不足,但是用df -hT查看磁盘使用情况发现/data只是用了50%,还有足够的空间可以使用。
(1)使用df -i查看/data下面inode就已经满了,导致系统无法创建新的文件和目录。 (2)/data/cache下面有缓存文件,虽然站的block不多,但占用了大量的inode。
删除/data/cache下面不许要的文件就好。
步骤: 【1】新建ext4类型的文件系统(/dev/sdb2),并将其挂载到/data目录下。并使用df -i查看是否挂载成功。
[root@localhost~]#mkdir /data [root@localhost~]#mount /dev/sdb2 /data [root@localhost~]#df -i /data【2】新建一个测试shell脚本,运行,查看i节点的使用情况。
[root@localhost~]#vi killinode,sh [root@localhost~]#sh killinode.sh [root@localhost~]#df -i /data 这时会显示i节点使用100% [root@localhost~]#touch testfile 无法创建,设备上没有空间 [root@localhost~]#df -hT 但是block使用才6%说明系统分配的inode使用完了。【3】解决方案
删除/data下面的缓存文件。 [root@localhost~]#rm -rf /data/file*链接使用命令ln Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,链接又可分为两种 : 硬链接与软链接,硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。
ln -b 删除,覆盖以前建立的链接 ln -d 允许超级用户制作目录的硬链接 ln -f 强制执行 ln -i 交互模式,文件存在则提示用户是否覆盖 ln -n 把软链接视为一般目录 ln -s 软链接(符号链接)硬链接,以文件副本的形式存在。但不占用实际空间。 不允许给目录创建硬链接 硬链接只有在同一个文件系统中才能创建,使用-d可以给目录创建硬链接 格式:ln 原文件名 链接文件名
软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式 可以 跨文件系统 ,硬链接不可以 可以对一个不存在的文件名进行链接 可以对目录进行链接 格式:ln -s 原文件名 链接文件名
这是旧磁盘,显示设备忙,说明在使用,无法格式化,这样就先结束有关它的进程再格式化
[root@localhost ~]# yum install epel-release –y [root@localhost ~]# yum install -y psmisc [root@localhost data]# which fuser /usr/sbin/fuser [root@localhost data]# fuser -km /dev/sdb1(结束与设备相关的进程) /dev/sdb1: 7418c [root@localhost data]# mkfs -t xfs -f /dev/sdb1 mkfs.xfs: cannot open /dev/sdb1: 设备或资源忙发现还是资源忙,查看设备信息
[root@localhost ~]# fdisk /dev/sdb(查看磁盘类型) 设备 Boot Start End Blocks Id System /dev/sdb1 2048 41943039 20970496 8e Linux LVM之前做过逻辑卷,所以这个磁盘被使用,从卷组中删除,在删除物理卷,并修改设备类型为83即可。
[root@localhost ~]#vgremove vg0 /dev/sdb1(把磁盘移除卷组) Do you really want to remove volume group "vg0" containing 1 logical volumes? [y/n]: y Do you really want to remove active logical volume vg0/lv0? [y/n]: y Logical volume "lv0" successfully removed Volume group "vg0" successfully removed [root@localhost ~]# pvremove /dev/sdb1(删除物理卷) Labels on physical volume "/dev/sdb1" successfully wiped. [root@localhost ~]# mkfs -t xfs -f /dev/sdb1(格式化磁盘) meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242624, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0例如http使用access_log记录客户访问事件,error_log记录访问错误事件。