Linux磁盘管理与文件系统
1 磁盘基础简述
1.1 磁盘基础
- 硬盘(Hard Disk Drive,简称HDD)是计算机常用的存储设备之一。
- 如果从存储数据的介质上来区分,硬盘可分为机械硬盘(Hard Disk Drive, HDD)和固态硬盘(SolidStateDisk, SSD)。
- 机械硬盘采用磁性碟片来存储数据,而固态硬盘通过闪存颗粒来存储数据。
1.2 机械硬盘(HDD)
1.2.1 物理结构
机械硬盘的内部组成:
- 盘片:硬盘有多个盘片,每盘片2 面
- 磁头:每面一个磁头
- 主轴
- 传动轴等
1.2.2 工作原理
- 盘片是承载数据存储的介质,每个盘片包含上下两个盘面,每个盘面都对应着一个读/写磁头。
- 这些磁盘上的磁粒有一定的极性,当磁粒极性朝下的时候记为0,磁粒极性朝上的时候记为1,这样磁头就可以通过识别磁盘磁粒的极性读取数据了。
- 而磁头也可以利用其变化的磁场改变磁盘磁粒的极性,这样就做到写入和改写磁盘数据了。
- 受到硬盘体积和成本的限制,盘片数量一般控制在5片以内。
- 盘面的编号自下向上从0开始,如最下边的盘片有0面和1面,再上一个盘片编号为2面和3面。
1.2.3 数据(逻辑)结构
机械硬盘的逻辑结构,主要分为
- 磁道(track)
- 每个盘片在逻辑上有很多同心圆,每个同心圆称作磁道。
- 盘面的磁道密度非常高,通常一个盘面就有上千个磁道。
- 相邻的磁道之间并不是紧挨着的,因为磁化单元相隔太近会相互影响。
- 最外面的同心圆就是0磁道。
- 扇区(sector)
- 从圆心向外画直线,将每个磁道等分为若干弧段,每条磁道上的一个弧段就是一个扇区。
- 扇区是磁盘的最小存储单元。
- 扇区的大小一般是 512Byte,但部分厂商设定每个扇区的大小是4096字节。
- 外侧磁道的扇区面积大,内侧磁道的扇区面积小。
- 以前的磁盘,每条磁道的扇区数目是一样的,每条磁道可以存储的数据量是一样的,因此外侧的磁道数据密度小,内侧磁道数据密度大。现在的磁盘,每条磁道的数据密度都是一样的,因此越外侧的磁道,其扇区数目就越多,能够存储的数据量就越大。
- 柱面(cylinder)
- 硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”向内进行磁道编号,具有相同编号的磁道会形成一个圆柱,称之为磁盘的柱面。
- 从柱面含义中得知,磁盘的柱面数与一个盘面上的磁道数是相等的。
1.2.4 磁盘的容量
- 磁头数(heads)表示磁盘一共有多少个盘面(因为一个盘面对应一个磁头)
- 柱面数(cylinders)表示一个盘面有几条磁道
- 磁盘容量= 磁头数(盘面数)x 柱面数(磁道数)x每条磁道的扇区数 x 每个扇区的字节数
- fdisk -l:查看分区信息
1.2.5 硬盘的接口
- IDE 硬盘接口
Integrated Drive Eectronics,并口,即电子集成驱动器,也称作 “ATA硬盘” 或"PATA硬盘",是早期机械硬盘的主要接口,ATA133 硬盘的理论速度可以达到133MB/s(此速度为理论平均值)。
- SATA 接口
Serial ATA,是速度更高的硬盘标准,具备了更高的传输速度,并具备了更强的纠错能力。
目前已经是 SATA 三代,理论传输速度达到600MB/s(此速度为理论平均值)。
- SCSI 接口
Small Computer SystemInterface,小型计算机系统接口,广泛应用在服务器上,具有应用范围广、多任务、带宽大、CPU 占用率低及热插拔等优点,理论传输速度达到 320MB/s。
1.3 固态硬盘(SSD)
- 固态硬盘(Solid State Disk),别名固态驱动器,简称“SSD”,是一种主要以闪存作为永久性存储器的计算机存储设备,于1956由IBM公司发布。
- 固态硬盘由控制单元和存储单元组成,被广泛应用于工控、视频监控、网络监控、网络终端、导航设备等诸多领域。
- 相对于机械硬盘,固态硬盘有着较高的读写速度,成本也相对较高。
- 常见的固态硬盘采用SATA-III接口、PCIex8或者mSATA、M.2、ZIF、IDE、U.2、CF、CFast等接口
- 基于闪存的固态硬盘是固态硬盘的主要类别,其内部构造十分简单,固态硬盘内主体是一块PCB板,这块PCB板上最基本的配件就是控制芯片,缓存芯片(部分低端硬盘无缓存芯片)和用于存储数据的闪存芯片。
1.3.1 主控芯片
- 市面上比较常见的固态硬盘有LSISandForce、Indilinx、JMicron、Marvell、Phison、Goldendisk、 Samsung以及Intel等多种主控芯片。
- 主控芯片是固态硬盘的大脑,其作用一是合理调配数据在各个闪存芯片上的负荷,二则是承担了整个数据中转,连接闪存芯片和外部SATA接口。
- 不同的主控之间能力相差非常大,在数据处理能力、算法,对闪存芯片的读取写入控制上会有非常大的不同,直接会导致固态硬盘产品在性能上差距高达数十倍。
1.3.2 缓存芯片
- 主控 芯片旁边是缓存芯片,固态硬盘和传统硬盘一样需要高速的缓存芯片辅助主控芯片进行数据处理。
- 一些廉价固态硬盘方案为了节省成本,省去了这块缓存芯片,这样对于使用时的性能会有一定的影响。尤其是小文件的读写性能和使用寿命上。
1.3.3 闪存芯片
- 除了主控芯片和缓存芯片以外,PCB板上其余的大部分位置都是NAND Flash闪存芯片了。
- NAND Flash闪存芯片又分为SLC(单层单元)MLC(多层单元)以及TLC(三层单元)NAND闪存、QLC(Quad-Level Cell,四层单元)这四种规格。
- 另还有一种eMLC(Enterprise Multi-Level Cell,企业多层单元)是MLC NAND闪存的一个“增强型”的版本,它在一定程度上弥补了SLC和MLC之间的性能和耐久差距。
1.3.4 闪存(Flash)的工作机制
- 闪存存储(也称为闪存)是一种使用闪存芯片来写入和存储数据的固态技术。闪存存储解决方案的范围可从USB 驱动器到企业级阵列。
- 闪存基于浮栅晶体管工作。编程时电子注入浮栅改变电位表示数据,擦除则是移除电子。
- 通过控制电子的进出实现数据存储与擦除,具备非易失性,读写速度快,寿命有限但不断提升。
1.3.5 固态硬盘(SSD)的性能特点
- 读写速度快,顺序读取可达数千MB/s,顺序写入可达数千MB/s
- 低延迟,能快速响应数据请求
- 抗震性强,内部无机械部件
- 能耗低,工作时功耗小
- 存在写入寿命限制,长期使用性能可能下降
2 Linux系统分区
2.1 什么是Linux系统分区
- Linux系统分区是将硬盘空间划分成多个独立区域,每个分区可用于存储不同类型数据,如系统文件、用户数据等。
- 分区能便于管理存储、保障系统安全稳定,不同分区可采用不同文件系统以满足特定需求。
- 常用的硬盘分区方式:MBR分区、GPT分区
2.2 MBR分区
- 只能分不超过2T的磁盘,超过2T不能使用MBR分区。
- MBR主引导记录一共446字节,一般在操作系统安装时写入主引导记录
- MBR就是一个引导程序,检测磁盘分区是否合法(正常工作),并加载操作系统。
- MBR作用:识别可用分区,在系统开机时,识别操作系统。
2.3 GPT分区
- 比MBR更加先进,GPT有128位的位置分区标识符来标识分区,可分128个区。
- 不必再细分主分区、扩展分区、逻辑分区,所有分区都是主分区。
- 对2T以上的硬盘做分区时,只能使用GPT分区表。
- 使用GPT分区需要64位系统。
2.4 为什么硬盘要分区
- 不论是MBR还是GPT,不分区就不能使用,只有分区才会创建分区表,。
- 有了分区表,系统才能识别到硬盘。
2.5 Linux系统分区作用
- 合理划分空间,不同分区承担不同功能。
- 如根分区存储系统核心文件,/home存放用户数据,/var用于系统运行时变化数据,/boot保存引导文件等,保障系统稳定运行和数据管理。
- Linux与Windows分区的区别
- Windows多采用FAT、NTFS文件系统
- Linux常用ext系列等。
- Windows分区以盘符标识,Linux以挂载点区分不同分区功能,如/、/home等。
- Windows启动分区较固定,Linux启动相关分区设置更灵活。
2.6 硬盘分区的类别(MBR)
- 硬盘的分区类别有主分区,扩展分区,逻辑分区。
- 主分区和扩展分区一共只有4个。扩展分区只能有一个,在扩展分区内才能创建逻辑分区,逻辑分区数量不受限制(实际有上限,但数字很大)。
- 扩展分区用来保存逻辑分区的数据信息。
- 逻辑分区不能存储操作系统,只能保存数据。
2.6.1 主分区
- 主分区是硬盘上可直接使用的分区
- 早期MBR模式分区只能划分四个分区,现在的GPT分区至少可以划分128个主分区,未来很有可能将不存在扩展分区和逻辑分区的概念
- 主分区一般用来存储操作系统,也可以存储数据
- 主分区可以直接被操作系统访问和管理,通常包含操作系统的启动文件和系统文件
- 它能被格式化并挂载到系统目录树特定位置,用于存储数据、安装操作系统等,有独立引导记录,可直接引导系统
2.6.2 扩展分区
- 扩展分区是一种特殊分区,不能直接存储数据,用于容纳多个逻辑分区。
- 它弥补主分区数量限制,通过划分逻辑分区来充分利用磁盘空间,可灵活分配存储容量,提升磁盘管理和使用效率 。
- 它本身不能直接用于存储数据,而是作为一个容器,用于创建更多的逻辑分区。在一个硬盘上,最多只能有一个扩展分区
2.6.3 逻辑分区
- 逻辑分区是扩展分区中划分出的分区。建立在扩展分区之上,用于存储数据和文件系统。
- 逻辑分区的数量理论上没有限制,但受到磁盘空间和操作系统支持的约束。
- 逻辑分区可以用于存储用户数据、应用程序、系统临时文件等。
- 逻辑分区编号从5开始,可灵活管理存储,用于存放用户数据、安装应用程序等。
2.7 系统分区实战
2.7.1 VM添加新硬盘
- 关闭虚拟机
- 添加磁盘
- 磁盘类型(SCSI)
2.7.2 查看磁盘
2.7.2.1 lsblk命令
显示系统中所有块设备(如硬盘、分区、USB 设备、光盘等)的层次结构、大小、类型、挂载点等信息。
- 格式:lsblk [选项]
- 常用选项
- -f 显示文件系统信息
- -b 以字节为单位显示大小(还有M等)
- -t 以树形结构显示
- -o [列名1,列名2] 自定义输出列
- /dev/sdb
- sd是设备类型,SCSI类型
- b是硬盘的序号,第二块
- 示例
# 查看磁盘分区
lsblk
2.7.2.1 fdisk命令
- fdisk:用于建立MBR分区,只能对不超过2T的硬盘进行分区。
- fdisk -l:列出当前系统中所有硬盘设备及其分区的信息。
- 语法:fdisk [-l] 装置名称
- -l :输出后面接的装置所有的分区内容。
- 仅有fdisk -l时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
- 示例
# 创建MBR分区
fdisk /dev/sdb
# 查看所有分区信息
fdisk -l
# 查看指定MBR分区信息
fdisk -l /dev/sdc
- fdisk常用交互选项
- m:帮助菜单
- n:新建分区
- p:查看分区情况
- d:删除分区
- t:更改分区类型
- w:保存分区操作并退出
- q:不保存并退出
2.7.3 建立MBR分区
- 使用“n”指令可以进行创建分区的操作,包括主分区和扩展分区。
- 输入“p”选择创建主分区,输入“e”选择创建扩展分区。
- 之后依次选择分区序号、起始位置、结束位置或分区大小即可完成新分区的创建。
- 选择分区号时,主分区和扩展分区的序号只能为1~4。
- 为保证分区连续,分区起始位置一般由fdisk 默认识别即可,结束位置或大小可以使用“+sizeM”或“+sizeG”的形式,如“+20G”表示将该分区的容量设置为20GB。
- 使用fdisk命令变更硬盘(特别是正在使用的硬盘)的分区设置以后,建议最好将系统重启一次,防止系统不识别。或者执行“partprobe”命令使操作系统检测新的分区表情况。
- partprobe /dev/sdb
2.7.3.1 主分区
- fdisk /dev/sdb1
- n:创建一个新的分区
- 选择分区类型:p(p是主分区,不写默认是p)
- 选择分区编号:默认即可,可自定义
- 设置起始扇区:最好默认
- 设置结束扇区:+10G表示大小为10Gb
- w:保存设置并推出
2.7.3.2 扩展分区
- fdisk /dev/sdb1
- n:创建一个新的分区
- 选择分区类型:e(e是扩展分区,不写默认是p)
- 选择分区编号:默认即可,可自定义
- 设置起始扇区:最好默认
- 设置结束扇区:+10G表示大小为10Gb
- w:保存设置并推出
- 扩展分区只保存逻辑分区的数据信息,实际占用的空间很小。即便划分10G给它也只显示1K。
- 但逻辑分区是建立在扩展分区基础之上的,扩展分区的大小决定了逻辑分区的总大小。
2.7.3.3 逻辑分区
- fdisk /dev/sdb1
- n:创建一个新的分区
- 选择分区类型:l(l是逻辑分区)
- 选择分区编号:默认即可,可自定义
- 设置起始扇区:最好默认
- 设置结束扇区:+5G表示大小为5Gb
- w:保存设置并推出
2.7.3.4 改变分区类型
- 在 fdisk 分区工具中,新建的分区默认使用的分区类型为Linux,一般不需要更改。
- 但是若新建的分区需要用作Swap 交换分区或其他类型的分区,则需要对分区类型进行变更以保持一致性,以避免在管理分区时产生混淆。
- 使用“t”指令可以变更分区的ID号。
- 操作时需要依次指定目标分区序号、新的ID号。
- 不同类型的 ID 号对应不同的分区类型,不同的分区类型支持不同类型的文件系统,以十六进制数表示,在fdisk 交互环境中可以输入“l”指令进行列表查看。
- 最常用的 XFS、Swap 文件系统对应的ID号分别为83、82,而用于 Windows 中的NTFS 文件系统对应的ID号一般为 86。
- 步骤
- mdisk /dev/sdb
- t:修改分区类型
- 选择分区编号:5(默认是最后一个分区的编号)
- 选择文件系统:83(83是xfs文件系统)
- p:查看分区情况
- w:保存退出
2.7.3.5 MBR分区总结
- 主分区和扩展分区加起来一共只有4个,MBR分区只有4个。
- 逻辑分区编号从5开始。
- 一般设置3个主分区,一个扩展分区。
- 扩展分区不能使用,不能挂载,只是用来记录逻辑分区信息数据的,一般单位为Kb。
- 只有先创建扩展分区,才能建立逻辑分区。扩展分区只能有一个。
- 扩展分区有多大,逻辑分区加起来只能有多大。
- 创建分区后,要创建文件系统方可使用。
2.7.4 建立GPT分区
- gdisk /dev/sdc:进入交互界面
- n:创建新分区
- 选择分区编号:默认即可(范围1~128)
- 设置起始扇区:最好默认
- 设置结束扇区:+3G表示大小为3G
- 设置分区类型编号:默认8300(可通过l查看)
- w:保存退出,y确认
2.7.4.1 gdisk命令
- gdisk:对超过2T的硬盘使用,建立GPT分区。
- gdisk -l:列出当前系统中所有硬盘设备及其分区的信息。
- gdisk的交互选项和fdisk几乎一样,交互步骤也基本一致。
- 语法:gdisk [-l] 装置名称
- -l :输出后面接的装置所有的分区内容。
- 仅有fdisk -l时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
- 示例
# 创建GPT分区
gdisk /dev/sdb
# 查看所有分区信息
gdisk -l
# 查看指定GPT分区信息
gdisk -l /dev/sdc
3 Linux创建文件系统
3.1 文件系统的概念
- 文件系统是操作系统用于存储、组织和管理文件的机制。
- 它规定了文件存储方式、数据结构及访问控制等,能让用户方便地对文件进行创建、读取、修改和删除等操作,是连接用户与存储设备的重要桥梁。
3.2 文件系统在存储数据中的角色
- 文件系统负责管理存储设备上的数据,它规定数据存储结构、组织方式和访问方法。
- 通过目录树等形式,让用户能方便地存储、检索和修改数据,协调操作系统与存储硬件交互,保障数据存储和读取的有序性。
3.3 常见的Linux文件系统类型
- 常见Linux文件系统类型有ext2、ext3、ext4,性能和功能不断提升
- XFS:高性能日志文件系统
- Btrfs:支持众多高级特性如快照、校验等
- 还有ReiserFS等,各有特点以满足不同需求
3.3.1 ext2文件系统
- ext2是较经典的Linux文件系统,无日志功能。结构包括超级块、块组描述符表等。
- 适合对数据一致性要求不高且存储小文件多的场景,优点是简单高效,缺点是故障恢复可能耗时,不适合高并发频繁读写,现在使用较少。
3.3.2 ext3文件系统
- ext3是一种日志式文件系统,兼容ext2。
- 它通过日志记录文件系统元数据变化,提高数据安全性和可靠性,能快速恢复崩溃后的文件系统,广泛应用于Linux系统,支持大文件和大容量存储设备,现在使用较少 。
3.3.3 ext4文件系统
ext4是第四代扩展文件系统,支持大文件与大分区,有更高效的inode分配策略、日志机制优化、数据预读提升性能等,兼容ext3,广泛用于Linux系统,能满足不同场景存储需求 。
3.3.4 XFS文件系统
- XFS设计理念注重高性能、可扩展性与可靠性。采用日志结构保障数据一致性,支持大文件和大存储池,具备高效的元数据管理,能快速响应I/O请求,适应企业级大规模存储和高并发业务需求。
- XFS在大文件处理上优势明显,支持超大文件和文件系统容量,具备高效的日志机制确保数据一致性,I/O性能出色,采用优化的数据结构和算法,能快速定位读写数据,减少大文件操作时的延迟。
3.3.4.1 XFS的管理与维护
- 使用xfs_growfs命令在线扩展文件系统大小
- 用xfs_info查看文件系统信息
- xfs_repair用于修复文件系统错误
- 日常还需关注磁盘使用情况以保障XFS文件系统稳定运行
3.3.4.2 XFS在企业级应用中的使用情况
XFS在企业级应用中广泛使用。
因其高性能、高扩展性,适合处理大文件和高并发I/O,常用于数据库存储、大型数据中心等场景,能满足企业对数据存储和管理的高效稳定需求。
3.3.5 Btrfs文件系统
- Btrfs文件系统支持多设备存储、快照、数据冗余与校验,能动态调整文件系统大小,具备优秀的错误检测和修复能力,可高效管理大文件和海量小文件,支持子卷功能方便不同应用数据隔离管理。
- Btrfs存储管理机制包括多种特性:
- 采用写时复制技术,保障数据一致性
- 支持多设备存储,能灵活构建存储池
- Btrfs支持多种数据冗余模式,如RAID0、RAID1、RAID5、RAID6等
- 具备容错能力,当磁盘故障时,能利用冗余数据重建损坏数据,保障数据可用性和完整性,提升存储可靠性。
- Btrfs有良好发展前景。它具备众多先进特性,如数据冗余、在线调整大小等。
- 在存储需求增长背景下,受社区关注与开发者支持,不断完善优化,有望在Linux存储领域占据更重要地位。
3.3.6 SWAP交换文件系统
- 用于为 Linux 系统建立交换分区。交换分区的作用相当于虚拟内存,能够在一定程度上缓解物理内存不足的问题。
- 一般建议将交换分区的大小设置为物理内存的1.5~2倍。
- 如果服务器的物理内存足够大(如 8GB 以上),也可以不设置交换分区。
- 交换分区不用于直接存储用户的文件和目录等数据。
3.4 创建文件系统(格式化分区)
- 创建文件系统的过程即格式化分区的过程。
- 在Linux操作系统中使用 mkfs(MakeFilesystem,创建文件系统)命令工具可以将分区格式化成XFS、EXT4、FAT等不同类型的文件系统。
- Swap 交换分区是使用mkswap命令来进行格式化的。
3.4.1 mkfs命令
- 格式
- mkfs -t 文件系统类型 硬盘目录
对指定硬盘创建文件系统 - mkfs.文件系统类型 硬盘目录
和 -t 效果一样 - mkfs 文件系统类型 -f 硬盘目录
覆盖原有的文件系统
- mkfs -t 文件系统类型 硬盘目录
- 示例
# 创建文件系统类型为xfs
mkfs.xfs /dev/sdb1
# 创建文件系统,类型为ext4
mkfs -t ext4 /dev/sdb2
# 将文件系统类型修改为xfs
mkfs xfs -f /dev/sdb2
3.4.2 mkswap 命令
- 在 Linux 操作系统中,Swap 分区的作用类似于Windows 操作系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。
- 当 Linux 主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。
- 使用 mkswap 命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk 工具将ID号设为82。
- 操作流程
- 创建交换分区:fdisk /dev/sdb
- t 修改分区类型
- 3 选择分区
- 82 设置分区为swap类型
- w 保存退出
- 格式化分区:mkswap /dev/sdb3
- 创建交换分区:fdisk /dev/sdb
3.5 分区与文件系统的关系
- 分区为文件系统提供存储载体。格式化分区时会选择特定文件系统,如 ext4 等。
- 文件系统在分区上构建数据结构,管理文件存储、读取等操作,使数据能有序存储和访问。
- 不同分区可以挂载不同的文件系统,可依数据特性选择适配系统,提升性能、保障安全。
- 如根分区用稳定的ext4,存储分区可选大容量友好的XFS,临时分区用 tmpfs 提高读写速度,满足多样需求。
- 文件系统依赖分区提供存储空间。分区为文件系统创建物理载体,不同分区可格式化为不同文件系统。
- 文件系统的创建、挂载、数据存储与读取等操作,都基于对应的分区,分区状态影响文件系统正常运行。
3.6 挂载、卸载文件系统
- 在 Linux 操作系统中,对各种存储设备中的资源访问(如读取、保存文件等)都是通过目录结构进行的。
- 虽然操作系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加一个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。
- 当然,在安装 Linux 操作系统的过程中,建立的分区通常会由操作系统自动完成挂载,如“/”分区、“/boot”分区等。
- 然而对于后来增加的硬盘分区、光盘等设备,需要管理员手动进行挂载,实际上用户访问的是经过格式化后建立的文件系统。
- 挂载一个文件系统时,必须为其指定一个目录作为挂靠点(或称为挂载点),用户通过这个目录访问设备中的文件、目录数据。
3.6.1 挂载与解挂载
- 挂载:硬件设备必须要和目录形成映射之后才能使用。
- 解挂载:顾名思义,就是解除设备与目录的映射。
3.6.2 mount命令
- 语法:mount [选项] 设备 挂载点
- 常用选项:
- -o ro:以只读形式挂载
- -o remount:重新挂载已挂载的分区,并修改参数
- 示例
# 刷新挂载信息
mount -a
# 将/dev/sdb1挂载到/test/sdb
mount /dev/sdb1 /test/sdb
# 使用loop模式挂载ISO文件
mount -o loop CentOS-7-x86_64-DVD-1611.iso /test/centos
# 只读挂在
mount -o ro /dev/sdb1 /test/sdb
# 重新挂载并修改权限为可读写模式
mount -o remount,rw /mnt/data
3.6.3 umount命令
- 需要卸载文件系统时使用的命令为umount,使用挂载点目录或对应设备的文件名作为卸载参数。
- Linux 操作系统中,由于同一个设备可以被挂载到多个目录下,所以一般建议通过挂载点的目录位置来进行卸载。
- 语法:umount [选项] 设备 挂载点
- 常用选项
- -l :lazy,立即卸载挂载点
- -f :强制卸载,即使文件系统正在使用,也立即强制卸载。可能会导致数据丢失,慎用。
- -lf :强制解挂载常用命令
- 示例
# 卸载挂载
umount /dev/sdb1 /test/sdb
# 通过挂载点卸载
umount /test/sdb
# 通过设备卸载
umount /dev/sdb1
# 强制卸载
umount -f /test/sdb
3.6.4 自动挂载
- mount是临时挂载,重启系统后mount挂载的信息就失效了。生产环境中需要配置自动挂载,即永久挂载。
- 根据设备名挂载:vim /etc/fstab
/dev/sdb1 /test/sdb xfs defaults 0 0 - 对应解释
内容 解释 /dev/sdb1 设备名 /test/sdb 挂载点 xfs 文件系统 defaults 默认权限 0 是否备份:0不备份,1备份 0 启动时是否检查文件系统:0不检查,1检查 - 对defaults的解释:默认有所有权限(读写,磁盘配额)
- defaults 定义默认值,相当于 rw、suid、dev、exec、auto、nouser、async 这7 个选项。
- rw/ro :是否对挂载的文件系统拥有读写权限,rw 为默认值,表示拥有读写权限;ro 表示只读权限。
- async/sync:此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步async。
- dev/nodev 是否允许从该文件系统的 block 文件中提取数据,为了保证数据安装,默认是dev。
- auto/noauto 是否允许此文件系统被以 mount -a 的方式进行自动挂载,默认是auto。
- suid/nosuid 设定文件系统是否拥有 SetUID 和 SetGID 权限,默认是拥有。
- exec/noexec 设定在文件系统中是否允许执行可执行文件,默认是允许。
- user/nouser 设定此文件系统是否允许让普通用户使用 mount 执行实现挂载,默认是不允许(nouser),仅有 root 可以。
- remount :重新挂载已挂载的文件系统,一般用于指定修改特殊权限。
- 示例
# 打开配置文件
vim /etc/fstab
# 写入内容
/dev/sdb1 /test/sdb xfs defaults 0 0
# 配置完成,刷新挂载信息
mount -a
# 查看挂载情况
df -hT
3.7 新磁盘使用过程
- 刷新获取磁盘信息(scan),也可以重启
- 对新的磁盘分区
- 给分区创建文件系统
- 挂载设备到目录
以上全部完成后才可以正常使用磁盘。
3.8 查看磁盘使用情况
- 不带选项及参数的mount 命令可以显示分区的挂载情况
- df 命令:查看系统中已挂载各文件系统的磁盘使用情况
- 语法:df [选项] [设备/挂载点]
- 常用选项
- -h 以人类可读的格式(GB、MB、KB)显示磁盘空间
- -T 显示文件系统类型
- -a 显示所有文件系统
- -i 显示 inode 使用情况,而非磁盘块
- -t <文件系统类型> 仅显示指定类型的文件系统
- -x <文件系统类型> 排除指定类型的文件系统
- 示例
# 查看挂载信息
df
# 以人类可读模式显示,并显示文件系统类型
df -hT
# 仅显示ext4文件系统挂载信息
df -t ext4
# 显示除tmpfs文件系统以外挂载信息
df -x tmpfs