【转】lvextend 无法使用 virtualbox 扩容的vdi

用到的命令

  

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.

第三步参考: https://www.cnblogs.com/kevingrace/p/5825963.html

特别注意的是:
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------------------------------------

原文:https://blog.csdn.net/weixin_40845192/article/details/106298378

VirtualBox调整扩大VMDK和VDI格式的磁盘空间,并扩展系统空间

--------------------

转载:https://www.cnblogs.com/luobo-zhang/p/8128185.html

           https://bugxia.com/581.html

容量扩充:

操作步骤如下:

  1.切换到VirtualBox目录 
  

  2.执行clonehd命令并转为vdi
  为什么要转?因为不支持直接扩大,毕竟vdi是VMware家的,既然能vmdk --> vdi成立,那么vdi --> vmdk也应该能成立,大不了再转回来

C:Program FilesOracleVirtualBox>vboxmanage clonehd "E:centoscentos.vmdk" "E:centoscentos-python.vdi" -format VDI

  3.执行modifyhd命令,这里的51200是MB单位

C:Program FilesOracleVirtualBox>vboxmanage modifyhd "E:centoscentos-python.vdi" --resize  51200

  4.如果想用vid重新设置即可,重新挂载硬盘即可,不折不挠的继续往下看下一步

  5.如果想转回去,挂载硬盘即可,至于系统中的如何划分新增加的硬盘空间,百度即可!

C:Program FilesOracleVirtualBox>vboxmanage clonehd "E:centoscentos-python.vdi" "E:centoscentos-python.vmdk" -format VMDK

扩展系统空间 

1.查询容量,使用 fdisk -l 命令

如上图所示,已分配16G,总容量 – 已分配 = 未分配容量,既为第一步中我们调整的容量。

这部分空间需要分配挂载之后才可以使用。

2.开始分区

因为此虚拟机只有一块虚拟硬盘,即 /dev/sda,所以首先需要对此块硬盘的未分配空间进行分区操作,命令:

fdisk /dev/sda

分区完毕,输入 w 保存分区表

此时会出现提示:

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

大致意思就是设备忙,需要重启虚拟机以便分区表生效。好的,那就重启。

3.格式化分区

重启虚拟机后,再次执行 fdisk -l 命令查看,发现多出一个分区

格式化该分区为ext4格式

mkfs.ext4 /dev/sda4

挂载&扩展

此时可以选择是直接挂载该分区,还是扩展已有分区

1.选择直接挂载

可以使用mount命令,将刚刚格式化的分区挂载到某一路径下,如挂载到/home/extend

  1.  
    mkdir /home/ext
  2.  
    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 扩展命令

  1.  
    #格式:vgextend 组名称 扩展分区
  2.  
    vgextend centos /dev/sda4

执行 lvdisplay 指令,显示逻辑卷属性,并记录根分区路径

执行扩展命令

lvextend /dev/centos/root /dev/sda4

如上图,容量已成功扩展

刷新一下分区容量

xfs_growfs /dev/centos/root

再执行df -h

扩展容量已成功添加至 / 根目录

原文地址:https://www.cnblogs.com/oxspirt/p/15214394.html