CentOS挂载虚拟机磁盘实用技巧
在挂载前,需先通过虚拟化管理工具(如VMware、VirtualBox)为CentOS虚拟机添加虚拟磁盘。以VirtualBox为例,步骤如下:
添加虚拟磁盘后,启动CentOS虚拟机,通过以下命令查看系统识别的磁盘设备:
lsblk:直观显示磁盘及分区结构(如/dev/sdb为新添加的未分区磁盘);sudo fdisk -l:详细列出所有磁盘的设备名、大小、分区信息(需root权限)。/dev/sdb)。新磁盘需分区并格式化为支持的文件系统(如ext4、xfs)才能挂载:
分区(单分区场景):
使用fdisk工具对磁盘进行分区(以/dev/sdb为例):
sudo fdisk /dev/sdb
操作步骤:输入n(新建分区)→ p(主分区)→ 回车(默认分区号1)→ 回车(默认起始扇区)→ 回车(默认结束扇区)→ w(保存并退出)。
若磁盘需分区为多个逻辑卷(如/dev/sdb1、/dev/sdb2),重复上述步骤即可。
格式化:
对分区进行格式化(以/dev/sdb1为例,格式化为ext4):
sudo mkfs.ext4 /dev/sdb1
若需格式化为xfs(适用于高并发场景),可使用:
sudo mkfs.xfs /dev/sdb1
⚠️ 注意:格式化会清除分区数据,请提前备份重要信息。
使用mount命令将分区临时挂载到指定目录(重启后失效):
/mnt/vmdisk):sudo mkdir -p /mnt/vmdisk
sudo mount /dev/sdb1 /mnt/vmdisk
df -h命令查看挂载结果,若输出中包含/dev/sdb1及对应的挂载点,则说明挂载成功。通过修改/etc/fstab文件实现开机自动挂载,步骤如下:
获取分区的UUID(唯一标识,避免设备名变化导致挂载失败):
sudo blkid /dev/sdb1
输出示例:/dev/sdb1: UUID="1234abcd-5678-efgh-90ij-klmnopqrstuv" TYPE="ext4"。
编辑/etc/fstab文件:
sudo nano /etc/fstab
在文件末尾添加一行(替换为实际UUID、挂载点和文件系统类型):
UUID=1234abcd-5678-efgh-90ij-klmnopqrstuv /mnt/vmdisk ext4 defaults 0 2
参数说明:
defaults:默认挂载选项(包含读写、可执行等);0:dump备份标志(0表示不备份);2:fsck检查顺序(0表示不检查,2表示非根分区检查)。测试fstab配置:
执行以下命令模拟开机挂载,无报错则说明配置正确:
sudo mount -a
挂载失败:
lsblk确认);sudo mkdir -p /mnt/vmdisk);sudo blkid查看UUID及类型);/etc/fstab文件语法(使用sudo mount -a测试)。权限问题:
若挂载后无法访问目录,可通过chmod修改权限(如sudo chmod 777 /mnt/vmdisk),或调整SELinux上下文(sudo chcon -t svirt_sandbox_file_t /mnt/vmdisk)。
磁盘空间不足:
若虚拟磁盘空间不足,可通过VirtualBox的VBoxManage modifyhd命令扩展虚拟磁盘大小(如扩展至200GB):
VBoxManage modifyhd "CentosDisk.vdi" --resize 200000
扩展后,需在CentOS中使用growpart(扩展分区)和resize2fs(扩展文件系统)命令调整分区大小(适用于ext4文件系统)。