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

被折叠的 条评论
为什么被折叠?



