CentOS下磁盘管理完整流程及常用工具
lsblk:列出所有块设备(硬盘、分区、挂载点),直观展示设备层级关系(如NAME、MAJ:MIN、SIZE、MOUNTPOINT)。fdisk -l:显示磁盘详细分区表(包括分区类型、大小、起始/结束扇区),需root权限。df -h:查看文件系统磁盘空间使用情况(总大小、已用、可用、使用百分比),以人类可读格式输出。fdisk(适用于MBR分区表,≤2TB磁盘)
启动工具:sudo fdisk /dev/sdX(sdX为目标磁盘,如sdb);
创建分区:输入n→选择分区类型(p=主分区,e=扩展分区)→设置分区号→指定起始/结束扇区(或直接输入大小,如+10G);
保存退出:输入w(立即生效)或q(放弃修改)。
parted(适用于GPT分区表,>2TB磁盘)
启动工具:sudo parted /dev/sdX;
创建分区:输入mkpart→指定分区类型(primary=主分区,logical=逻辑分区)→设置起始位置(如1MiB)和结束位置(如100G);
设置分区表类型:输入mklabel gpt(转换分区表为GPT);
保存退出:输入quit。
将新分区转换为可用文件系统(如ext4、XFS):
sudo mkfs.ext4 /dev/sdXY(sdXY为分区名,如sdb1);sudo mkfs.xfs /dev/sdXY。sudo mkdir -p /mnt/mydisk),执行sudo mount /dev/sdXY /mnt/mydisk(立即生效,重启失效)。/etc/fstab文件(sudo vi /etc/fstab),添加一行:/dev/sdXY /mnt/mydisk ext4 defaults 0 0(格式:设备名 挂载点 文件系统类型 options dump pass),保存后执行sudo mount -a验证。LVM提供动态扩展、灵活调整磁盘空间的能力,适合生产环境。核心步骤如下:
sudo pvcreate /dev/sdXY。sudo vgcreate vg_name /dev/sdXY(vg_name为卷组名,如vg_data)。sudo lvcreate -n lv_name -L 10G vg_name(lv_name为逻辑卷名,如lv_home,-L指定大小)。sudo mkfs.ext4 /dev/vg_name/lv_name(格式化),sudo mount /dev/vg_name/lv_name /mnt/mydisk(挂载)。sudo lvextend -L +5G /dev/vg_name/lv_name(增加5G),然后调整文件系统大小(ext4用resize2fs,XFS用xfs_growfs)。du:查看目录/文件占用空间,du -sh /path/to/dir(-s=汇总,-h=人类可读)。ncdu(文本界面分析工具):sudo yum install ncdu→ncdu /path/to/dir,直观显示占用最大的文件/目录。iostat(I/O性能监控):sudo yum install sysstat→iostat -dx 1,显示磁盘读写速率、I/O队列长度、利用率(%util接近100%需警惕)。iotop(进程级I/O监控):sudo yum install iotop→sudo iotop,实时查看各进程的磁盘读写情况。sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;(清空所有.log文件)。sudo yum clean all(释放/var/cache/yum空间)。sudo package-cleanup --oldkernels --count=1(保留最新1个内核,减少/boot分区占用)。fdisk、parted)前,务必备份重要数据(可使用rsync或tar)。