Linux硬盘分区管理与文件系统配置指南
1. Linux硬盘分区管理基础概念在Linux系统中硬盘分区管理是系统管理员和开发者的必备技能。与Windows系统不同Linux采用独特的文件系统结构和分区方式理解这些差异是进行有效管理的前提。Linux系统中常见的分区工具包括fdisk、parted、gdisk等每种工具适用于不同的分区表类型。MBR主引导记录分区表最多支持4个主分区而GPTGUID分区表则没有这个限制可以创建更多分区。选择分区表类型时需要考虑硬盘容量和系统兼容性。重要提示在进行任何分区操作前务必备份重要数据。分区操作具有潜在风险可能导致数据丢失。2. 常用分区工具详解2.1 fdisk工具使用指南fdisk是最经典的分区工具适用于MBR分区表。基本操作流程如下查看当前磁盘信息sudo fdisk -l进入交互模式操作特定磁盘sudo fdisk /dev/sda在fdisk交互界面中常用命令包括m显示帮助菜单n创建新分区d删除分区p显示当前分区表w写入更改并退出q不保存更改退出2.2 parted工具高级应用parted工具支持GPT分区表适合大容量硬盘管理。其优势在于支持多种文件系统类型和更精细的分区控制。创建GPT分区表示例sudo parted /dev/sdb mklabel gpt创建新分区并设置文件系统类型sudo parted /dev/sdb mkpart primary ext4 0% 100%3. 文件系统创建与挂载3.1 常见Linux文件系统比较ext4最常用的Linux文件系统稳定可靠XFS适合大文件和高性能需求Btrfs支持高级功能如快照和压缩ZFS企业级文件系统功能强大但资源消耗较大3.2 格式化与挂载操作创建文件系统sudo mkfs.ext4 /dev/sdb1设置挂载点sudo mkdir /mnt/data sudo mount /dev/sdb1 /mnt/data实现开机自动挂载需要编辑/etc/fstab文件/dev/sdb1 /mnt/data ext4 defaults 0 24. 分区方案设计与优化4.1 典型Linux分区方案对于普通桌面系统推荐分区方案/根分区30-50GB/home用户数据分区剩余空间swap交换分区内存大小的1-2倍对于服务器系统建议更细致的划分/boot引导分区500MB-1GB/根分区20-30GB/var日志和可变数据单独分区/tmp临时文件单独分区/home用户数据分区4.2 分区大小调整实战使用parted调整分区大小示例卸载目标分区检查文件系统sudo e2fsck -f /dev/sdb1调整文件系统大小sudo resize2fs /dev/sdb1 50G调整分区大小sudo parted /dev/sdb resizepart 1 50G5. 常见问题排查与解决5.1 分区表损坏修复当分区表损坏时可以使用testdisk工具尝试恢复sudo apt install testdisk sudo testdisk /dev/sda5.2 挂载失败处理常见挂载问题及解决方案文件系统损坏sudo fsck /dev/sdb1挂载点不存在sudo mkdir -p /mnt/data设备忙sudo umount -l /dev/sdb15.3 空间不足预警设置磁盘空间监控df -h设置定期检查的cron任务0 0 * * * df -h /var/log/disk_usage.log6. 高级分区技巧6.1 LVM逻辑卷管理LVM提供了更灵活的存储管理方式创建物理卷sudo pvcreate /dev/sdb1创建卷组sudo vgcreate vg_data /dev/sdb1创建逻辑卷sudo lvcreate -L 100G -n lv_data vg_data6.2 分区加密技术使用LUKS加密分区创建加密分区sudo cryptsetup luksFormat /dev/sdb1打开加密分区sudo cryptsetup open /dev/sdb1 encrypted_data创建文件系统并挂载sudo mkfs.ext4 /dev/mapper/encrypted_data sudo mount /dev/mapper/encrypted_data /mnt/secure7. 自动化分区脚本对于需要频繁进行分区操作的环境可以编写自动化脚本#!/bin/bash # 定义变量 DISK/dev/sdb PARTITION${DISK}1 MOUNTPOINT/mnt/data # 分区操作 echo Creating partition... parted -s $DISK mklabel gpt parted -s $DISK mkpart primary ext4 0% 100% # 格式化 echo Formatting partition... mkfs.ext4 -F $PARTITION # 挂载 echo Mounting partition... mkdir -p $MOUNTPOINT mount $PARTITION $MOUNTPOINT # 设置自动挂载 echo Setting up auto-mount... echo $PARTITION $MOUNTPOINT ext4 defaults 0 2 /etc/fstab echo Partition setup completed.8. 性能优化建议根据使用场景选择适当的文件系统数据库XFS通用用途ext4需要高级功能Btrfs调整挂载选项提升性能mount -o noatime,nodiratime,datawriteback /dev/sdb1 /mnt/data定期维护文件系统sudo tune2fs -m 1 /dev/sdb1 # 保留1%的空间给root sudo e4defrag /mnt/data # 碎片整理9. 分区监控与维护9.1 监控工具使用查看磁盘使用情况df -h查看inode使用情况df -i查看磁盘I/O性能iotop iostat -x 19.2 定期维护任务设置定期文件系统检查sudo tune2fs -c 100 /dev/sdb1 # 每100次挂载后检查 sudo tune2fs -i 7d /dev/sdb1 # 每周检查一次10. 虚拟环境中的分区管理10.1 虚拟机磁盘扩展在虚拟机管理界面扩展虚拟磁盘大小在Linux系统中识别新空间echo 1 /sys/class/block/sda/device/rescan使用parted调整分区大小10.2 容器存储管理Docker存储驱动选择建议overlay2大多数情况下的最佳选择devicemapper需要精细控制时使用btrfs/zfs需要高级功能时使用调整Docker存储位置sudo systemctl stop docker sudo rsync -aP /var/lib/docker/ /mnt/data/docker sudo mv /var/lib/docker /var/lib/docker.bak sudo ln -s /mnt/data/docker /var/lib/docker sudo systemctl start docker11. 云环境分区管理11.1 云硬盘挂载与配置AWS EBS卷挂载示例创建文件系统sudo mkfs -t xfs /dev/xvdf创建挂载点sudo mkdir /data挂载卷sudo mount /dev/xvdf /data11.2 自动扩展云硬盘使用cloud-init自动挂载#cloud-config fs_setup: - label: data filesystem: ext4 device: /dev/xvdf partition: auto mounts: - [ /dev/xvdf, /data, ext4, defaults,nofail, 0, 2 ]12. 安全最佳实践设置适当的权限sudo chmod 750 /mnt/data sudo chown root:root /mnt/data启用磁盘配额sudo quotacheck -cug /mnt/data sudo quotaon /mnt/data定期检查可疑文件sudo find /mnt/data -type f -perm /6000 -ls13. 备份与恢复策略13.1 分区备份使用dd命令备份整个分区sudo dd if/dev/sdb1 of/backup/sdb1.img bs4M statusprogress13.2 增量备份方案使用rsync进行增量备份sudo rsync -avz --delete /mnt/data/ /backup/data/设置定时备份任务0 3 * * * rsync -avz --delete /mnt/data/ /backup/data/ /var/log/backup.log 2114. 性能基准测试测试磁盘读写性能# 测试顺序写 sudo dd if/dev/zero of/mnt/data/testfile bs1G count1 oflagdirect # 测试顺序读 sudo dd if/mnt/data/testfile of/dev/null bs1G count1 iflagdirect # 使用fio进行综合测试 sudo fio --namerandwrite --ioenginelibaio --iodepth32 \ --rwrandwrite --bs4k --direct1 --size1G --numjobs4 \ --runtime60 --group_reporting --filename/mnt/data/fio_test15. 特殊场景处理15.1 处理坏道检查磁盘坏道sudo badblocks -v /dev/sdb badblocks.txt标记坏块避免使用sudo fsck -l badblocks.txt /dev/sdb115.2 修复超级块当超级块损坏时可以使用备用超级块sudo mke2fs -n /dev/sdb1 # 查看备用超级块位置 sudo fsck -b 32768 /dev/sdb1 # 使用备用超级块修复16. 系统启动过程与分区理解Linux启动过程对分区管理很重要BIOS/UEFI读取引导设备加载MBR/GPT分区表中的引导程序引导程序加载内核和initramfs内核挂载根文件系统启动init/systemd进程修复grub引导sudo grub-install /dev/sda sudo update-grub17. 多磁盘管理策略17.1 RAID配置创建RAID 1阵列sudo mdadm --create /dev/md0 --level1 --raid-devices2 /dev/sdb /dev/sdc监控RAID状态cat /proc/mdstat sudo mdadm --detail /dev/md017.2 多磁盘合并使用LVM合并多个物理卷sudo pvcreate /dev/sdb /dev/sdc sudo vgcreate vg_storage /dev/sdb /dev/sdc sudo lvcreate -l 100%FREE -n lv_data vg_storage18. 文件系统高级功能18.1 快照功能Btrfs快照创建sudo btrfs subvolume snapshot /mnt/data /mnt/data/snapshot_$(date %Y%m%d)18.2 透明压缩启用Btrfs压缩sudo mount -o compresszstd /dev/sdb1 /mnt/data检查压缩效果sudo compsize /mnt/data19. 网络存储挂载19.1 NFS挂载服务器端配置sudo apt install nfs-kernel-server sudo echo /mnt/data *(rw,sync,no_subtree_check) /etc/exports sudo exportfs -a客户端挂载sudo mount -t nfs server:/mnt/data /mnt/nfs19.2 SMB/CIFS挂载安装客户端工具sudo apt install cifs-utils挂载Windows共享sudo mount -t cifs //server/share /mnt/smb -o usernameuser,passwordpass20. 容器存储管理20.1 Docker卷管理创建持久化卷docker volume create data_volume使用绑定挂载docker run -v /mnt/data:/data alpine20.2 Kubernetes持久卷定义PersistentVolumeapiVersion: v1 kind: PersistentVolume metadata: name: pv-data spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce hostPath: path: /mnt/data21. 性能监控与分析21.1 实时监控工具使用dstat综合监控dstat -d --disk-util --disk-tps分析磁盘I/O瓶颈sudo iotop -o21.2 长期性能分析收集历史性能数据sudo apt install sysstat查看历史报告sar -d -p22. 系统调优参数调整I/O调度器echo deadline /sys/block/sda/queue/scheduler优化虚拟内存参数echo vm.swappiness10 /etc/sysctl.conf sysctl -p提高文件系统缓存echo vm.vfs_cache_pressure50 /etc/sysctl.conf sysctl -p23. 灾难恢复准备23.1 创建救援镜像使用SystemRescueCdsudo dd ifsystemrescuecd.iso of/dev/sdb bs4M statusprogress23.2 备份分区表备份MBR分区表sudo dd if/dev/sda ofbackup.mbr bs512 count1备份GPT分区表sudo sgdisk -b backup.gpt /dev/sda24. 自动化运维集成24.1 Ansible自动化分区管理playbook示例- hosts: storage_servers tasks: - name: Create partition parted: device: /dev/sdb number: 1 state: present part_start: 1MiB part_end: 100% - name: Format partition filesystem: fstype: ext4 dev: /dev/sdb1 - name: Mount partition mount: path: /mnt/data src: /dev/sdb1 fstype: ext4 state: mounted24.2 监控告警设置Prometheus磁盘监控规则示例groups: - name: disk.rules rules: - alert: DiskSpaceRunningLow expr: (node_filesystem_avail_bytes{mountpoint/mnt/data} / node_filesystem_size_bytes{mountpoint/mnt/data}) * 100 10 for: 10m labels: severity: warning annotations: summary: Disk space low on {{ $labels.mountpoint }} (instance {{ $labels.instance }}) description: {{ $labels.mountpoint }} has only {{ printf %.2f $value }}% available space left25. 新兴技术展望25.1 持久内存应用使用pmem配置sudo ndctl create-namespace -m fsdax -e namespace0.0 -f sudo mkfs.ext4 /dev/pmem0 sudo mount -o dax /dev/pmem0 /mnt/pmem25.2 分布式文件系统部署CephFSceph-deploy install node1 node2 node3 ceph-deploy mon create-initial ceph-deploy mds create node126. 性能基准对比不同文件系统性能测试结果对比文件系统顺序读(MB/s)顺序写(MB/s)随机读(IOPS)随机写(IOPS)ext452048015k8kXFS55050016k9kBtrfs50045014k7kZFS48040013k6k27. 硬件选型建议根据工作负载选择存储设备高IOPS需求数据库NVMe SSD配置RAID 10大容量存储备份大容量HDD配置RAID 6平衡型应用SATA SSD单盘或RAID 128. 内核参数调优优化虚拟内存参数echo vm.dirty_ratio 10 /etc/sysctl.conf echo vm.dirty_background_ratio 5 /etc/sysctl.conf sysctl -p调整文件系统缓存echo vm.vfs_cache_pressure 50 /etc/sysctl.conf sysctl -p29. 安全加固措施禁用不必要的文件系统echo install cramfs /bin/true /etc/modprobe.d/disable_filesystems.conf echo install freevxfs /bin/true /etc/modprobe.d/disable_filesystems.conf限制核心转储echo * hard core 0 /etc/security/limits.conf启用文件系统审计sudo apt install auditd sudo auditctl -w /mnt/data -p wa -k data_changes30. 持续学习资源推荐进阶学习资料官方文档man pagesman fdisk, man mkfs, man mountkernel.org文件系统文档在线课程Linux Foundation的存储管理课程Red Hat系统管理认证课程实用工具ncdu交互式磁盘使用分析器duf现代化的磁盘使用情况查看器glances综合系统监控工具社区资源Arch Linux Wiki存储相关页面Ubuntu社区文档Stack Overflow上的Linux存储标签

相关新闻

C语言-第二天

C语言-第二天

01 计算机中的单元bit(位):计算机中的最小存储单位,表示一个二进制位(0或1)。byte(字节):计算机中基本存储单元,1 byte 8 bit。计算机中的数据以二进制形式存…

2026/10/14 21:32:57 阅读更多 →
Windows存储空间软件RAID实战:从RAID 1到RAID 5的搭建、优化与避坑指南

Windows存储空间软件RAID实战:从RAID 1到RAID 5的搭建、优化与避坑指南

1. 项目概述:为什么要在Windows下折腾软件RAID?如果你手头有几块闲置的硬盘,或者正在用一台没有硬件RAID卡的普通PC或服务器,却想提升数据的安全性或读写性能,那么Windows自带的软件RAID功能,绝对是一个被严…

2026/10/2 6:11:42 阅读更多 →
华为eNSP STP实验:从原理到配置,掌握二层网络防环技术

华为eNSP STP实验:从原理到配置,掌握二层网络防环技术

1. 项目概述:为什么STP实验是网络工程师的“必修课”如果你正在学习网络技术,或者已经是一名网络工程师,那么“STP”这个词你一定不陌生。生成树协议,这个听起来有点抽象的概念,却是保障我们网络稳定运行的基石。今天&…

2026/10/9 3:28:40 阅读更多 →

最新新闻

智诺方AI|期刊论文导师意见修改,分段改写搞定查重和AIGC

智诺方AI|期刊论文导师意见修改,分段改写搞定查重和AIGC

写好「导师意见修改」,再谈降重与降 AIGC 先把研究内容写清楚,再处理重复率与 AI 痕迹,顺序不能反。导师意见修改最怕「改了表述、丢了要求」。意见若被 AI 一键稀释,返回稿看起来更顺,却没回答导师真正卡住的点。 在期…

2026/10/15 3:11:37 阅读更多 →
Large Language Model Powered Automated Modeling and Optimization of Active Distribution Network D...

Large Language Model Powered Automated Modeling and Optimization of Active Distribution Network D...

文章主要内容总结 本文针对主动配电网(ADNs)调度问题,提出了一种基于大型语言模型(LLM)的自动化建模与优化方法。随着分布式能源(DERs)的大量接入,ADNs调度的复杂性显著提升,但新加入的运营商(如配电网聚合商、虚拟电厂管理者等)往往缺乏电力系统运行、建模、优化及…

2026/10/15 3:11:37 阅读更多 →
GPT-4o 等四个模型明年1月下架API,迁移前先做这几件事

GPT-4o 等四个模型明年1月下架API,迁移前先做这几件事

10 月 14 日,OpenAI 给开发者发了通知:GPT-4o、GPT-4o mini、GPT-4.1、GPT-4.1 mini 这四个模型,将在 2027 年 1 月 14 日从 API 下架,基于它们做的微调版本同一天停用。算下来,离下线还有大概三个月。 这里有个容易忽…

2026/10/15 3:11:37 阅读更多 →
Can Small-Scale Data Poisoning Exacerbate Dialect-Linked Biases in Large Language Models?

Can Small-Scale Data Poisoning Exacerbate Dialect-Linked Biases in Large Language Models?

文章主要内容总结 本文研究了小规模数据投毒是否会加剧大型语言模型(LLMs)中与方言相关的偏见,重点对比了非洲裔美国白话英语(AAVE)和标准美国英语(SAE)的差异。研究使用小尺度和中尺度的LLaMA模型,发现即使暴露于极少量的投毒数据,模型对AAVE输入的毒性输出也会显著…

2026/10/15 3:11:37 阅读更多 →
Improving the Performance of Sequential Recommendation Systems with an Extended Large Language Model

Improving the Performance of Sequential Recommendation Systems with an Extended Large Language Model

文章主要内容总结 本文聚焦于大型语言模型(LLMs)在序列推荐系统中的应用,提出通过在LlamaRec框架中用Llama3替换Llama2来提升推荐性能。研究保持LlamaRec的原有结构(包括检索器和排序器的两阶段推荐流程),仅更换排序器中的LLM,并通过统一随机种子、相同输入数据等确保实…

2026/10/15 3:11:37 阅读更多 →
Apereo CAS 服务注册表自动初始化(Service Registry Initialization)实战指南

Apereo CAS 服务注册表自动初始化(Service Registry Initialization)实战指南

后端认证鉴权单点登录 【免费下载链接】cas Apereo CAS - Identity & Single Sign On for all earthlings and beyond. 项目地址: https://gitcode.com/gh_mirrors/ca/cas 点击查看 免费下载 导读 Apereo CAS 在启动时会根据配置自动将 classpath 上的默认 JS…

2026/10/15 3:10:36 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →