存储结构与硬盘管理
常见的目录
/bin:存放普通用户可执行的命令
/sbin:存放管理员可执行的命令
/dev:存放硬盘设备
/etc:系统的配置文件以及每个文件各自的配置文件.配置一个服务就是在修改配置文件.
/lib:系统的需要用到的函数库文件(平时不要碰)
/root:超级用户自己的家目录
/proc:是一个虚拟的文件系统,系统,cpu,硬盘,内存等正在运行的状态
/var:存放经常发生变化的文件,如日志
硬盘
/dev/sd:是硬盘设备中的存储设备.
/dec/sda是第一个被系统识别的硬盘设备.
/dec/sdb是第二个被系统识别的硬盘设备.
名称是根据系统对此硬盘设备识别的顺序来命名的.
举个例子:/dev/sdb1代表的就是系统中第二块被识别的硬件设备中编号为1的主分区的设备文件
文件系统
概念
用户在硬件存储设备中执行的文件建立,写入,读取,修改等操作都是以靠文件系统来完成的.文件系统的作用是合理规划硬盘(进行格式的约束),以保证用户的正常使用需求.在拿到一块新的硬盘存储设备后,先需要分区,然后再格式化文件系统,最后才能挂载并正常使用.(可以选择不分区,但是必须要对硬盘进行格式化处理)
Ext4:是红帽6的默认文件管理系统.存储容量1EB.能够批量分配block,极大提高了读写效率.
XFS:高性能的日志文件系统.是红帽7/8的默认文件管理系统.意外宕机后可以快速恢复被破坏的文件.存储容量18EB.
内部结构
文件系统通常将档案的属性和权限放置在inode中,至于实际数据则放置到data block中,另外还有一个超级区块(superblock)会记录整个文件系统的整体信息,包括inode与block的总量、 使用情况,剩余量等。
inode:记录文件的属性以及文件的block号码.每个文件会占用一个inode,所以文件系统中可以放置的档案数量和inode数量是对应的.inode128个字节,如果被写满了,那么linux系统会分配出一个block继续存储相关信息.
block:大小一般为4k(文件系统格式化的时候会确认下).记录档案的实际内容,一个block存放一个文件,如果不够,那么就占用多个block,多余的空间会浪费.每个block有自己的编号,方便inode寻找.
VFS是啥
计算机系统发展过程中产生了众多的文件系统,为了让用户在读取或写入文件时不用关心底层的硬盘结构,linux内核中的软件层为用户提供了一个虚拟文件系统(VFS)接口.用户实际上操作文件的时候就是对这个虚拟文件系统进行操作.
添加交换分区(swap分区)
交换(SWAP)分区是一种通过在硬盘中预先划分一定的空间,然后把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。通俗来讲就是让硬盘帮内存分担压力。但由于交换分区毕竟是通过硬盘设备读写数据的,速度肯定要比物理内存慢,所以只有当真实的物理内存耗尽后才会调用交换分区的资源。
磁盘容量配额
root管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数
软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。
硬限制:当达到硬限制时会提示用户,且强制终止用户的操作。
VDO虚拟技术优化
VDO是是一种通过压缩或删除存储设备上的数据来优化存储空间的技术。
软硬方式链接
**软链接(soft link):**也叫符号链接(symbolic link),仅仅包含所链接文件的名称和路径,很像一个记录地址的标签。当原始文件被删除或移动后,新的链接文件也会随之失效,不能被访问。可以针对文件、目录设置软链接,跨文件系统进行链接也不是问题。从这一点来看,它与Windows系统的“快捷方式”具有一样的性质。
**硬链接(hard link):**可以将它理解为一个“指向原始文件block的指针”,系统会创建出一个与原来一模一样的inode信息块。所以,硬链接文件与原始文件其实是一模一样的,只是名字不同。每添加一个硬链接,该文件的inode个数就会增加1;而且只有当该文件的inode个数为0时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件block的指针,因此即便原始文件被删除,依然可以通过硬链接文件来访问。需要注意的是,由于技术的局限性,不能跨分区对目录文件进行硬链接。
|