ubuntu server通过命令扩容硬盘
第一步:用VBoxManage.exe给虚拟硬盘扩容
VBoxManage.exe其实就是VirtualBox的“无界面”版,安装VirtualBox的时候自带的就有。
- VirtualBox软件的安装路径:D:\Common\VitrualBox\
- 虚拟机的虚拟硬盘路径:D:\VM\kubeedge\kubeedge.vdi
- 扩容到20G,也就是 20480 M
D:\\Common\\VitrualBox\\VBoxManage.exe modifymedium --resize 20480 "D:\\VM\\kubeedge\\kubeedge.vdi"
第二步:用fdisk,创建新分区
这里的分区(Partition)是物理上的分区,并不是分“C盘、D盘、E盘”那种逻辑上的分区。首先用fdisk工具,对/dev/sda操作:
fdisk /dev/sda
进入fdisk以后,按n
,按4
,敲两下回车,再按w
保存退出,就把多出来的空间都变成/dev/sda4
了。如果按完n后,按的不是4
是 5
,那么创建的就是 /dev/sda5
。
Command (m for help): n
Partition number (4-128, default 4): 4
First sector (20969472-41943006, default 20969472):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (20969472-41943006, default 41943006):
Created a new partition 4 of type 'Linux filesystem' and of size 10 GiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.
第三步:用pvcreate,创建物理卷
创建物理卷(phisical volume)就相当于在分区上做个“这个分区是空闲的”的标记。用pvcreate将新创建的分区 /dev/sda4 变成物理卷:
pvcreate /dev/sda4
运行结果:
root@kubeedge:~# pvcreate /dev/sda4
WARNING: ext3 signature detected on /dev/sda4 at offset 1080. Wipe it? [y/n]: y
Wiping ext3 signature on /dev/sda4.
Physical volume "/dev/sda4" successfully created.
用pvscan
看看物理卷的情况:
root@kubeedge:~# pvscan
PV /dev/sda3 VG ubuntu-vg lvm2 [<9.00 GiB / 0 free]
PV /dev/sda4 lvm2 [10.00 GiB]
Total: 2 [<19.00 GiB] / in use: 1 [<9.00 GiB] / in no VG: 1 [10.00 GiB]
可以看到,/dev/sda3 在卷组“ubuntu-vg”里,而 /dev/sda4 不在。。
第四步:用vgextend,把新物理卷加到卷组
扩展可用空间,就是把新增的 /dev/sda4 加到卷组”ubuntu-vg”里。
vgextend ubuntu-vg /dev/sda4
运行结果:
root@kubeedge:~# vgextend ubuntu-vg /dev/sda4
Volume group "ubuntu-vg" successfully extended
查看卷组的命令是:vgdisplay
root@kubeedge:~# vgdisplay
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 18.99 GiB
PE Size 4.00 MiB
Total PE 4862
Alloc PE / Size 2303 / <9.00 GiB
Free PE / Size 2559 / <10.00 GiB
VG UUID vE0eg1-ArO6-fbfa-XruQ-e0bJ-efCn-27449F
第五步:用lvextend,给逻辑卷扩容
用 df -h
看看磁盘名叫什么:
root@kubeedge:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 952M 0 952M 0% /dev
tmpfs 199M 1.1M 198M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 8.8G 7.6G 746M 92% /
tmpfs 994M 0 994M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sda2 976M 103M 806M 12% /boot
/dev/loop0 30M 30M 0 100% /snap/snapd/8542
/dev/loop1 72M 72M 0 100% /snap/lxd/16099
/dev/loop2 55M 55M 0 100% /snap/core18/1880
tmpfs 199M 0 199M 0% /run/user/0
最右侧为 /
的那一行,左边就是根目录的用的磁盘名,这里是 “/dev/mapper/ubuntu—vg-ubuntu—lv”,这就是下一个命令的最后一个参数
运行命令:
lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
运行结果:
root@kubeedge:~# lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from <9.00 GiB (2303 extents) to 18.99 GiB (4862 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
第六步: resize2fs,让逻辑卷的扩容生效
如果不用resize2fs的话,即使重启虚拟机,扩容也不会生效。
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
运行结果:
root@kubeedge:~# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 4978688 (4k) blocks long.
root@kubeedge:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 952M 0 952M 0% /dev
tmpfs 199M 1.1M 198M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 19G 7.8G 11G 44% /
tmpfs 994M 0 994M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sda2 976M 103M 806M 12% /boot
/dev/loop0 30M 30M 0 100% /snap/snapd/8542
/dev/loop1 72M 72M 0 100% /snap/lxd/16099
/dev/loop2 55M 55M 0 100% /snap/core18/1880
tmpfs 199M 0 199M 0% /run/user/0
评论区