VMware下ubuntu扩展磁盘空间的方法
近日由于虚拟机下安装软件过多,时不时弹出磁盘空间不足的问题。查找了很多资料,都没有很好的解决办法。
朋友发来一个链接,还是老外有良心。翻译出来放在这里,根据我的实际需求进行了操作,达到了预期目的。
以防万一,在操作之前将虚拟机进行了备份。
由于安装时没有自己进行分区,磁盘大小也使用了默认的20G。后来发现果然悲剧。
使用df-h命令查看具体使用情况
@ubuntu:~$df-h FilesystemSizeUsedAvailUse%Mountedon /dev/sda119G17G1020M95%/ none4.0K04.0K0%/sys/fs/cgroup udev745M4.0K745M1%/dev tmpfs151M1.3M150M1%/run none5.0M05.0M0%/run/lock none755M220K755M1%/run/shm none100M48K100M1%/run/user
使用root权限fdisk-l查看
在虚拟机的设置——>硬盘——>扩展选项,选择需要扩展到的容量,这里我是从20G扩展到40G。
设置完成后发现依然无法使用,而是在扩展分区里。
Disk/dev/sda:42.9GB,42949672960bytes 255heads,63sectors/track,5221cylinders,total83886080sectors Units=sectorsof1*512=512bytes Sectorsize(logical/physical):512bytes/512bytes I/Osize(minimum/optimal):512bytes/512bytes Diskidentifier:0x000ea50f DeviceBootStartEndBlocksIdSystem /dev/sda1*2048398458871992192083Linux /dev/sda2398479344194099110465295Extended /dev/sda53984793641940991104652882Linuxswap/Solaris
具体思路是将分区先删除,然后再重新进行分区。注意,这里使用fdisk-l查看的信息建议记录下来,后面进行重新分区时会使用到。
使用free-m命令查看
bay@ubuntu:~$free-m totalusedfreesharedbufferscached Mem:15081065443574419 -/+buffers/cache:572936 Swap:102101021
我们可以看到交换分区的大小,先将交换分区关掉使用命令
root@ubuntu:#swapoff-a root@ubuntu:#free-m totalusedfreesharedbufferscached Mem:15081075433573419 -/+buffers/cache:581926 Swap:000
这时候可以看到swap的分区大小已经为0了。
接下来的步骤就是删除掉 /dev/sda1 和/dev/sda2。使用fdisk/dev/sda删除分区
root@ubuntu:#fdisk/dev/sda Command(mforhelp):p Disk/dev/sda:42.9GB,42949672960bytes 255heads,63sectors/track,5221cylinders,total83886080sectors Units=sectorsof1*512=512bytes Sectorsize(logical/physical):512bytes/512bytes I/Osize(minimum/optimal):512bytes/512bytes Diskidentifier:0x000ea50f DeviceBootStartEndBlocksIdSystem /dev/sda1*2048398458871992192083Linux /dev/sda2398479344194099110465295Extended /dev/sda53984793641940991104652882Linuxswap/Solaris Command(mforhelp):d Partitionnumber(1-5):1 Command(mforhelp):d Partitionnumber(1-5):2 Command(mforhelp):p Disk/dev/sda:42.9GB,42949672960bytes 255heads,63sectors/track,5221cylinders,total83886080sectors Units=sectorsof1*512=512bytes Sectorsize(logical/physical):512bytes/512bytes I/Osize(minimum/optimal):512bytes/512bytes Diskidentifier:0x000ea50f DeviceBootStartEndBlocksIdSystem
删除旧的分区之后,就开始进行创建新分区了,注意这时候让之前保存的信息就派上用场了。
Command(mforhelp):n Partitiontype: pprimary(0primary,0extended,4free) eextended Select(defaultp):p Partitionnumber(1-4,default1):1 Firstsector(2048-83886079,default2048): Usingdefaultvalue2048 Lastsector,+sectorsor+size{K,M,G}(2048-83886079,default83886079):82869552
注意这是时候可能会有人疑惑,这个大小该如何设置。
这个大小是总的大小减去Swap的大小:83886080-1046528=82839552。这里的1046528就是Swap的大小。
接着将分区的事情做完:
Command(mforhelp):n Partitiontype: pprimary(1primary,0extended,3free) eextended Select(defaultp):p Partitionnumber(1-4,default2):2 Firstsector(82839553-83886079,default82839553): Usingdefaultvalue82839553 Lastsector,+sectorsor+size{K,M,G}(82839553-83886079,default83886079): Usingdefaultvalue83886079 Command(mforhelp):p Disk/dev/sda:42.9GB,42949672960bytes 255heads,63sectors/track,5221cylinders,total83886080sectors Units=sectorsof1*512=512bytes Sectorsize(logical/physical):512bytes/512bytes I/Osize(minimum/optimal):512bytes/512bytes Diskidentifier:0x000ea50f DeviceBootStartEndBlocksIdSystem /dev/sda120488283955241418752+83Linux /dev/sda28283955383886079523263+83Linux
这个时候分区大小是正确的了,但是ID还是同一个值。在这里我们将交换分区的ID修改为82.
Command(mforhelp):t Partitionnumber(1-4):2 Hexcode(typeLtolistcodes):82 Changedsystemtypeofpartition2to82(Linuxswap/Solaris)
使用w进行保存
Command(mforhelp):w Thepartitiontablehasbeenaltered! Callingioctl()tore-readpartitiontable. WARNING:Re-readingthepartitiontablefailedwitherror16:Deviceorresourcebusy. Thekernelstillusestheoldtable.Thenewtablewillbeusedat thenextrebootorafteryourunpartprobe(8)orkpartx(8) Syncingdisks.
将虚拟机进行重启。
交换分区使用UUID进行挂载。在创建新的分区之后,UUID将会不匹配,在reboot之后将没有交换分区可以使用。这里有两种方式进行处理
1)在/etc/fstab中使用新的UUID
2)在新的分区上使用旧的UUID。这里使用第二种方法。
查看UUID:
root@ubuntu:/home/bay#awk'/swap/{print$1}'/etc/fstab # UUID=990ae69c-2bbe-425f-bb8f-91200f70c9b9 [html]viewplaincopy root@ubuntu:#swapoff-a root@ubuntu:#free-m totalusedfreesharedbufferscached Mem:150811713376191424 -/+buffers/cache:555953 Swap:000 root@ubuntu:#ddif=/dev/zeroof=/dev/sda2 dd:writingto‘/dev/sda2':Nospaceleftondevice 1046528+0recordsin 1046527+0recordsout 535821824bytes(536MB)copied,1.89975s,282MB/s root@ubuntu:#mkswap-U990ae69c-2bbe-425f-bb8f-91200f70c9b9/dev/sda2 Settingupswapspaceversion1,size=523256KiB nolabel,UUID=990ae69c-2bbe-425f-bb8f-91200f70c9b9 root@ubuntu:#swapon-a root@ubuntu:#free-m totalusedfreesharedbufferscached Mem:150871779066164 -/+buffers/cache:546961 Swap:5100510 root@ubuntu:#df-h FilesystemSizeUsedAvailUse%Mountedon /dev/sda119G17G1023M95%/ none4.0K04.0K0%/sys/fs/cgroup udev745M12K745M1%/dev tmpfs151M1.3M150M1%/run none5.0M05.0M0%/run/lock none755M152K755M1%/run/shm none100M48K100M1%/run/user root@ubuntu:#resize2fs/dev/sda1 resize2fs1.42.9(4-Feb-2014) Filesystemat/dev/sda1ismountedon/;on-lineresizingrequired old_desc_blocks=2,new_desc_blocks=3 Thefilesystemon/dev/sda1isnow10354688blockslong. root@ubuntu:#df-h FilesystemSizeUsedAvailUse%Mountedon /dev/sda139G17G21G45%/ none4.0K04.0K0%/sys/fs/cgroup udev745M12K745M1%/dev tmpfs151M1.3M150M1%/run none5.0M05.0M0%/run/lock none755M152K755M1%/run/shm none100M48K100M1%/run/user
dd命令仅仅是保证在分区开始的地方没有数据。
以上所述是小编给大家介绍的VMware下ubuntu扩展磁盘空间的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!