超详细的存储和磁盘划分

路径
路径指的是如何定位到某个文件,分为绝对路径和相对路径。
绝对路径:指的是从根目录(/)开始写起的文件或目录名称
相对路径:指的是相对于当前路径的写法
物理设备的命名规则
Linux系统中一切都是文件,系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等;

硬件设备 文件名称
IDE设备 /dev/hd{a-d}
SCSI/SATA/U盘 /dev/sd{a-p}
软驱 /dev/fd{0-1}
打印机 /dev/lp{0-15}
光驱 /dev/cdrom
鼠标 /dev/mouse

一台主机上可以有多快硬盘,因此系统采用a~p来代表16块不同的硬盘(默认从a开始分配),而且硬盘的分区编号也很有讲究:

  1. 分区或扩展分区的编号从1开始,到4结束
  2. 逻辑分区从编号5开始
    超详细的存储和磁盘划分
    所谓的扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表
    Ext4:Ext3的改进版本,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外Ext4文件系统能够批量分配block块,从而极大地提高了读写效率
    **XFS:**是一种高性能的日志文件系统,它的优势在发生意外宕机后尤其明细,既可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求
    在拿到一块新的硬盘存储设备后,需要先分区,然后在格式化文件系统,最后才能挂载正常使用
    当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是——挂载
    mount命令
    mount命令用于挂载文件系统,格式为“mount 文件系统 挂载目录”。
参数 作用
-a 挂载所有在/etc/fstab中定义的文件系统
-t 指定文件系统的类型

使用mount命令可以立即使用文件系统,但系统重启后挂载就会失败
如果想永久性的挂载,要编辑/etc/fstab文件

字段 意义
设备文件 一般为设备的路径+设备名称,也可以写唯一识别码(UUID)
挂载目录 指定要挂载到的目录,需要挂载前创建好
格式类型 指定文件系统的格式,比如Etx4、XFS
权限选项 若设置为defaults,则默认权限为:rw,suid,dev,exec,auto,nouser,async
是否备份 若为1则开机后使用dnmp进行磁盘备份,为0则不备份
是否自检 若为1则开机后进行磁盘自检,为0则不自检

超详细的存储和磁盘划分
umount命令
umount命令用于撤销已经挂载的设备文件,格式为“umount 【挂载点/设备文件】”
卸载操作只需要说明想要取消关联的设备文件或挂载目录的其中一项即可,一般不需要加其他额外的参数
fdisk 命令
fdisk命令用于管理磁盘分区,格式为“fdisk 【磁盘名称】”,它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”

参数 作用
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区信息
w 保存并退出
q 不保存直接退出

实例
超详细的存储和磁盘划分
超详细的存储和磁盘划分
超详细的存储和磁盘划分
查看该文件的属性
超详细的存储和磁盘划分
格式化为XFS文件系统
超详细的存储和磁盘划分
创建挂载点,挂载/dev/sdb1
超详细的存储和磁盘划分
配置/etc/fstab,让这个设备文件的挂载永久生效
超详细的存储和磁盘划分
交换分区
SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。
建议:在生产环境中,交换分区的大小一般为真实物理内存的1.5~2倍。
以树形结构列出所有块设备
超详细的存储和磁盘划分
超详细的存储和磁盘划分
partprobe命令手动将分区信息同步到内核,一般推荐连续使用两次,效果会更好
超详细的存储和磁盘划分
SWAP分区专用的格式化命令:mkswap
超详细的存储和磁盘划分
使用swapon命令把准备好的SWAP分区设备正式挂载到系统中,再次使用free -m命令查看交换分区的大小变化(由2047变为了10239)
超详细的存储和磁盘划分
2047为缺省的交换分区大小,加上我自己加的8GB,共10239MB大小
永久挂载/etc/fstab
超详细的存储和磁盘划分
磁盘容量配额
Linux系统是允许多人一起使用并执行各自的任务,从而成为多用户、多任务的操作系统。但是,硬件资源是固定且有限的,如果某些用户不断在Linux系统上创建文件或存放电影,硬盘空间总有一天会被占满。
针对这种情况,root管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦到这个最大值就不再允许继续使用。

  1. 软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用
  2. 硬限制:当达到硬限制时会提示用户,且强制终止用户操作

实例
下面创建用户slt,并对/boot目录增加其他人的写权限,保证用户能够正常写入数据:
超详细的存储和磁盘划分
知识点:xfs_quota命令
xfs_quota命令是一个专门针对XFS文件系统来管理quota磁盘容量配额服务而设计的命令,格式为“xfs_quota【参数】 配额 文件系统”

参数 含义
-c 用于以参数的形式设置要执行的命令
-x 专家模式,让运维人员能够对quota服务进行更多复杂的配置

实例续
超详细的存储和磁盘划分
配置好上述各种软硬连接限制后,切换普通用户,分别创建一个体积为5MB和8MB的文件
超详细的存储和磁盘划分
创建8MB的时候,提示收到了系统限制
由于自身问题,先做到这里
edquota命令
edquota命令用于编辑用户的quota配额限制,格式为“edquota 【参数】 【用户】”
在为用户设置了quota磁盘容量配置限制后,可以使用edquota命令按需修改限制的数值。

参数 作用
-u 表示要针对哪个用户进行设置
-g 表示针对哪个用户组进行设置