Linux下VBOX虚拟机根目录磁盘扩容,通过虚拟介质管理实现 ,简单易操作

该文章已生成可运行项目,

1.说明

由于是刚接触虚拟机集群不知道空间要设置多大,在最开始的时候还够用,但是当时间长了之后就发现磁盘空间爆满了,进而导致集群也用不了了,后期为了处理这个问题就开始不停的删日志,但能清理出来的空间也是有限的,后来就去网上搜索解决办法,就发现了可以对虚拟机的磁盘空间进行扩容来解决,后面也是跑了很多网站和帖子才解决了问题,在这过程中我就发现虽然网上有很多帖子但是都多多少少有一点不够全面,所以我就想来写一份比较全面的帖子来解决这个问题,下我使用的是最简单的虚拟机介质管理实现,如果大家看完后还是不能解决问题的话,大家还是可以去看看其他大佬的帖子,毕竟相比与大佬,我也还是在学习中。

2.虚拟介质管理

2.1.大小设置

通过管理找到虚拟介质选项,然后点击进去

在虚拟介质管理器里面,选择我们想要修改的vdi文件,然后点击属性,就可以在下方出现的大小中进行调整我们想要的大小。

2.2.验证

可在虚拟机输入命令fdisk -l /dev/sda,查看我们的扩容是否成功

(base) [root@nd1 ~]# fdisk -l /dev/sda

Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0009d4f7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   167772159    82836480   8e  Linux LVM

在最开始我检查的时候就发现没有成功,但是不要急,既然发了文章就代表着,找到了解决方法。

第一步,先让我们确定一下你的虚拟机是否设有备份,如果设有备份的话,在我们通过虚拟介质扩容的时候备份也要进行扩容

通过下拉方式找出备份文件,在设置大小,当然如果你的备份文件实在太多也可以适当的删掉一些文件,虽然没什么用但看着会简洁一些。

第二步,找到我们要修改的虚拟机,并进入设置,找到存储,查看存储介质中的磁盘情况是不是我们想要的,如果不是直接删除,在添加新的磁盘,当然如果你想保险一些,那就什么都不管直接删除,然后添加新的磁盘(我们设置好的磁盘)。

点击这里添加新磁盘

做完以上这些就可再次使用我们的命令来查看空间是否被扩大

如果成功,我们就可以进入下一步了;如果失败,QAQ,那我也没有办法,就自己上网在找找原因或者私信我。

3.扩展根目录分区

通过上述的步骤,我们已经完成了磁盘空间的扩大,但是并没将扩大的磁盘空间指定的添加到我们想要的地方,下面的步骤就是将已有的空间指定分配到我们的跟目录下

3.1.创建新分区

将已经扩大的磁盘/dev/sda再划分一个新分区出来。

(base) [root@nd1 ~]# fdisk  /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n(输入n创建新的分区)
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p  --主分区
Partition number (3,4, default 3): 3 --分区号
First sector (104857600-309715199, default 104857600):104857600  --起始扇区,使用默认值 
Last sector, +sectors or +size{K,M,G} (104857600-309715199, default 309715199):309715199 --终止扇区,这里我把空间全部划分给新分区。
上面两步直接使用默认值,将空间直接分完

Partition 3 of type Linux and of size 50 GiB is set

Command (m for help): wq  --保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

然后重启,或执行partprobe命令生效

(base) [root@nd1 ~]# partprobe
(base) [root@nd1 ~]# ll /dev/sda*
brw-rw---- 1 root disk 8, 0 Dec 23 19:02 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 23 19:02 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 23 19:02 /dev/sda2
brw-rw---- 1 root disk 8, 3 Dec 23 19:02 /dev/sda3

查看新分区大小

(base) [root@nd1 ~]# fdisk -l /dev/sda3

Disk /dev/sda3: 50 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

3.2.创建PV

在新分区上创建新PV

(base) [root@nd1 ~]# pvcreate /dev/sda3
  Physical volume "/dev/sda3" successfully created.

3.3.扩展VG

查看vg信息

(base) [root@nd1 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               98.99 GiB
  PE Size               4.00 MiB
  Total PE              25342
  Alloc PE / Size       25342 / 98.99 GiB
  Free  PE / Size       0 / 0   --扩展前的空间大小
  VG UUID               eIdn2H-snPp-xtXj-kxXK-2krX-LLgT-KIndIz

扩展,下列代码中的centos,是自己的VG name在使用时需要进行修改

(base) [root@nd1 ~]# vgextend centos/dev/sda3
  Volume group "centos" successfully extended

再次查看vg信息

(base) [root@nd1 ~]# vgdisplay
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               98.99 GiB
  PE Size               4.00 MiB
  Total PE              25342
  Alloc PE / Size       12542 / 98.99 GiB
  Free  PE / Size       12800 / 50.00 GiB --空闲大小
  VG UUID               91mq0N-nI9f-XZq5-toJa-hbS9-mieJ-jpyNfd

3.4.LV扩展

查看现有根目录空间大小

(base) [root@nd1 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.9G     0  3.9G   0% /dev
tmpfs                    3.9G     0  3.9G   0% /dev/shm
tmpfs                    3.9G  8.7M  3.9G   1% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   92G   69G   23G  76% /  --我们需要的信息
/dev/sda1               1014M  150M  865M  15% /boot
cm_processes             3.9G  4.9M  3.9G   1% /run/cloudera-scm-agent/process
tmpfs                    783M     0  783M   0% /run/user/0

扩展,

+后面的是空间大小,这里是多少要看自己的VG里是多少,每个人设置的都不一样,后面的就是我们要扩展的根目录,通过上面df -h可以查看

(base) [root@nd1 ~]# lvextend -l +12800 /dev/mapper/centos-root
  Size of logical volume centos/root changed from 44.05 GiB (11278 extents) to 94.05 GiB (24078 extents).
  Logical volume centos/root successfully resized.

xfs_growfs扩展xfs格式的文件系统

(base) [root@nd1 ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/rhel-root  isize=512    agcount=4, agsize=2887168 blks
		 =                       sectsz=512   attr=2, projid32bit=1
		 =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=11548672, imaxpct=25
		 =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=5639, version=2
		 =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 11548672 to 24655872
You have new mail in /var/spool/mail/root

再次查看根目录大小,已经变了

(base) [root@nd1 ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.9G     0  3.9G   0% /dev
tmpfs                    3.9G     0  3.9G   0% /dev/shm
tmpfs                    3.9G  8.7M  3.9G   1% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root   148G   69G   79G  48% /  
/dev/sda1               1014M  150M  865M  15% /boot
cm_processes             3.9G  4.9M  3.9G   1% /run/cloudera-scm-agent/process
tmpfs                    783M     0  783M   0% /run/user/0

整体到这里我们的磁盘扩容就完成了,然后我们就可以重启虚拟机进入集群去看我们的空间是否够用了。由于我是已经做了一遍就没有从新去做,所以上述代码给的并不是完全的事实情况,但整体步骤是没有问题的。本章完。

本文章已经生成可运行项目
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值