Linux 客户机(在 VirtualBox 中)不会使用动态 VDI 磁盘的所有空间

Linux 客户机(在 VirtualBox 中)不会使用动态 VDI 磁盘的所有空间

我在 Linux CentOS Guest 上的 VirtualBox 中的虚拟磁盘遇到了问题。我没有在其上使用快照。

它最初是一个 8GB 的​​磁盘,我使用VBoxManage modifyhd主机内的命令将其扩展到 16GB。然后我使用GParted live映像调整了客户机中的分区大小。磁盘和虚拟机更改了主机(但 VirtualBox 版本相同)。

现在我的磁盘已经满了,没有剩余空间了。

查看GParted/boot (/dev/sda1)大小为 1GB,并且/ (/dev/sda2)大小为 15GB:GParted 直播

但看看df

[ted@localhost ~]$ df -Th
Filesystem          Type       Size    Used Avail Use% Mounted on
/dev/mapper/cl-root xfs        6,0G    5,9G  106M  99% /
devtmpfs            devtmpfs   986M       0  986M   0% /dev
tmpfs               tmpfs     1001M    100K 1001M   1% /dev/shm
tmpfs               tmpfs     1001M    8,8M  992M   1% /run
tmpfs               tmpfs     1001M       0 1001M   0% /sys/fs/cgroup
tmpfs               tmpfs     1001M     32K 1001M   1% /tmp
/dev/sda1           xfs       1014M    235M  780M  24% /boot
tmpfs               tmpfs      201M    8,0K  201M   1% /run/user/1000

根目录的大小为 6GB,经 确认fdisk -l。但磁盘大小确实是 16+GB:

[ted@localhost ~]$ sudo fdisk -l

Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 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: 0x000140ff

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

Disk /dev/mapper/cl-root: 6442 MB, 6442450944 bytes, 12582912 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 /dev/mapper/cl-swap: 1069 MB, 1069547520 bytes, 2088960 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

澄清一下,tmpfs 分区安装在 RAM 中,对吗?这些文件不可能占用磁盘空间,对吗?

此外,我在主机磁盘上有足够的空间。

我看到了这篇文章让 Linux VirtualBox Guest 使用所有可用的虚拟磁盘(无快照)但我的情况似乎有点不同,因为我调整了分区大小,并且可以看到空间pvdisplay

[tnodet@localhost ~]$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               cl
  PV Size               15,00 GiB / not usable 2,00 MiB
  Allocatable           yes 
  PE Size               4,00 MiB
  Total PE              3839
  Free PE               2048
  Allocated PE          1791
  PV UUID               rrG0JE-i1MB-IeA0-Ce5c-dpj7-Fwm2-RMjyYb

在 Windows 10 主机上:

D:\Profiles\ted\VirtualBox VMs\CentOS-CKAN>VBoxManage showhdinfo CentOS-CKAN.vdi
UUID:           76d3524e-803c-4d1e-816d-5bc705e26aac
Parent UUID:    base
State:          locked write
Type:           writethrough
Location:       d:\Profiles\ted\VirtualBox VMs\CentOS-CKAN\CentOS-CKAN.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       16384 MBytes
Size on disk:   6413 MBytes
Encryption:     disabled
In use by VMs:  CentOS-CKAN (UUID: 1e96120c-17a3-4892-8d98-dd88eed429db)

我现在很迷茫,很困惑,我甚至不知道问题是来自 Windows 主机/VirtualBox,还是来自 Linux 客户机……

有什么想法吗?提前致谢!


其他命令:

[ted@localhost ~]$ ll /dev/disk/by-id
total 0
lrwxrwxrwx. 1 root root  9 20 sept. 12:16 ata-VBOX_CD-ROM_VB2-01700376 -> ../../sr0
lrwxrwxrwx. 1 root root  9 20 sept. 12:16 ata-VBOX_HARDDISK_VB76d3524e-ac6ae205 -> ../../sda
lrwxrwxrwx. 1 root root 10 20 sept. 12:16 ata-VBOX_HARDDISK_VB76d3524e-ac6ae205-part1 -> ../../sda1
lrwxrwxrwx. 1 root root 10 20 sept. 12:16 ata-VBOX_HARDDISK_VB76d3524e-ac6ae205-part2 -> ../../sda2
lrwxrwxrwx. 1 root root 10 20 sept. 12:16 dm-name-cl-root -> ../../dm-0
lrwxrwxrwx. 1 root root 10 20 sept. 12:16 dm-name-cl-swap -> ../../dm-1
lrwxrwxrwx. 1 root root 10 20 sept. 12:16 dm-uuid-LVM-AFXgxjJZSLDRCWckAVMMKzthSc5hNl6cbrtdWs4fPXZIoe1O6Wy0qh2xoreIY8tw -> ../../dm-1
lrwxrwxrwx. 1 root root 10 20 sept. 12:16 dm-uuid-LVM-AFXgxjJZSLDRCWckAVMMKzthSc5hNl6cmYPaZX60S5aAvfejEltFs2vMPmIlRkuV -> ../../dm-0
lrwxrwxrwx. 1 root root 10 20 sept. 12:16 lvm-pv-uuid-rrG0JE-i1MB-IeA0-Ce5c-dpj7-Fwm2-RMjyYb -> ../../sda2

答案1

我明白了,这与逻辑卷,对此我感到不太安心。

正如你可以猜测的那样fdisk -l物理分区sda2被分成两个逻辑卷,/dev/cl/root并且/dev/cl/swap,分组到一个卷组中cl

[root@localhost ted]# vgscan
  Reading volume groups from cache.
  Found volume group "cl" using metadata type lvm2

[root@localhost ted]# lvscan
  ACTIVE            '/dev/cl/root' [6,00 GiB] inherit
  ACTIVE            '/dev/cl/swap' [1020,00 MiB] inherit
  1. 所以我做的是首先删除交换逻辑卷5.3.2. 删除 LVM2 逻辑卷用于交换

    [root@localhost ted]# swapoff -v /dev/cl/swap
    swapoff /dev/cl/swap
    
    [root@localhost ted]# lvremove /dev/cl/swap
    Do you really want to remove active logical volume cl/swap? [y/n]: y
      Logical volume "swap" successfully removed
    

    注释行/etc/fstab

    #/dev/cl/swap swap swap defaults 0 0
    
  2. 然后我不得不调整根逻辑卷的大小

    [root@localhost ted]# lvextend -L+8G /dev/cl/root
    
  3. 最后我不得不调整根文件系统的大小。我在尝试使用命令时遇到问题resize2fs(因为不支持 XFS,请参阅resize2fs:尝试打开时超级块中的魔法数字错误),但却xfs_growfs达到了这样的效果:

    [root@localhost ted]# xfs_growfs /dev/cl/root
    meta-data=/dev/mapper/cl-root    isize=512    agcount=4, agsize=393216 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=1572864, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal               bsize=4096   blocks=2560, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 1572864 to 3670016
    

我现在在 /dev/mapper/cl-root 上有 14GB 的空间:)

相关内容