当前位置: 首页 > news >正文

Linux 磁盘分区与系统监控完全指南

本文详细讲解磁盘组成、分区格式、分区操作、文件系统、挂载配置、LVM 逻辑卷及系统监控(top/free)的核心知识与实操步骤,适合 Linux 运维入门学习。

一、磁盘基础认知

1. 磁盘物理组成

  • 核心组件:主轴马达、盘片(双面存储数据)、机械手臂(带读写磁头)。
  • 关键特性:硬盘内部为真空环境,拆开后会进灰尘、损坏盘片,直接报废。
  • 最小存储单元:扇区,默认单个扇区存储 512 字节数据,磁盘分区以扇区为单位计算(如划分 10G 分区需转换为对应扇区数)。

2. 常见磁盘接口类型

接口类型应用领域核心特点现状
IDE家用计算机价格便宜,数据传输速度慢2009 年淘汰
SCSI早期服务器传输速度快,支持热插拔2013-2017 年逐步淘汰
SAS服务器领域传输速度快,稳定性高目前主流
SATA家用计算机、部分服务器串口传输,性价比高广泛使用
SSD个人电脑、服务器固态硬盘,传输速度快(基于内存机制),价格贵普及中
NVMe个人电脑、高端服务器固态硬盘协议,传输速度极快,价格贵高端场景主流

二、磁盘分区格式

硬盘必须分区后才能使用,主流分区格式为 MBR 和 GPT,两者特性差异显著。

1. MBR 分区格式(传统格式)

  • 分区限制:最多支持 4 个主分区,无法满足多分区需求。
  • 扩展方案:将第 4 个主分区设为「扩展分区」,扩展分区内可划分多个逻辑分区(数据存储与主分区一致)。
  • 逻辑分区数量限制:IDE 接口支持 59 个,SCSI/SATA 接口支持 11 个。
  • 致命缺点:最大仅支持 2.2T 磁盘容量,无法识别超大容量硬盘。

2. GPT 分区格式(现代格式)

  • 分区限制:支持 128 个主分区,无需扩展分区 / 逻辑分区。
  • 容量支持:最大支持 18EB 磁盘容量(单位换算:1024MB=1GB、1024GB=1TB、1024TB=1PB、1024PB=1EB)。
  • 兼容性:适配大容量硬盘,是目前服务器和个人电脑的首选分区格式。

三、磁盘信息查看命令

1. lsblk:查看磁盘与分区概览

  • 功能:列出系统所有磁盘、分区及挂载点信息。
  • 常用参数:
    • -d:仅显示磁盘,不列出分区。
    • -f:显示磁盘 / 分区的文件系统类型、UUID 等详细信息。
  • 示例命令:
    lsblk  # 查看所有磁盘和分区
    lsblk -f /dev/sda  # 查看 /dev/sda 磁盘的文件系统信息
    

2. df:查看分区使用率

  • 功能:查看已挂载分区的容量使用情况(空间使用率、文件系统类型)。
  • 常用参数:
    • -h:人性化显示容量(如 GB/MB)。
    • -T:显示分区对应的文件系统类型。
  • 示例命令:
    df -hT  # 人性化显示所有分区的使用率和文件系统
    

3. blkid:查看分区 UUID 与文件系统

  • 功能:快速获取分区的 UUID(唯一标识)、文件系统类型,用于自动挂载配置。
  • 示例命令:
    blkid  # 列出所有分区的 UUID 和文件系统
    

4. du:统计目录 / 文件大小

  • 功能:统计指定目录或文件占用的磁盘空间(区别于 ls -hls 仅统计文件名占用空间,不包含文件内容)。
  • 常用参数:
    • -h:人性化显示大小(如 GB/MB)。
    • -s:仅统计总数,不显示子目录详情。
  • 示例命令:
    du -hs /etc  # 统计 /etc 目录的总大小
    

四、分区操作实操

1. MBR 分区:fdisk 命令

  • 适用场景:小容量硬盘(≤2.2T),兼容旧系统。
  • 核心命令流程:
    1. 进入分区工具:fdisk /dev/sdb(操作 /dev/sdb 磁盘)。
    2. 查看分区:输入 p(print,显示当前分区表)。
    3. 创建分区:输入 n(new,新建分区),按需选择「主分区」或「扩展分区」,指定大小(如 +2G 表示划分 2G 空间)。
    4. 保存退出:输入 w(write,保存分区配置并退出,生效)。
  • 注意事项:扩展分区无法直接使用,需在其内部创建逻辑分区;主分区编号为 1-4,逻辑分区编号从 5 开始。

2. GPT 分区:gdisk 命令

  • 适用场景:大容量硬盘(>2.2T),支持更多主分区。
  • 前置准备:若系统无 gdisk,先安装:yum -y install gdisk(CentOS/RHEL)。
  • 核心命令流程:
    1. 进入分区工具:gdisk /dev/sdb
    2. 查看分区:输入 p
    3. 创建分区:输入 n,默认分区类型为 Linux,指定大小后确认。
    4. 保存退出:输入 w(确认保存并退出)。

五、文件系统格式化

分区完成后需格式化(指定文件系统),才能管理文件(如文件属性、存储分配)。

1. 主流文件系统特性

文件系统单分区最大容量单个文件最大容量核心优势适用场景
ext41EB16TB支持日志记录(崩溃恢复快),稳定性高通用场景
xfs8EB500TB读写速度快(每秒 4G)RHEL 9 默认文件系统,服务器场景

2. 格式化命令:mkfs

  • 语法格式:
    mkfs -t 文件系统类型 分区设备路径  # 通用格式
    mkfs.文件系统类型 分区设备路径    # 简化格式
    
  • 示例命令:
    mkfs.ext4 /dev/sdb1  # 格式化 /dev/sdb1 为 ext4
    mkfs.xfs /dev/sdb2   # 格式化 /dev/sdb2 为 xfs
    
  • 验证格式化:lsblk -f /dev/sdb1 或 df -T,查看文件系统是否生效。

六、分区挂载配置

分区需通过「挂载」关联到目录(目录为分区的访问入口,本身无存储空间),才能存储数据。

1. 临时挂载:mount 命令

  • 语法格式:mount 分区设备路径 挂载点目录(挂载点目录需提前创建,如 mkdir /data)。
  • 示例命令:
    mount /dev/sdb1 /home  # 将 /dev/sdb1 挂载到 /home 目录
    
  • 关键注意:若挂载点目录原有文件,挂载后会被暂时隐藏,卸载后恢复可见。

2. 取消挂载:umount 命令

  • 语法格式:umount 分区设备路径 或 umount 挂载点目录
  • 示例命令:
    umount /dev/sdb1  # 取消 /dev/sdb1 的挂载
    
  • 核心说明:卸载后,原挂载点目录无法访问分区数据;其他目录挂载该分区后,可正常查看数据。

3. 永久挂载:/etc/fstab 配置

临时挂载重启后失效,需修改 /etc/fstab 实现开机自动挂载。

(1)/etc/fstab 配置格式(每列含义)
列序内容说明
1分区设备路径 / UUID推荐用 UUID(避免设备名变动导致挂载失败)
2挂载点目录如 /home、/data
3文件系统类型如 ext4、xfs
4挂载参数default(默认参数,包含 rw、suid 等)
5备份标识0(不备份)、1(优先备份)
6自检标识0(不自检)、1(优先自检,/ 分区必须设为 1)
(2)配置步骤
  1. 编辑配置文件:vim /etc/fstab,添加一行配置(示例):
    UUID=8551ef00-c6d1-4c16-938d-82b79a5fea52  /home  ext4  defaults  0  0
    
  2. 验证配置:mount -a(检测配置是否有误,自动挂载未挂载的分区)。
  3. 紧急修复:若开机挂载失败(如 /boot 掉挂载),进入 root 维护模式,用 mount -o remount /boot 重新挂载。

七、LVM 逻辑卷(动态扩容方案)

LVM(Logical Volume Manager)可将多个物理分区 / 硬盘整合成「卷组」,再从卷组划分「逻辑卷」,支持动态扩容(无需格式化,不丢失数据),适合需要灵活调整空间的场景。

1. LVM 核心概念

  • 物理卷(PV):底层物理分区 / 硬盘(需转换为 PV 格式,CentOS 7+ 自动转换)。
  • 卷组(VG):多个 PV 组合成的「虚拟硬盘」,统一管理存储空间。
  • 逻辑卷(LV):从 VG 中划分的可用空间,格式化后挂载使用,支持扩容。

2. LVM 实操命令(创建与扩容)

(1)创建 LVM 逻辑卷
  1. 创建卷组(将物理分区组合为 VG):
    vgcreate myvg /dev/sda1 /dev/sda2  # 卷组名 myvg,包含 /dev/sda1、/dev/sda2
    vgs  # 查看卷组信息(如容量、空闲空间)
    
  2. 创建逻辑卷(从 VG 划分空间):
    lvcreate -L 10G -n mylv myvg  # 逻辑卷名 mylv,大小 10G,来自卷组 myvg
    lvs  # 查看逻辑卷信息
    
  3. 格式化与挂载:
    mkfs.xfs /dev/myvg/mylv  # 格式化逻辑卷为 xfs
    mount /dev/myvg/mylv /data  # 挂载到 /data 目录
    
  4. 永久挂载:在 /etc/fstab 添加配置(参考第六节 3 小节)。
(2)逻辑卷扩容(关键操作)
  1. 扩展逻辑卷大小(示例:扩容到 20G):
    lvextend -L 20G /dev/myvg/mylv  # 从 VG 空闲空间扩容到 20G
    
  2. 扩展文件系统(生效扩容空间):
    • xfs 文件系统:xfs_growfs /dev/myvg/mylv
    • ext4 文件系统:resize2fs /dev/myvg/mylv
  3. 验证扩容:df -h /data(查看 /data 目录容量是否更新)。
(3)卷组扩容(VG 空间不足时)
  1. 添加新物理分区到 VG:
    vgextend myvg /dev/sda3  # 将 /dev/sda3 加入卷组 myvg
    
  2. 后续可继续扩展 LV 空间(步骤同上)。

八、系统监控命令

1. top:动态监控系统资源(类 Windows 任务管理器)

  • 功能:实时显示进程 CPU、内存占用,系统负载等信息(动态刷新)。
  • 核心指标解读(第一行):
    • 第五列 load average:系统负载(1 分钟、5 分钟、15 分钟平均值)。
    • 负载判断:根据 CPU 核数,如 4 核 CPU,负载 1.0 表示 1 个核满负载,4.0 表示 4 核超负荷。
  • 退出命令:按 q 键。

2. free:查看内存使用情况

  • 功能:快速查看系统内存总容量、已用、空闲空间,比 top 更直观。
  • 常用参数:-h(人性化显示,如 GB/MB)。
  • 示例命令:
    free -h  # 查看内存使用情况
    
http://www.dtcms.com/a/560849.html

相关文章:

  • 是普通网站地图好还是rss地图好一点网站建设申请费用
  • 使用Graphics2D创建滑块验证码
  • Flutter provide框架内部实现原理刨析
  • 关于rpm,yum,apt
  • 15.6.Bat脚本编写
  • 景德镇网站制作广告法
  • 可以做头像的网站网站区域名是什么
  • 新手记录使用uniapp-x开发鸿蒙应用
  • Linux+Apache+MySQL+PHP 架构下搭建 Discuz 社区论坛
  • 可替代Github Copilot的插件分享CodeGeeX
  • Ubuntu学习笔记
  • 双非大学生自学鸿蒙5.0零基础入门到项目实战 - 歌曲列表
  • 双非大学生自学鸿蒙5.0零基础入门到项目实战 -ArkTs核心
  • UVa 10989 Bomb Divide and Conquer
  • 【Linux】版本控制器Git和调试器—gdb/cgdb的使用
  • 怎么把个人做的网站上传到网上wordpress用户名钩子
  • 成都网站排名网站添加邮件发送怎么做
  • Spring AI 极简入门:15分钟集成AI到SpringBoot应用
  • 临潼城市建设局网站外资公司注册
  • 1.基础--数据库相关概念
  • 使用DTS迁移工具迁移oracle到DM
  • langchain agent的短期记忆
  • 使用DrissionPage和自动化技术实现得物鞋子信息爬取
  • 做网站的是干嘛的为网站添加统计
  • 网站设计的建设目的做网站推销手表
  • [LitCTF 2023]Vim yyds
  • LNMP环境部署 KodBox私有云盘
  • 解决windows docker开发thinkphp6启动慢的问题
  • Rust编译参数与优化控制
  • springboot后端的接口headers