本文共 1856 字,大约阅读时间需要 6 分钟。
Linux磁盘与文件系统管理
磁盘基础
硬盘的物理结构
盘片:硬盘由多个磁盘组成,每个盘面有两面。 磁头:每面有一个磁头用于读写数据。 硬盘的数据结构
扇区:盘片被分为多个扇区,每个扇区存储512字节数据,是硬盘的最小存储单位。 磁盘:同一盘片中,不同半径的同心圆是磁头在盘片表面划出的圆形轨迹。 柱面:不同盘片相同半径构成的圆柱面,由同一磁道组成。 硬盘存储容量=磁头数×磁道(柱面)数×每道扇区大小(512字节)。 磁盘上的每个区域可以通过柱面、磁头、扇区唯一确定。 磁盘接口类型: - IDE:传统的接口,抗干扰性差,已被SATA取代。
- SATA:支持热插拔,速度快,抗干扰性强。
- SCSI:常用于工作站和服务器,支持热插拔,转速快。
- SAS:新一代SCSI技术,速度更快,达到6G/s。
MBR与磁盘分区表示
主引导记录(MBR)
MBR位于第一块硬盘(/dev/sda)的第一个物理扇区。 MBR共512字节,其中包含硬盘的主引导程序和分区表。 分区表占用了MBR扇区中的第447~510字节,分为4个分区记录区,每个记录区16字节。 Linux将硬盘和分区表示为文件。 磁盘分区表示
- 设备名称:如/dev/sda表示SCSI设备,/dev/sda1表示第一个主分区。
- 分区顺序号:以字母a、b、c…表示盘片,以数字1、2、3…表示分区。
- 主分区数目最多为4个,扩展分区支持逻辑分区。
文件系统类型
XFS文件系统
XFS是一个高性能的日志型文件系统,适合处理大文件,支持上百万TB存储。 CentOS7默认使用XFS文件系统。 交换文件系统(SWAP)
用于为Linux系统提供额外的内存,通常设置为物理内存的1.5~2倍。 在创建交换分区前,需将分区类型ID设置为82。 其他文件系统类型
- EXT4/3:传统的Linux文件系统,稳定且兼容性强。
- FAT32:支持多种操作系统的文件系统。
- NTFS:支持Windows文件系统,读写能力强。
- LVM:逻辑卷管理,支持动态调整存储空间。
磁盘管理
fdisk命令
查看或管理磁盘分区
fdisk -l /dev/sdb:查看指定磁盘的分区情况。 fdisk /dev/sdb:进入交互模式,支持以下命令: -m:帮助菜单。 -p:查看分区情况。 -n:新建分区。 -d:删除分区。 -t:变更分区类型。 -w:保存并退出。 -q:不保存退出。
创建新分区
进入磁盘文件:fdisk /dev/sdb。 输入命令:n(新建分区)。 p:创建主分区。 e:创建扩展分区。 l:创建逻辑分区。
设置分区:输入范围(1-4)。 设置分区大小:如+20G,表示20GB。 保存并退出:w。
创建文件系统与交换文件系统
mkfs命令
- 创建文件系统:
mkfs -t 文件系统类型 分区设备。 - 示例:
mkfs -t xfs /dev/sdb。 - 格式化后需挂载:
mkdir /data && mount /dev/sdb1 /data。
mkswap命令
创建交换分区:mkswap /dev/sdb2。 设置分区类型:fdisk /dev/sdb -t 82 /dev/sdb2。 启动交换分区:swapon /dev/sdb2。 停用交换分区:swapoff /dev/sdb2。
挂载与卸载文件系统
mount命令
- 挂载文件系统:
mount -t 文件类型 选项。 - 挂载ISO镜像:
mount -o loop /path.iso /mnt/iso。 - 卸载文件系统:
umount /dev/sdb1。
查看磁盘挂载情况
mount命令:查看已挂载的文件系统。 df -hT:查看文件系统类型和容量。 blkid:显示设备的UUID和文件系统类型。
设置文件系统的自动挂载
配置/etc/fstab:添加自动挂载记录。
- 第一列:分区名或设备卷标名。
- 第二列:挂载点目录。
- 第三列:文件系统类型(如xfs、swap)。
- 第四列:挂载参数(如
-o rw)。 - 第五列:是否需要dump备份(0或1)。
- 第六列:磁盘检查顺序(0或1或2)。
示例/etc/fstab格式:
UUID=1234 /data xfs defaults 0 1
启动时自动挂载:/etc/rc.local中添加mount -a。
提问解答
问题:在挂载文件系统的目录中创建文件,卸载后是否还存在?
答案:不同文件系统中的文件名可能显示相同内容,但文件系统内部逻辑不同,实际文件存在与否需具体情况分析。
转载地址:http://xulk.baihongyu.com/