温馨提示×

CentOS中如何进行磁盘管理

小樊
45
2025-09-17 23:20:43
栏目: 智能运维

一、查看磁盘与分区信息
在管理磁盘前,需先了解当前系统中的磁盘及分区状态,常用命令如下:

  • lsblk:以树形结构列出所有块设备(磁盘、分区、挂载点),直观展示设备层级关系,无需root权限。
  • fdisk -l:详细显示磁盘的分区表信息(包括分区类型、大小、起始/结束扇区),需root权限。
  • parted -l:兼容MBR(主引导记录)和GPT(GUID分区表)格式,可查看磁盘的几何信息(如柱面、磁头数)及分区详情。

二、创建分区
根据磁盘容量选择合适的分区工具:

  • fdisk(适用于MBR磁盘,≤2TB)
    1. 运行sudo fdisk /dev/sdXsdX为目标磁盘,如sdb)进入交互模式。
    2. 输入n创建新分区,选择分区类型(p主分区/e扩展分区,MBR磁盘最多4个主分区),设置分区号、起始扇区(默认对齐)和结束扇区(或用+5G指定大小)。
    3. 输入w保存分区表并退出(若未保存,输入q放弃修改)。
  • parted(支持GPT磁盘,>2TB)
    1. 运行sudo parted /dev/sdX进入交互模式。
    2. 输入mklabel gpt初始化磁盘为GPT格式(此操作会清除磁盘所有数据!)。
    3. 输入mkpart primary ext4 1GB 5GB创建主分区(类型为primary,文件系统标记为ext4,起始位置1GB,结束位置5GB)。
    4. 输入quit退出。

三、格式化分区
分区创建后,需格式化为文件系统才能使用,常用命令:

  • mkfs.ext4 /dev/sdXY:将分区格式化为ext4(CentOS传统稳定选择,兼容性好,支持文件系统缩小/扩展,但不支持在线扩大)。
  • mkfs.xfs /dev/sdXY:将分区格式化为xfs(CentOS 7及以上默认文件系统,针对大文件、高并发优化,支持在线扩大,但不支持缩小)。
  • mkswap /dev/sdXY:将分区格式化为交换分区(用于扩展虚拟内存,格式化后需用swapon /dev/sdXY启用)。

四、挂载分区
格式化后,需将分区挂载到目录才能访问:

  • 临时挂载
    1. 创建挂载点目录(如sudo mkdir /mnt/data)。
    2. 运行sudo mount /dev/sdXY /mnt/data(将分区挂载到/mnt/data)。
    3. 验证挂载:df -h查看挂载情况,或ls /mnt/data查看分区内容。
  • 永久挂载
    编辑/etc/fstab文件(sudo vi /etc/fstab),添加一行:
    UUID=1234-5678-90AB /mnt/data ext4 defaults 0 0(用sudo blkid /dev/sdXY获取分区UUID,替换上述命令中的UUID和路径)。
    保存后,下次开机时会自动挂载分区。

五、LVM(逻辑卷管理)
LVM提供灵活的磁盘空间管理,适合需要动态调整分区大小的场景,步骤如下:

  • 创建物理卷(PV):将磁盘或分区初始化为物理卷,sudo pvcreate /dev/sdXY
  • 创建卷组(VG):将物理卷加入卷组(存储池),sudo vgcreate vg_name /dev/sdXYvg_name为卷组名称,如vg_data)。
  • 创建逻辑卷(LV):从卷组中划分逻辑卷,sudo lvcreate -L 10G -n lv_name vg_name-L指定大小,-n指定逻辑卷名称,如lv_root)。
  • 格式化与挂载:逻辑卷视为普通分区,格式化(sudo mkfs.ext4 /dev/vg_name/lv_name)后挂载即可。
  • 调整大小
    • 扩大逻辑卷:sudo lvextend -L +5G /dev/vg_name/lv_name(增加5G空间)。
    • 扩展文件系统:sudo resize2fs /dev/vg_name/lv_name(ext4)或sudo xfs_growfs /mnt/data(xfs,需已挂载)。

六、监控磁盘使用
定期监控磁盘空间,避免空间耗尽导致系统故障:

  • df -h:显示文件系统的磁盘空间使用情况(总大小、已用、可用、挂载点),-h选项以人类可读格式(GB/MB)显示。
  • du -sh /path/to/dir:统计目录或文件的磁盘使用情况(-s显示总计,-h人类可读),如du -sh /home查看/home目录总大小。
  • ncdu:基于文本的磁盘使用分析工具,递归显示目录大小,快速定位大文件(需安装:sudo yum install ncdu,运行:ncdu /path/to/dir)。
  • iotop:实时监控磁盘I/O使用情况,显示进程的读写速度(需安装:sudo yum install iotop,运行:sudo iotop)。
  • iostat -x 1:显示CPU和I/O设备的扩展统计信息(如磁盘利用率、I/O等待时间),-x选项提供详细数据,1表示每秒更新一次(需安装sysstat包)。

注意事项

  • 操作前备份重要数据,尤其是分区、格式化等不可逆操作。
  • 大容量磁盘(>2TB)务必使用parted工具创建GPT分区表,避免MBR限制。
  • 生产环境中推荐使用LVM,便于动态调整磁盘空间,减少停机时间。

0