用到的命令
vgdisplay
lvextend -L +10G /dev/mapper/ubuntu--vg-ubuntu--lv
fdisk /dev/sda
mkfs.ext4 /dev/sda4
mkdir /cpy
mount /dev/sda4 /cpy
umount /cpy
lvdisplay
lvextend /dev/ubuntu-vg/ubuntu-lv /dev/sda4
resize2fs /dev/ubuntu-vg/ubuntu-lv
df -h
virtualbox 扩容的vdi之后, 怎么让虚拟机使用上刚才扩容的这个空间。
直接lvextend是不行的。 这部分空间需要分配挂载之后才可以使用。可以选择是直接挂载该分区,还是扩展已有分区
root@go:/home/fly# fdisk /dev/sda
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
GPT PMBR size mismatch (83886079 != 167772159) will be corrected by write.
The backup GPT table is not on the end of the device. This problem will be corrected by write.
Command (m for help): p
Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1768C51A-6BAC-4B5B-BAC2-91260A97804C
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 2101247 2097152 1G Linux filesystem
/dev/sda3 2101248 83884031 81782784 39G Linux filesystem
Command (m for help):
Command (m for help): n
Partition number (4-128, default 4):
First sector (83884032-167772126, default 83884032):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (83884032-167772126, default 167772126):
Created a new partition 4 of type 'Linux filesystem' and of size 40 GiB.
Command (m for help): w
The partition table has been altered.
Syncing disks.
第一种方式: 挂载刚才的 /dev/sda4分区
root@go:/home/fly# mkfs.ext4 /dev/sda4
mke2fs 1.45.5 (07-Jan-2020)
Creating filesystem with 10485760 4k blocks and 2626560 inodes
Filesystem UUID: 1cddb0bb-d43a-4bb9-a4c9-fe772c5d7044
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (65536 blocks): done
Writing superblocks and filesystem accounting information: done
root@go:/home/fly# df -h
第二种方式, 拓展已有的 /dev/ubuntu-vg/ubuntu-lv 这个分区
1.第一步:
root@go:~# vgextend ubuntu-vg /dev/sda4
WARNING: ext4 signature detected on /dev/sda4 at offset 1080. Wipe it? [y/n]: y
Wiping ext4 signature on /dev/sda4.
Physical volume "/dev/sda4" successfully created.
Volume group "ubuntu-vg" successfully extended
第二步:
root@go:~# lvextend /dev/ubuntu-vg/ubuntu-lv /dev/sda4
Size of logical volume ubuntu-vg/ubuntu-lv changed from 35.00 GiB (8960 extents) to <75.00 GiB (19199 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
第三步:
root@go:~# xfs_growfs /dev/ubuntu-vg/ubuntu-lv
xfs_growfs: /dev/ubuntu-vg/ubuntu-lv is not a mounted XFS filesystem
正确:
root@go:~# resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing requ
old_desc_blocks = 5, new_desc_blocks = 10
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 19659776 (4k) blocks long.
第三步参考: javascript:void(0)
特别注意的是:
resize2fs 命令 针对的是ext2、ext3、ext4文件系统
xfs_growfs 命令 针对的是xfs文件系统
----------------------------------------------------lvextend------------------------------------
1.扩容
本人在docker pull mysql 时报错,说空间不足,结果后来才发现在安装Ubuntu Server的时候采用了LVM,这才导致了根目录只有3.9G。
用指令 df -h 查看磁盘情况
所以现在需要扩容,用指令显示存在的卷组,vgdisplay
Free PE / Size 4863 / <19.00 GiB
这是还可以扩充的大小
然后输入指令扩容
2.lvextend -L +20G /dev/mapper/ubuntu--vg-ubuntu--lv
3.lvextend -L +5G /dev/mapper/ubuntu--vg-ubuntu--lv
4.执行调整 resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
----------------------------------------------------lvextend------------------------------------
原文:javascript:void(0)
VirtualBox调整扩大VMDK和VDI格式的磁盘空间,并扩展系统空间--------------------
转载:javascript:void(0)
https://bugxia.com/581.html
容量扩充:
操作步骤如下:
1.切换到VirtualBox目录
2.执行clonehd命令并转为vdi
为什么要转?因为不支持直接扩大,毕竟vdi是VMware家的,既然能vmdk --> vdi成立,那么vdi --> vmdk也应该能成立,大不了再转回来
C:\Program Files\Oracle\VirtualBox>vboxmanage clonehd "E:\centos\centos.vmdk" "E:\centos\centos-python.vdi" -format VDI
3.执行modifyhd命令,这里的51200是MB单位
C:\Program Files\Oracle\VirtualBox>vboxmanage modifyhd "E:\centos\centos-python.vdi" --resize 51200
4.如果想用vid重新设置即可,重新挂载硬盘即可,不折不挠的继续往下看下一步
5.如果想转回去,挂载硬盘即可,至于系统中的如何划分新增加的硬盘空间,百度即可!
C:\Program Files\Oracle\VirtualBox>vboxmanage clonehd "E:\centos\centos-python.vdi" "E:\centos\centos-python.vmdk" -format VMDK
扩展系统空间
1.查询容量,使用 fdisk -l 命令
如上图所示,已分配16G,总容量 – 已分配 = 未分配容量,既为第一步中我们调整的容量。
这部分空间需要分配挂载之后才可以使用。
2.开始分区
因为此虚拟机只有一块虚拟硬盘,即 /dev/sda,所以首先需要对此块硬盘的未分配空间进行分区操作,命令:
fdisk /dev/sda
分区完毕,输入 w 保存分区表
此时会出现提示:
-
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.
大致意思就是设备忙,需要重启虚拟机以便分区表生效。好的,那就重启。
3.格式化分区
重启虚拟机后,再次执行 fdisk -l 命令查看,发现多出一个分区
格式化该分区为ext4格式
mkfs.ext4 /dev/sda4
此时可以选择是直接挂载该分区,还是扩展已有分区
1.选择直接挂载
可以使用mount命令,将刚刚格式化的分区挂载到某一路径下,如挂载到/home/extend
-
mkdir /home/ext -
mount /dev/sda4 /home/ext
再修改/etc/fstab,尾部添加一行
/dev/sda4 /home/ext ext4 defaults 0 1
重启即可自动挂载该分区
2.选择扩展已有分区
执行df -h 查看已挂载分区及其挂载路径
比如我要扩展上图红框的根目录 /
首先查看卷组的信息,记录组名称
vgdisplay
创建新的物理分区( /dev/sda4即为上述步骤中扩展的分区 )
pvcreate /dev/sda4
执行 vgextend 扩展命令
-
#格式:vgextend 组名称 扩展分区 -
vgextend centos /dev/sda4
执行 lvdisplay 指令,显示逻辑卷属性,并记录根分区路径
执行扩展命令
lvextend /dev/centos/root /dev/sda4
如上图,容量已成功扩展
刷新一下分区容量
xfs_growfs /dev/centos/root
再执行df -h
扩展容量已成功添加至 / 根目录