如何优化centos系统存储空间
导读:一、清理不必要的文件与目录 清理系统中的临时文件、旧日志、无用软件包及缓存是释放空间的基础操作。 清理临时文件:使用sudo rm -rf /tmp/* /var/tmp/*删除临时目录下的所有文件(操作前需确认无活跃进程占用)。 清理Y...
一、清理不必要的文件与目录
清理系统中的临时文件、旧日志、无用软件包及缓存是释放空间的基础操作。
- 清理临时文件:使用
sudo rm -rf /tmp/* /var/tmp/*删除临时目录下的所有文件(操作前需确认无活跃进程占用)。 - 清理YUM/DNF缓存:运行
sudo yum clean all(CentOS 7及以下)或sudo dnf clean all(CentOS 8及以上),清除包管理器下载的缓存文件。 - 清理旧内核:使用
sudo package-cleanup --oldkernels --count=1保留最新1个内核版本,删除旧内核(需root权限)。 - 清理日志文件:通过
sudo journalctl --vacuum-size=50M限制日志文件大小为50MB,或用sudo find /var/log -type f -name "*.log" -mtime +30 -delete删除30天前的旧日志(避免误删正在使用的日志)。 - 清空回收站:删除用户目录下的回收站文件,命令为
sudo rm -rf /home/*/.local/share/Trash/*。
二、扩展现有分区或创建新分区
若磁盘有未分配空间,可通过扩展现有分区或创建新分区增加可用空间。
- 查看磁盘分区:使用
df -h查看分区使用情况,lsblk查看磁盘与分区结构,fdisk -l查看详细分区信息。 - 创建新分区:用
fdisk /dev/sdX(X为磁盘标识,如sda)进入分区工具,依次执行n(新建分区)、p(主分区)、设置分区大小、w(保存退出);格式化新分区(如sudo mkfs.ext4 /dev/sdX1),创建挂载点(如sudo mkdir /mnt/newdisk),挂载分区(sudo mount /dev/sdX1 /mnt/newdisk),并更新/etc/fstab实现开机自动挂载。 - 扩展现有分区:若有未分配空间,可使用
growpart(需安装cloud-utils-growpart)扩展分区,再用xfs_growfs(XFS文件系统)或resize2fs(ext4文件系统)扩展文件系统(如sudo growpart /dev/sda 1扩展第1个分区,sudo xfs_growfs /mnt/data扩展XFS文件系统)。
三、使用LVM管理磁盘空间
LVM(逻辑卷管理)提供动态调整存储空间的能力,适合需要灵活扩展的场景。
- 创建物理卷:用
pvcreate /dev/sdX将磁盘或分区初始化为物理卷(如sudo pvcreate /dev/sdb)。 - 创建卷组:用
vgcreate vg_name /dev/sdX创建卷组(如sudo vgcreate vg_data /dev/sdb)。 - 创建逻辑卷:用
lvcreate -L 10G -n lv_name vg_name创建逻辑卷(如sudo lvcreate -L 10G -n lv_home vg_data)。 - 扩展逻辑卷与文件系统:用
lvextend -L +5G /dev/vg_name/lv_name扩展逻辑卷(如增加5G),再用xfs_growfs /mount_point(XFS)或resize2fs /dev/vg_name/lv_name(ext4)扩展文件系统。
四、优化文件系统配置
选择合适的文件系统并调整挂载参数,可提升存储效率。
- 选择文件系统:CentOS默认使用XFS(适合大文件、高性能场景)或ext4(兼容性好),根据需求选择(如大数据场景选XFS)。
- 调整挂载参数:在
/etc/fstab中添加noatime,nodiratime参数,禁止记录文件访问时间,减少不必要的磁盘写操作(如/dev/sda1 /data xfs defaults,noatime,nodiratime 0 0)。 - XFS优化:创建XFS文件系统时,可调整
-l logdev=/dev/sdb1(分离日志设备,提升性能),或使用mkfs.xfs -f -L data /dev/sda1指定标签。 - ext4优化:使用
-O dir_index,has_journal参数启用目录索引和大文件支持,提升ext4性能。
五、使用磁盘分析与压缩工具
通过工具快速定位大文件,压缩不常用文件释放空间。
- 磁盘分析工具:使用
ncdu(交互式分析)安装sudo yum install ncdu,运行sudo ncdu /查看目录占用;或用du -sh /*查看各目录大小,find / -type f -size +100M查找大于100MB的文件。 - 压缩文件:用
tar -czvf archive.tar.gz /path/to/dir压缩目录,或用gzip file压缩单个文件(压缩后可删除原文件,节省空间)。 - 分割大文件:用
split -b 1G largefile.tar.gz largefile_part_将大文件分割为1G大小的块(便于传输或存储)。
六、管理与优化服务与进程
关闭不必要的服务与进程,减少内存与磁盘占用。
- 禁用无用服务:用
systemctl list-unit-files --type=service列出所有服务,用systemctl disable service_name禁用不需要的服务(如bluetooth、cups)。 - 优化定时任务:检查
/etc/crontab和/etc/cron.d/下的定时任务,删除不必要的任务(如频繁执行的备份任务)。 - 调整内存缓存:用
sync & & echo 3 | sudo tee /proc/sys/vm/drop_caches清理页面缓存(不影响系统运行,仅释放缓存空间)。
七、使用高级存储优化技术
- VDO(虚拟数据优化器):通过重复数据删除与压缩减少实际磁盘使用量。安装
sudo yum install vdo kmod-kvdo,创建VDO卷sudo vdo create --name=vdo1 --device=/dev/sdb,格式化sudo mkfs.xfs /dev/mapper/vdo1,挂载使用。 - 调整内核参数:修改
/etc/sysctl.conf,设置vm.swappiness=10(降低Swap使用优先级,避免内存充足时误用Swap)、vm.dirty_ratio=20(控制脏页占比,提升写入性能),运行sysctl -p生效。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何优化centos系统存储空间
本文地址: https://pptw.com/jishu/744075.html
