Mac VMware Fusion 中修改 centos7 虚拟机的磁盘空间、扩容

概述

开发中用到虚拟机是必不可少的事情,但是很可能刚开始并没给予虚拟机足够的磁盘空间。到了后来就回出现磁盘空间不足的情况,这时候,我们不得不想办法扩充虚拟机的磁盘空间

方式一:增加磁盘数,增加挂载点
VMware Fusion 中扩充虚拟机磁盘空间

要扩充虚拟机的磁盘空间,首先得在VMware Fusion 中操作,为虚拟机增加磁盘。注意操作之前请关闭需要扩容的虚拟机

  • VMware Fusion 选定需要扩容的虚拟机,点击上方的扳手按钮,进行设置,添加。


    3171886-fe7740726a306611.jpg
    image
  • 再点击【添加设备 】按钮,点击新硬盘


    3171886-f03cff0e372f3fe7.jpg
    image
  • 设置好需要添加的硬盘信息,点击【应用】添加磁盘。
到此 VMware Fusion 设置完成
centos 虚拟机设置(以下命令必须用root 权限执行)
  • 打开虚拟机输入命令,查看系统磁盘使用情况统计
df -h

显示目前在Linux系统上的文件系统的磁盘使用情况统计。这个命令只能查看正在使用的磁盘,及相应挂载点


3171886-34a497ba731fca07.jpg
image
  • 输入以下命令,列出设备信息
 lsblk
3171886-1c179f0968d05c18.jpg
image

显然 sda1、sda2、centos-root、centos-swap 都是sda 分出来的分区,而 sdb 就是我需要挂载的磁盘,它有10G的空间

  • 初始化磁盘为linux 系统文件。注意:你的linux 文件系统是什么格式。我的是 ext4
mkfs -t ext4 /dev/sdb
  • 初始化文件系统完成后,切换到根分支 新建文件夹 newdisk,命令如下
    mkdir newdisk

  • 将初始化的磁盘挂载到 newdisk下,命令如下。
    mount /dev/sdb /newdisk
    如果没有任何提示,则表明成功了。(linux 系统相信,没有消息就是好消息)

  • 执行如下命令查看系统挂载情况

df -h
3171886-a51acd5c5b8ae0cc.jpg
image

很明显 sdb 这个磁盘已经挂载到系统了,我们可以正常使用它了。但是如果重启系统,需要重新挂载才能使用。那么最好我们设置一个自动挂载。


设置自动挂载
  • 编辑 /etc/fstab 文件,,命令如下
vim /etc/fstab
  • 在最下方添加如下一条记录,后保存文件
/dev/sdb /newdisk auto defaults,nofail,comment=cloudconfig      0  2

其中 /dev/sdb 需要自动挂载的磁盘,/newdisk 挂载的文件夹。

  • 执行自动挂载命令
mount -a

只要不报错,那就说明设置成功。下次开机,sdb 也会自动挂载到 /newdisk 文件夹下了

总结:

总体来说分为两步

  • VMware Fusion 下增加磁盘
  • Linux 虚拟机中挂载文件
方式二:增加根目录空间
  • 同样要先关闭虚拟机点击设置(小扳手图标)更改虚拟机磁盘大小后应用即可,如下图所示


    3171886-72303613b16fed28.jpg
    image

    3171886-413c72780f915ce2.jpg
    image

查看磁盘空间变化
  • 打开虚拟机命令行输入命令:fdisk -l,就发现磁盘空间变大了,但没有分区,还不能使用。/dev/sda已经拥有了扩大的空间。如下所示
3171886-1faca0f7c39d4d89.jpg
image
  • 也可以用lsblk 命令查看,且显示的更为清晰。显示的磁盘空间大小和 VMware fusion 中设定空间大小一样。
  • 3171886-08621500788168dc.jpg
    image

磁盘分区
  • 使用Linux的fdisk分区工具给磁盘/dev/sda分区,更可以根据提示输入m查看帮助信息,再输入n(表示增加分区),回车后输入p(创建主分区),回车后partition number输入4(因为上面已经有两个分区sda1、sda2和sda3),回车会提示输入分区的start值,end值。都默认即可(即当前能使用的所有空间),回车后输入W进行保存,分区划分完毕(增加了2G空间)。


    3171886-02b6ce9f32a4eb3e.jpg
    image

更改新分区类型为 Linux LVM 类型。
  • 可以看到/dev/sda4的Id号为83,我们要将其改成8e(LVM卷文件系统的Id),具体方法同上跟上一步中的磁盘分区大同小异,输入fdisk /dev/sda,选择t(change a partition's system id 改变一个分区的系统ID)回车,然后选择分区4回车,然后输入L回车。然后输入8e回车,然后输入w,保存修改的分区信息。最后输入fdisk -l ,查看ID是否修改成功。修改成功后必须重新启动linux系统才能进行后面的操作。
    3171886-b170087e408461e0.jpg
    image
  • 现在我们需要重启虚拟机,命令行里提醒,我们需要重启后才能进行下一步操作。

格式化新的分区为 ext4格式
  • 输入命令 fdisk -l 查看磁盘分区情况
    3171886-d5c1192a6afb72bc.jpg
    image
  • 格式化新的分区为ext4格式。mkfs.ext4 /dev/sda4,如下图所示。
    3171886-ee649e697f00b52b.jpg
    image

格式化后,创建PV,将物理硬盘分区初始化为物理卷
  • 首先用用命令pvdisplay查看当前的物理卷。显然并没有sda4

    3171886-e7010de82fd04383.jpg
    image

  • 然后用pvcreate指令用于将物理硬盘分区初始化为物理卷,以便被LVM使用。

  • 要创建物理卷必须首先对硬盘进行分区,并且将硬盘分区的类型设置为“8e”后,才能使用pvcreat指令将分区初始化为物理卷。执行命令pvcreate /dev/sda4

    3171886-61ef0f3c2b2016a0.jpg
    image

  • pvcreate /dev/sda4,创建完后,我们可以再用pvdisplay查看到新创建的物理卷。


    3171886-3f7868f5dc18592b.jpg
    image
  • 可以看到老的物理卷是有VG Name 的,而新的物理卷(也就是sda 4),这里是 centos, 记住这个,后面要用到。


扩展卷组
  • 要扩展VG需要知道当前lvm组名,也就是我们上面要记下来的 VG Name可以通过命令vgdisplay查看。
  • 通过命令 vgextend centos /dev/sda4动态的扩展卷组,它通过向卷组中添加物理卷来增加卷组的容量。
  • 再次执行命令 vgdisplay再次查看,容量已经添加进去。
    3171886-3c0cb7f4f8f71bc6.jpg
    image

扩容空间到 root 下
  • 查看需要扩容的路径,执行命令fdisk -l命令,就可以发现,原来lv(root对应lv)的路径是 /dev/mapper/centos-root, 那么之后的扩容路径就为/dev/centos/root
    3171886-c3a8cbc1788b3a09.jpg
    image
  • 执行命令 lvextend -L+1.99G /dev/centos/root /dev/sda4扩展空间到root下,扩容的空间要略小于VG的free空间(上图 Free PE / Size 522 / <2.04),因此这里只输入了1.99G.
  • 然后通过df -h查看,root空间还是没变,因为我们差最后最关键的一步。

3171886-668e557f4d401993.jpg
image
扩大未挂载文件系统
  • resize2fs命令,用于扩大或者缩小未挂载的ext2,ext3或者是ext4文件系统。具体命令为:resize2fs -p /dev/mapper/centos-root 1.99G。这个路径,就是前面 root 对应 lv 的路径。
  • 发现报错如下
resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos-root 时
找不到有效的文件系统超级块
  • 可能我们的系统是xfs 文件系统,执行命令cat /etc/fstab |grep centos-root确认下是不是 xfs 文件系统。结果如下
/dev/mapper/centos-root /                       xfs     defaults        0 0
  • xfs 文件系统应该用如下命令扩容
xfs_growfs /dev/mapper/centos-root 
  • 结果如下
meta-data=/dev/mapper/centos-root isize=512    agcount=7, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=7588864, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 7588864 to 8111104
  • 执行命令df -h,根目录的空间已经扩容。如下所示
    3171886-6a93667c26b1e587.jpg
    image
借鉴文章

百度经验

总结:

到此 Mac VMware Fusion 中修改centos7虚拟机的磁盘空间、扩容 就完成了。windows 等其他平台、其他 linux 虚拟机等等也类似,可能命令等有所不同,就不过多赘述了。

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值