CentOS虚拟机存储管理指南
在虚拟机管理器(如VirtualBox、KVM)中为CentOS添加虚拟磁盘是扩展存储的第一步。
qemu-img create -f raw /var/lib/libvirt/images/centos_add.img 20G命令生成raw格式虚拟磁盘(也可选qcow2格式以节省空间)→通过virsh edit centos命令编辑虚拟机XML配置,在<devices>标签内添加<disk type='file' device='disk'>段落,指定磁盘路径(如source file='/var/lib/libvirt/images/centos_add.img')和设备名(如target dev='vdb')。lsblk命令确认新磁盘(如/dev/sdb或/dev/vdb)是否被识别。当现有磁盘空间不足时,可通过扩展虚拟磁盘+调整系统分区/逻辑卷实现。
qemu-img resize /var/lib/libvirt/images/centos.img +20G命令直接扩展磁盘大小。lsblk确认新空间是否可用(如/dev/sda从20GB增至40GB,但sda1仍为20GB)。fdisk /dev/sda→输入d删除原分区(如sda1)→输入n创建新分区→选择“主分区”→分区号保持默认(如1)→起始扇区默认→结束扇区选择“默认”(即使用全部空间)→输入t将分区类型改为8e(Linux LVM)→输入w保存并退出(需重启虚拟机使分区表生效)。gdisk /dev/sda→按类似步骤删除并重建分区,最后输入w保存。pvcreate /dev/sda1(若为未分配空间,可直接指定磁盘如pvcreate /dev/sda)。vgextend centos /dev/sda1(centos为卷组名,可通过vgdisplay查看)。lvextend -l +100%FREE /dev/mapper/centos-root(将卷组剩余空间全部添加到root逻辑卷)。xfs_growfs /dev/mapper/centos-root(支持在线扩容,无需卸载)。resize2fs /dev/mapper/centos-root(需卸载分区,但LVM通常允许在线操作)。fdisk创建新分区→格式化(mkfs.ext4 /dev/sdb1)→挂载(mount /dev/sdb1 /data)→设置开机自动挂载(编辑/etc/fstab添加/dev/sdb1 /data ext4 defaults 0 0)。LVM提供了灵活的存储管理能力,适合需要频繁调整空间的场景。
pvcreate /dev/sdb(/dev/sdb为新磁盘)。vgcreate vg_data /dev/sdb(vg_data为卷组名)。lvcreate -L 10G -n lv_data vg_data(创建10GB名为lv_data的逻辑卷)。mkfs.ext4 /dev/mapper/vg_data-lv_data→创建挂载点mkdir /data→挂载mount /dev/mapper/vg_data-lv_data /data→设置开机自动挂载(编辑/etc/fstab添加/dev/mapper/vg_data-lv_data /data ext4 defaults 0 0)。lvextend -L +5G /dev/mapper/vg_data-lv_data(增加5GB空间)。xfs_growfs /dev/mapper/vg_data-lv_data(XFS)或resize2fs /dev/mapper/vg_data-lv_data(ext4)。定期监控磁盘使用情况,及时清理无用数据,避免空间耗尽。
df -h查看各分区空间占用(重点关注Use%列);使用lsblk查看磁盘与分区的挂载关系。du -sh /* | sort -h查看根目录下各目录大小(从大到小排序);使用ncdu工具(需安装:yum install ncdu)交互式查看目录占用。yum clean all(释放/var/cache/yum空间)。logrotate工具自动轮转日志,或手动删除旧日志(rm -rf /var/log/*.gz)。rm -rf /tmp/*(注意:不要删除正在使用的临时文件)。rsync或tar工具),防止误操作导致数据丢失。resize2fs扩展,XFS文件系统使用xfs_growfs扩展(XFS仅支持在线扩容,且创建后无法缩小)。<controller type='usb' index='0' model='qemu-xhci'/>以启用USB控制器),但VirtualBox默认不支持热插拔,需重启虚拟机。