昨天我将 VM 虚拟磁盘的大小从大约 15 GB 调整到了大约 26 GB。
如果我运行 fdisk,我可以检查磁盘是否已调整大小:
Disk /dev/sda: 26.2 GB, 26214400000 bytes
255 testine, 63 settori/tracce, 3187 cilindri, totale 51200000 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0005c952
它不再是 15 GB,而是 26.6 GB。
所以我跑了
fdisk /dev/sda
对其进行分区。
Comando (m per richiamare la guida): n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): p
Numero della partizione (1-4, predefinito 3): 3
Primo settore (499712-51199999, predefinito 499712):
Utilizzo del valore predefinito 499712
Last settore, +settori or +size{K,M,G} (499712-501757, predefinito 501757):
w
我已经看到扇区间隔太短了。
我保留 ID 为 83 的分区(Linux 分区),然后运行:
partprobe -s
/dev/sda: msdos partitions 1 3 2 <5>
/dev/mapper/ubuntu--vg-swap_1: loop partitions 1
/dev/mapper/ubuntu--vg-root: loop partitions 1
但为了确保万无一失,我跑了
partprobe
也。
好的,我的分区是 /dev/sda3。
然后我跑了:
mkfs.ext4 /dev/sda3
输出:
mke2fs 1.42.9 (4-Feb-2014)
Filesystem troppo piccolo per un journal
Etichetta del filesystem=
OS type: Linux
Dimensione blocco=1024 (log=0)
Dimensione frammento=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128 inodes, 1020 blocks
51 blocks (5.00%) reserved for the super user
Primo blocco dati=1
Maximum filesystem blocks=1048576
1 block group
8192 blocchi per gruppo, 8192 frammenti per gruppo
128 inode per gruppo
Allocating group tables: fatto
Scrittura delle tavole degli inode: fatto
Scrittura delle informazioni dei superblocchi e dell'accounting del filesystem: fatto
然后我安装它:
mount -t ext4 /dev/sda3 /priiiii
我发现我的分区非常小!!
df -h
File system Dim. Usati Dispon. Uso% Montato su
/dev/mapper/ubuntu--vg-root 15G 3,5G 11G 26% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 492M 4,0K 492M 1% /dev
tmpfs 101M 904K 100M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 501M 80K 501M 1% /run/shm
none 100M 32K 100M 1% /run/user
/dev/sda1 236M 36M 189M 16% /boot
**/dev/sda3 999K 17K 911K 2% /priiiii**
为什么分区不能使用调整大小后的磁盘的所有未分配空间?
fdisk uot输出:
Dispositivo Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 33552383 16525313 5 Esteso
/dev/sda3 499712 501757 1023 83 Linux
/dev/sda5 501760 33552383 16525312 8e Linux LVM
谢谢
答案1
如果您在虚拟机中执行所有这些操作,那么您就是在给自己增加不必要的工作。让我分 3 个部分来回答这个问题。
首先,按照您采取的方法,您的分区表发生了一些非常奇怪的事情。根据我的经验,当您“扩大”物理磁盘时(通常通过从一个小的真实磁盘向一个更大的磁盘进行块复制),分区表需要重新创建,因为即使使用相同的磁盘参数,您也会遇到对齐问题。话虽如此,如果磁盘确实扩大了(就像在真实磁盘中会发生的那样),我不明白为什么 fdisk 不能重新创建新的分区表。
其次,LVM 的创建是为了在物理驱动器和分区以及它们所包含的卷之间进行抽象。因此,当使用虚拟机时,没有物理空间的问题(通常在升级真实磁盘时,您会摆脱旧磁盘),您只需创建一个新的 11Gb 虚拟磁盘,并将其加入到您的卷中,而不必经历弄乱旧 vmfs 文件的痛苦。
如果您坚持采用这种方法,那么显然出了问题。正如@daniel 所建议的,尝试重新启动,但就我个人而言,我会考虑创建一个新的映像,其中包含一组新的分区和卷,然后复制所有内容。您花在复制上的时间,将节省您试图弄清楚如何让分区表乱序的时间。