优化CentOS虚拟机存储空间需从清理无用文件、调整分区大小、管理日志及临时文件、使用工具辅助等多方面入手,以下是具体步骤:
sudo yum clean all # CentOS(YUM包管理)
sudo apt-get clean # Ubuntu/Debian(APT包管理)
/var/log/目录是日志的主要存储位置,可使用find命令删除过期日志(如30天以上):sudo find /var/log -type f -name "*.log*" -mtime +30 -delete # 删除30天以上的.log文件
sudo journalctl --vacuum-size=200M # 限制系统日志大小为200MB
/tmp/和/var/tmp/目录存放临时文件,可安全删除:sudo rm -rf /tmp/* # 清理/tmp目录
sudo rm -rf /var/tmp/* # 清理/var/tmp目录
autoremove命令删除不再需要的依赖包:sudo yum autoremove # CentOS
sudo apt-get autoremove # Ubuntu/Debian
sudo package-cleanup --oldkernels --count=2 # CentOS
.cache/、回收站等目录可清理:rm -rf ~/.cache/* # 清理当前用户缓存
rm -rf ~/.local/share/Trash/* # 清理回收站
若现有分区空间不足,可通过扩展虚拟磁盘+调整分区实现:
VBoxManage命令调整虚拟磁盘大小(单位:MB):VBoxManage modifyhd /path/to/centos.vdi --resize 200000 # 将磁盘扩展至200GB
fdisk -l查看磁盘分区情况,确认未分配空间;growpart扩展分区(需安装cloud-utils):sudo growpart /dev/sda 1 # 扩展/dev/sda1分区至磁盘末尾
sudo xfs_growfs /dev/mapper/centos-root;sudo resize2fs /dev/mapper/centos-root。/mnt/data):
sudo mkdir /mnt/data # 创建挂载点
sudo mount /dev/sdb1 /mnt/data # 挂载新磁盘
echo "/dev/sdb1 /mnt/data ext4 defaults 0 0" >> /etc/fstab # 开机自动挂载
logrotate工具自动压缩、删除旧日志,编辑/etc/logrotate.conf调整策略(如保留7天日志、压缩旧日志):sudo vim /etc/logrotate.conf
# 示例配置:每周轮转,保留4周日志,压缩旧日志
weekly
rotate 4
compress
--log-opt参数限制容器日志大小:docker run --log-driver json-file --log-opt max-size=10m --log-opt max-file=3 nginx
sudo yum install ncdu -y # CentOS
sudo apt-get install ncdu -y # Ubuntu/Debian
ncdu / # 扫描根目录
sudo yum install bleachbit -y # CentOS
sudo apt-get install bleachbit -y # Ubuntu/Debian
bleachbit # 启动图形化界面
sudo yum install quota -y # 安装quota工具
sudo quotacheck -cug / # 初始化配额数据库
sudo quotaon / # 开启配额
sudo edquota -u username # 编辑用户配额(如限制为10GB)
cron定时任务每周执行清理脚本(如凌晨3点):# 编辑cron任务
sudo crontab -e
# 添加以下内容(每周日凌晨3点执行清理脚本)
0 3 * * 0 /root/cleanup_script.sh
(cleanup_script.sh需包含上述清理命令,如yum clean all、find /var/log -mtime +30 -delete等)通过以上方法,可有效优化CentOS虚拟机的存储空间使用,避免因空间不足导致系统故障。操作前请务必备份重要数据,尤其是分区调整等高风险操作。