官方品质家居装修改造门户

2个方法:虚拟机VMware容量扩展,无vg分组的linux无损磁盘扩容

中微中科技 2025-06-04 08:19:00 63 次阅读
2个方法:虚拟机VMware容量扩展,无vg分组的linux无损磁盘扩容

目的是:将虚拟机的容量从20G扩大到25G

编辑虚拟机设置:


硬盘-扩展磁盘容量:


填入扩容后大小:


以下在ubuntu/linux里操作:

查看当前分区情况:

biren@ubuntu:~$df-ThFilesystemTypeSizeUsedAvailUse%Mountedonudevdevtmpfs955M0955M0%/%/run/dev/sda1ext420G19G498M98%/只剩下542M空间,ext4格式tmpfstmpfs980M0980M0%/dev/%/run/locktmpfstmpfs980M0980M0%/sys/fs/cgroup/dev/loop0squashfs768K768K0100%/snap/gnome-characters/741
biren@ubuntu:~/crossbuild$sudofdisk-lDisk/dev/sda:25GiB,26843545600bytes,52428800sectors共25G空间Units:sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDisklabeltype:dosDiskidentifier:0x305e1b1eDeviceBootStartSectorsSizeIdType/dev/sda1*20484194099G83Linux第一块磁盘的第一分区其它略

可以看到/dev/sda共25G,实际使用的还是20G(/dev/sda1)

新增分区:

命令:sudofdisk/dev/sda

biren@ubuntu:~/crossbuild$sudofdisk/dev/sda[sudo]passwordforbiren:Welcometofdisk().Changeswillremaininmemoryonly,(mforhelp):m查看帮助Help:DOS(MBR)atoggleabootableflag设置启动标记beditnestedBSDdisklabelctogglethedoscompatibilityflagGenericddeleteapartition删除分区Flistfreeunpartitionedspacellistknownpartitiontypes列出分区类型,如83/8enaddanewpartition增加分区pprintthepartitiontabletchangeapartitiontype改变分区类型,83为linux,8e为lvm,82为swap交换分区,6为fat16,7为nfsvverifythepartitiontableiprintinformationaboutapartitionMiscmprintthismenuuchangedisplay/entryunitsxextrafunctionality(expertsonly)ScriptIloaddisklayoutfromsfdiskscriptfileOdumpdisklayouttosfdiskscriptfileSaveExitwwritetabletodiskandexit保存退出qquitwithoutsavingchanges不保存退出CreateanewlabelgcreateanewemptyGPTpartitiontableGcreateanewemptySGI(IRIX)partitiontableocreateanewemptyDOSpartitiontablescreateanewemptySunpartitiontableCommand(mforhelp):

选择:n,即增加分区

Command(mforhelp):nPartitiontypepprimary(1primary,0exted,3free)主分区eexted(containerforlogicalpartitions)扩展分区Select(defaultp):p回车默认即可Partitionnumber(2-4,default2):回车默认即可Firstsector(4194,default41940992):回车默认即可Lastsector,+sectorsor+size{K,M,G,T,P}(4194,default52428799):回车默认即可Createdanewpartition2oftype'Linux'(mforhelp):

接头选择:w(表示写入分区表并退出)

Command(mforhelp):

查看结果:

biren@ubuntu:~/crossbuild$sudofdisk-lDisk/dev/sda:25GiB,26843545600bytes,52428800sectorsUnits:sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDisklabeltype:dosDiskidentifier:0x305e1b1eDeviceBootStartSectorsSizeIdType/dev/sda1*20484194099G83Linux/dev/sda24194099252428799104878085G83Linux新增加的,ID为83
biren@ubuntu:~$lsblksda8:0025G0disk├─sda18:1020G0part/根分区└─sda28:205G0part注意:type类型是part,不是lvm

刷新分区表时提示要重启:

biren@ubuntu:~/crossbuild$sudopartprobe/dev/sda2Error:Partition(s)1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64on/dev/sda2havebeenwritten,butwehavebeenunabletoinformthekernelofthechange,probablybecauseit/,theoldpartition(s)@ubuntu:~$sudopartprobe/dev/sda或biren@ubuntu:~$sudopartprobe

重启。。。

安装逻辑卷管理器lvm2:

lvm管理原理:大致是新建物理卷pv,新建卷组vg或用旧的vg,将多个pv加入vg里,从vg里再分区建立逻辑卷lv,扩容则扩大lv(在lv基础上创建文件系统)

biren@ubuntu:~$sudoapt-getinstalllvm2

将物理磁盘分区初始化为物理卷:

命令:sudopvcreate/dev/sda2

biren@ubuntu:~$sudopvcreate/dev/sda2Physicalvolume"/dev/sda2"successfullycreated.

查看:

PVname:Physicalvolumename,物理卷

VGname:VolumeGroupname,卷组,多个PV组成VG

LV:LogicalVolume,逻辑卷,是从vg中分出来的空间,用于创建文件系统

biren@ubuntu:~$sudopvdisplay"/dev/sda2"isanewphysicalvolumeof"5.00GiB"---NEWPhysicalvolume---PVName/dev/sda2VGName为空表示没有分组(因为当前只有一块磁盘,一个分区)c-hy2d-YnJS-hwnu-aFfV-NqTd-gXqFATbiren@ubuntu:~$sudovgdisplay结果没内容,说明没有分组
biren@ubuntu:~$sudoblkid/dev/loop0:TYPE="squashfs"/dev/loop1:TYPE="squashfs"/dev/loop2:TYPE="squashfs"/dev/loop3:TYPE="squashfs"/dev/loop4:TYPE="squashfs"/dev/loop5:TYPE="squashfs"/dev/loop6:TYPE="squashfs"/dev/loop7:TYPE="squashfs"/dev/sda1:UUID="b19b2c95-bd2c-4078-af6d-e09aadd02861"TYPE="ext4"PARTUUID="305e1b1e-01"/dev/sda2:UUID="BmvOyc-hy2d-YnJS-hwnu-aFfV-NqTd-gXqFAT"TYPE="LVM2_member"PARTUUID="305e1b1e-02"/dev/loop8:TYPE="squashfs"/dev/loop9:TYPE="squashfs"/dev/loop10:TYPE="squashfs"/dev/loop11:TYPE="squashfs"/dev/loop12:TYPE="squashfs"/dev/loop13:TYPE="squashfs"/dev/loop14:TYPE="squashfs"/dev/loop15:TYPE="squashfs"/dev/loop16:TYPE="squashfs"/dev/loop17:TYPE="squashfs"/dev/loop18:TYPE="squashfs"/dev/loop19:TYPE="squashfs"

/dev/sda1:type="ext4"

/dev/sda2:type="LVM2_member"

由于没有vg卷组和类型不一样,此时可以用如下两种方法解决:

第一种方法:(前面创建物理卷可不要)

先删除所有分区,然后重新只分成一个区,但起始地址一定要与原来一样的。

当前情况:记住起始地址2048

biren@ubuntu:~$sudopvsPVVGFmtAttrPSizePFree/dev/@ubuntu:~$sudofdisk-l/dev/sdaDisk/dev/sda:25GiB,26843545600bytes,52428800sectorsUnits:sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDisklabeltype:dosDiskidentifier:0x305e1b1eDeviceBootStartSectorsSizeIdType/dev/sda1*20484194099G83Linux记住起始地址2048/dev/sda24194099252428799104878085G83Linux

先删除所有分区-新建分区-保存退出:

biren@ubuntu:~$sudofdisk/dev/sdaWelcometofdisk().Changeswillremaininmemoryonly,(mforhelp):d删除分区Partitionnumber(1,2,default2):2分区号(mforhelp):(mforhelp):pDisk/dev/sda:25GiB,26843545600bytes,52428800sectorsUnits:sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDisklabeltype:dosDiskidentifier:0x305e1b1eCommand(mforhelp):n新建分区Partitiontypepprimary(0primary,0exted,4free)eexted(containerforlogicalpartitions)Select(defaultp):p主分区Partitionnumber(1-4,default1):默认即可Firstsector(2,default2048):默认即可Lastsector,+sectorsor+size{K,M,G,T,P}(2,default52428799):默认即可Createdanewpartition1oftype'Linux'#1?[Y]es/[N]o:n这里一定要选nCommand(mforhelp):w保存退出

看一下新的现状:

biren@ubuntu:~$sudofdisk-l/dev/sdaDisk/dev/sda:25GiB,26843545600bytes,52428800sectorsUnits:sectorsof1*512=512bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDisklabeltype:dosDiskidentifier:0x305e1b1eDeviceBootStartSectorsSizeIdType/dev/sda12048524287995242675225G83Linuxbiren@ubuntu:~$sudolsblksda8:0025G0disk└─sda18:1025G0part/sda1显示25GBbiren@ubuntu:~$sudoblkid/dev/sda1:UUID="b19b2c95-bd2c-4078-af6d-e09aadd02861"TYPE="ext4"PARTUUID="305e1b1e-01"biren@ubuntu:~$df-ThFilesystemTypeSizeUsedAvailUse%Mountedonudevdevtmpfs955M0955M0%/%/run/dev/sda1ext420G19G458M98%/目前没生效tmpfstmpfs980M0980M0%/dev/shm。。。

刷新分区大小:

命令:

ext4用:sudoresize2fs/dev/sda1

xfs用:xfs_growfs/dev/sda1

biren@ubuntu:~$sudopartprobe/dev/sdabiren@ubuntu:~$sudoresize2fs/dev/(24-Mar-2018)Filesystemat/dev/sda1ismountedon/;on-lineresizingrequiredold_desc_blocks=3,new_desc_blocks=4Thefilesystemon/dev/sda1isnow6553344(4k)blockslong.

分区大小已经更新完成了:

biren@ubuntu:~$df-ThFilesystemTypeSizeUsedAvailUse%Mountedonudevdevtmpfs955M0955M0%/%/run/dev/%/变成25G了tmpfstmpfs980M0980M0%/dev/shm。。。

第二种方法:

安装gparted工具:

biren@ubuntu:~$sudoaptinstallgparted

打开gparted:


先删除sda2(如果有unallocated空间则直接扩容):


修改大小:


拉动箭头或直接输入新的大小:


应用修改:



另外说明:

格式化命令:mkfs+文件系统格式

格式化成ext4文件系统

新一代64位日志文件系统

格式化:

sudomke2fs-text4-L‘mydisk’/dev/sda2是将/dev/sda2分区格式化为ext4的文件系统

mkfs-text3/dev/sda3//在硬盘分区“/dev/sda3”上创建ext3文件系统