目录
1.磁盘
1.1简述磁盘
磁盘是一种用于存储数据的计算机硬件设备,利用磁性存储技术或者闪存技术将数据持久化保存。
1.2磁盘的分类
-
传统机械硬盘:通过磁头在高速旋转的磁性盘片上读写数据
-
固态硬盘:使用闪存芯片存储数据,无机械部件
-
混合硬盘:结合机械硬盘的大容量和固态硬盘的速度,但逐渐被固态硬盘取代
1.3磁盘的作用
-
操作系统安装:如windows,linux等需要安装在磁盘上
-
数据存储:文档,数据库等长期存储
-
虚拟内存:部分磁盘空间可作为内存扩容
2.Linux磁盘管理三步走
如何在Linux中使用磁盘,通常需要有 分区,格式化和挂载这三步操作。
2.1第一步:分区
2.1.1分区的定义
将物理磁盘划分为多个逻辑单元(分区),每个分区可独立管理。
2.1.2为什么要分区
1.系统隔离和数据保护:将不同功能的文件分配到相互独立的分区(如系统分区/
、用户数据分区/home
、日志分区/var/log
等)。可以方便数据的运行和管理,比如如果用户分区/home出现问题只需要对用户数据分区/home进行检测就可以。
2.性能优化:不同的分区可以根据用于选择文件系统。
3.存储扩容和维护便捷:当某个分区空间不足时,可直接挂载新磁盘或扩容原有分区,无需迁移全部数据。
4.方便备份:独立分区简化了备份策略。
2.1.3如何分区
Linux中常用的分区技术有MBR和GPT分区技术
两者的区别
从分区结构上
MBR分区:使用传统的32位逻辑块地址(LBA)寻址,分区表存储在磁盘的第一个扇区(512字节),仅支持最多4个分区,若需更多分区需借助扩展分区。只支持2T以下的硬盘(最大寻址范围=232×512B≈2TB)
其中4个分区可以分为主分区和扩展分区:
主分区: 可以直接使用 , 安装操作系统 存储文件 等
扩展分区:不可以直接使用, 需要再 划分逻辑分区, 让分区超过4个
逻辑分区:可以直接使用, 存储文件
扩展分区是特殊的主分区
主分区的序号为 1-4
逻辑分区的序号 从5 开始
GPT分区:基于64位LBA寻址,分区信息存储在磁盘头部和尾部(备份),支持最多128个主分区
从安全性上
MBR分区:仅存储一份分区表,若损坏可能导致数据丢失。
GPT分区:分区表在磁盘头部和尾部各存一份,支持CRC校验,容错能力更强。
2.2第二步:格式化
在讲格式化之前需要先了解一下文件系统。
2.2.1文件系统的定义:
文件系统是操作系统用于管理存储设备(如磁盘、固态硬盘等)上文件的方法和数据结构,定义了如何在存储介质上组织、命名、存储和检索文件。简而言之,文件系统是操作系统中管理文件信息的软件机构。
2.2.2文件系统类别
1.EXT系列:Linux 正统文件系统,如 Ext2(基础版本)、Ext3(增加日志功能)、Ext4(高性能扩展),具有高可靠性和易维护性
2.XFS/Btrfs:适用于 Linux 的高性能文件系统,XFS 支持超大文件,Btrfs 支持动态卷管理和快照。
3.FAT/NTFS:Windows 系统常用,FAT16/FAT32 用于早期版本,NTFS 支持大文件和权限管理
2.2.3为什么要格式化
1.格式化会创建文件系统(如FAT32、NTFS、exFAT、APFS),类似于为仓库搭建“货架结构”,使操作系统能够按规则存储和读取数据。
2.兼容不同的操作系统 不同操作系统支持的文件系统可能不同,例如:Windows常用NTFS,macOS原生支持APFS,而exFAT是跨平台兼容的通用格式。通过选择特定文件系统格式化,可确保设备在不同设备间无缝使用。
2.3挂载
2.3.1挂载的定义
挂载指将存储设备的文件系统链接到操作系统目录结构的某个节点(即挂载点)。例如,将U盘挂载到/mnt/usb
目录后,访问该目录即等同于访问U盘内容。
2.3.2为什么要挂载
1.统一访问入口:Linux采用单一目录结构,挂载后用户只需通过目录操作分区内容,无需关注底层硬件细节。
2.动态扩展:可随时挂载新磁盘或分区,灵活扩展存储空间。
2.3.3挂载的规则
-
一个挂载点同一时间只能挂载一个设备
-
一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏
-
一个设备可以同时挂载到多个挂载点
-
通常挂载点一般是已存在空的目录
3.磁盘管理相关的命令
1.fdisk
功能:用于磁盘分区(2T以下)的创建
举例:fdisk /dev/sdX # 对指定磁盘进行分区操作
2.gdisk
功能:GPT分区,2T以上
举例:gdisk /dev/sdX # 操作GPT分区表
3.mkfs
功能:创建文件系统
举例:mkfs.ext4 /dev/sdX1 # 创建ext4文件系统
mkfs.xfs /dev/sdX1 # 创建XFS文件系统
4.mount
/umount
功能:挂载/卸载文件系统
举例:mount /dev/sdX1 /mnt # 挂载
umount /mnt # 卸载
5.lsblk
功能:列出所有块设备信息
举例:lsblk -f # 显示文件系统信息
6.blkid
功能:查看硬件的uid
7.fsck
功能:检查并修复文件系统错误
举例:fsck /dev/sdX1 # 检查指定分区
8. swapoff -a
功能:关闭交换分区
9.swapon -a
功能:打开交换分区
10.df
功能:查看挂载
11.partprobe
功能:
通知内核重新读取磁盘分区表,无需重启系统
4.磁盘分区实验
4.1添加虚拟硬盘
4.2开启虚拟机,用lsblk查看是否添加成功
4.3添加主分区fdisk
用lsblk查看是否添加成功
4.4加扩展分区
4.5加逻辑分区
4.6格式化mkfs
4.7挂载
4.8查看磁盘使用情况
5.在开机时自动挂载磁盘或分区
5.1获取分区的UUID或设备路径
5.2编辑 /etc/fstab
文件
在文件末尾添加一行
5.3测试并生效
若无报错,重启后会自动挂载。