急性肠炎症状

首页 » 常识 » 预防 » Linux学习知识详解Linux文件系
TUhjnbcbe - 2023/1/3 8:17:00
免费视频网站vip账号和密码 http://m.360xh.com/xinwen/3260/66346.html

Linux云计算集群架构师

第十三章Linux文件系统结构

本节所讲内容:

13.1硬盘结构

13.2文件系统结构

13.2硬链接和软链接

13.4实战:解决磁盘有空间但创建不了文件-修复服务器文件系统

13.1硬盘结构

文件系统结构,理解文件系统,要从文件储存说起。

硬盘结构:

互动:磁盘内部是真空的吗?是:1,不是:2

磁盘内部不是真空,只不过里面的空气很干净。如果是真空,还不利于散热,会造成内部气体膨胀影响磁头的稳定性。

还有一些硬盘里面不是普通空气,而是惰性气体:氦(hai害)气。它的好处是密度比空气小,可以减小磁盘转动阻力。但是充满氦气磁盘如果漏气会就损坏(常见于企业级)。

磁盘相关专业术语:

硬盘的内部是金属盘片,将圆形的盘片划分成若干个扇形区域,这就是扇区。若干个扇区就组成整个盘片。为什么要分扇区?是逻辑化数据的需要,能更好的管理硬盘空间。以盘片中心为圆心,把盘片分成若干个同心圆,那每一个划分圆的“线条”,就称为磁道。

硬盘内的盘片有两个面,都可以储存数据,而硬盘内的盘片往往不止一张,常见的有两张,那么,两张盘片中相同位置的磁道,就组成一个“柱面”,盘片中有多少个磁道,就有多少个柱面。盘片两面都能存数据,要读取它,必须有磁头,所以,每一个面,都有一个磁头,一张盘片就有两个磁头。

硬盘的存储容量=磁头数×磁道(柱面)数×每道扇区数×每道扇区字节数。

磁道从外向内自0开始顺序进行编号,各个磁道上的扇区数是在硬盘格式化时确定的。

文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存字节(相当于0.5KB)。

比较古老的CHS(Cylinder/Head/Sector:磁头(Heads)、柱面(Cylinder)、扇区(Sector))结构体系.因为很久以前,在硬盘的容量还非常小的时候,人们采用与软盘类似的结构生产硬盘。也就是硬盘盘片的每一条磁道都具有相同的扇区数,由此产生了所谓的3D参数,即是磁头数(Heads)、柱面数(Cylinders)、扇区数(Sectors)以及相应的3D寻址方式。

互动:如上的磁盘结构有没有问题???  

这种结构有问题:

以前老式的磁盘,每个磁道的扇区都一样,这样外磁道整个弧长要大于内部的扇区弧长,因而其磁记录密度就要比内部磁道的密度要小。最终,导致了外部磁道的空间浪费。

如查你磁盘设计工程师,你打算怎么解决?你选择下面哪种方法?

方法1:每个磁道的宽度不一样,从而让每个扇区面积尽量一样

方法2:不再一刀切,让磁道中的扇区数量可以不一样

现在硬盘都采用这种技术:ZBR(ZonedBitRecording)区位记录(Zonedzōnd)

Zoned-bitrecording(ZBR区位记录)是一种物理优化硬盘存储空间的方法,此方法通过将更多的扇区放到磁盘的外部磁道而获取更多存储空间。

ZBR磁盘扇区结构示意图

互动:从外面读数据快?还是从里面快?里:1外:2

使用ZBR区位记录法做的磁盘有以下特点:读外圈的数据快,读内圈的数据慢,所以测试硬盘经常看到读取速度越来越慢的曲线图就很正常了。

互动:windows安装系统的C盘或Linuxboot分区一般安装在磁盘最外面还是最里面?

windows:C盘安装最外,速度也是最快

Linux:boot分区和swap分区,装最外面

磁盘写数据时,先从外面往里。

操作系统读取硬盘的时候,不会一个个扇区的读取,这样效率太低,而是一次性连续读取多个扇区,一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是1kb(连续2个“sector扇区”组成一个“block块”),(4kb块字节就是8个“sector扇区”组成),一个扇区是字节。

[root

xuegod63~]#stat/etc/passwd#查看Linux系统的“块block”大小

文件:"/etc/passwd"

大小:  块:8IO块:字节=4KB普通文件

Windows文件右击属性查看大小:说明我的windows的NTFS文件系统中默认的簇大小为4KB

Windows里的簇相当于linux中的block块,都是文件的最小存取单位,由多个扇区组成。

13.2文件系统结构

Linux文件系统由三部分组成:文件名,inode,block

Linux文件系统:ext3,ext4,xfs

windows文件系统:FAT32,NTFS

13.2.1文件名

[root

xuegod63~]#cp/etc/passwda.txt

[root

xuegod63~]#lsa.txt#a.txt就是文件名

13.2.2inode的内容

inode包含文件的元信息,具体来说有以下内容:


  *文件的字节数


  *文件拥有者的UserID


  *文件的GroupID


  *文件的读、写、执行权限


  *文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。


  *链接数,即有多少文件名指向这个inode


  *文件数据block的位置

可以用stat命令,查看某个文件的inode信息:

[root

centos60~]#echoLANG#查看语言环境变量

[root

centos60~]#LANG=en_US.UTF-8#语言环境变量改为英文

[root

centos60~]#LANG=zh_CN.UTF-8#语言环境变量改为中文

[root

xuegod63~]#stata.txt

File:‘a.txt’

Size:  Blocks:8IOBlock:regularfile

Device:h/d  Inode:Links:1

Access:(/-rw-r--r--)Uid:(0/root)Gid:(0/root)

Access最近访问时间:-05-:55:36.+

Modify最近更改时间:-05-:55:36.+

Change最近改动时间:-05-:55:36.+

Birth创建时间:-

[root

xuegod63~]#ll/etc/passwd      #ll其实就是查看passwd的inode信息

-rw-r--r--.1rootrootSep/etc/passwd    #ll查看到时间是mtime时间(文件内容修改时间)

互动:

ctime是什么?是创建时间吗?不会:1

mtime:modifytime修改文件内容的时间

atime:accesstime访问文件内容的时间

ctime指inode上一次文件属性变动的时间,changetime。比如:chmod+xa.sh

mtime指文件内容上一次变动的时间,modifytime。

如:echoaaa.sh或vima.sh修改内容

atime指文件上一次查看文件的时间,accesstime。如:cata.sh

例2:测试mtime时间,黑客先修改时间,再植入木马程序,防止find/-mtime查看木马文件

[root

xuegod63~]#stata.txt    #查看时间

[root

xuegod63~]#date-s13:42#修改时间

[root

xuegod63~]#vima.txt    #写入aaaa

[root

xuegod63~]#stata.txt    #查看时间

[root

xuegod63~]#chmod+xa.txt

注意:这里的思路是先改时间,然后修改文件,最后恢复时间,这样你按时间查找文件,就找不到

[root

xuegod63~]#hwclock-s#以硬件时间为准,同步到系统时间

[root

xuegod63~]#yum-yinstallntpdate

[root

xuegod63~]#ntpdatentp1.aliyun.
  /data/cache目录中存在数量非常多的小字节缓存文件,占用的Block不多,但是占用了大量的inode。

解决方案1:删除/data/cache目录中的部分文件,释放出/data分区的一部分inode。

解决方案2:在/data备份好一些文件,然后删除这些文件,释放一些inode,然后创建一个文件夹/data/cache2。在cache2下挂载一个新分区:sda4,下次写数据需要写到新分区cache2目录下。

inode分区完后,可以增加吗?不可以。inode总数是在格式化时定下来。有兴趣的可以自行扩展

13.4.2实战:修复服务器文件系统

实战场景:公司服务器突然断电后,再次启动后,报如下错误。

解决方法:

fsck(英文全拼:filesystemcheck)

命令用于检查与修复Linux档案系统,可以同时检查一个或多个Linux档案系统。

输入root密码

输入密码后,报错是哪个分区坏了,就修复哪个分区,修复的时候,可能会丢失数据,如果有重要数据的话,一定要和领导说一声。

fsck-f-y/dev/sda1#把引导分区文件系统修复一下#慎用,给领导说一声

fsck-f-y/dev/sda3#把根分区文件系统修复一下#慎用,给领导说一声

reboot重启

fsck参数:

-y对所有问题都回答"yes"

-f即使文件系统标记为clean也强制进行检查

总结:

13.1硬盘结构

13.2文件系统结构

13.2硬链接和软链接

13.4实战:解决磁盘有空间但创建不了文件-修复服务器文件系统

1
查看完整版本: Linux学习知识详解Linux文件系