VirtualBox安裝了ubuntu16,默認的是8G內存,運行了hadoop以后不夠用了,需要擴容。擴容還不那么智能,有點麻煩,主要有幾個步驟,1先用virtualbox自帶的工具進行擴容,2然后在進行分區的合並,3在分區配置文件中fstab進行配置修改。第一次的時候並沒有做分區合並的動作,只是將新增的磁盤作為一個分區掛在到了一個目錄下,后來發現要完美解決還是要在原分區上合並。第二次又進行分區合並,和配置文件調整。
剛剛在VirtualBox中使用Ubuntu虛擬機中,出現了虛擬硬盤不夠用的情況。
有位兄弟第一步和我一樣,參見他的http://blog.csdn.net/ouyang_peng/article/details/53261599
乖乖,查了一下磁盤空間,如下所示:
df -H
原來是上午安裝Ubuntu虛擬機的時候,選擇了動態分配存儲,想當然的以為硬盤不夠用的時候,它會自動擴展,沒想到上限是默認的8G。這就悲劇了,才用了一下子就占了96%的磁盤空間了,因此只能進行虛擬硬盤容量的擴容操作。
二、擴展虛擬硬盤容量
第1步、查看硬盤鏡像文件
1、虛擬機關機,關機后如下所示,顯示硬盤大小上限為8G。
2、啟動CMD命令行,進入VirtualBox的安裝目錄。如
cd C:\Program Files\Oracle\VirtualBox
然后查看需要修改的虛擬硬盤:
VBoxManage list hdds
整體命令如下所示:
- <code style="display: block; padding: 0px; background: transparent; color: inherit; font-family: 'Source Code Pro', monospace; font-size: inherit; border-radius: 0px;" class="hljs tex has-numbering">Microsoft Windows [Version 6.1.7601]
- Copyright (c) 2009 Microsoft Corporation. All rights reserved.
- C:\Users\Administrator>cd C:\Program Files\Oracle\VirtualBox
- C:\Program Files\Oracle\VirtualBox>VBoxManage list hdds
- UUID: 0bd9c696-1735-48ce-81cf-04e9f64c2418
- Parent UUID: base
- State: created
- Type: normal (base)
- Location: C:\Users\Administrator\VirtualBox VMs\Ubuntu\Ubuntu.vdi
- Storage format: VDI
- Capacity: 8192 MBytes
- Encryption: disabled
- UUID: c76c5d26-1fd3-46f3-9cc0-f979b02a4411
- Parent UUID: base
- State: created
- Type: normal (base)
- Location: C:\Users\Administrator\VirtualBox VMs\Ubuntu\NewVirtualDisk1.vdi
- Storage format: VDI
- Capacity: 40960 MBytes
- Encryption: disabled</code>
我們看到共有2個虛擬磁盤,我們要修改圖中第一個,它的空間大小為8G,UUID:0bd9c696-1735-48ce-81cf-04e9f64c2418
第2步、修改硬盤鏡像文件
$ VBoxManage modifyhd YOUR_HARD_DISK.vdi –resize SIZE_IN_MB
其中YOUR_HARD_DISK.vdi用真實的虛擬機文件替代,SIZE_IN_MB則由調整后的空間大小替代。
例如使用命令 VBoxManage modifyhd 0bd9c696-1735-48ce-81cf-04e9f64c2418 –resize 51200 對 UUID為 0bd9c696-1735-48ce-81cf-04e9f64c2418 的磁盤進行擴容操作
- <code style="display: block; padding: 0px; background: transparent; color: inherit; font-family: 'Source Code Pro', monospace; font-size: inherit; border-radius: 0px;" class="hljs mel has-numbering">C:\Program Files\Oracle\VirtualBox>VBoxManage modifyhd 0bd9c696-1735-48ce-81cf-04e9f64c2418 --resize 51200
- 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
- C:\Program Files\Oracle\VirtualBox></code>
再重新查看下虛擬硬盤的大小
操作成功后該虛擬的硬盤即變成了50G,但要注意了,此50G空間還沒有分配.
第3步、分區
1、虛擬機開機
2、查看磁盤情況
納尼,我不是已經擴容為50G了嗎?怎么還是提醒我空間不夠用?原來雖然已經擴大了磁盤,但是由於還沒有經過分區,指定文件系統[格式化],所以Linux操作系統無法識別(其實就相當於你插入了一塊新硬盤,但是你並沒有對其進行分區、格式化是一個道理)。
3、開始分區
輸入命令$sudo fdisk /dev/sda
然后按m查看幫助文檔如下所示:
如上圖所示,按n命令的話就增加一個分區,如下所示
如上圖所示:
首先輸入命令:n(添加新分區)之后回車:
接着輸入命令:p
剩下步驟全按回車默認,
最后輸入命令w保存分區信息。
再查看下分區信息:fdisk -l
發現多了一個分區 /dev/sda4。(之前重復做了一次分區操作,划了一個分區/dev/sda3)
然后重啟Ubuntu虛擬機。
4、格式化分區
格式化剛才划好的分區/dev/sda4
sudo mkfs -t ext4 /dev/sda4
5、掛載分區
創建目錄 /home/ouyangpeng/sda4
sudo mkdir sda4
將分區 /dev/sda4 掛載到 /home/ouyangpeng/sda4
sudo mount /dev/sda4 /home/ouyangpeng/sda4
6、開機自動掛載,則修改/etc/fstab文件,在這個文件里面添加一行:
使用vim命令編輯/etc/fstab文件
sudo vim /etc/fstab
增加如下一行代碼
/dev/sda4 /home/ouyangpeng/sda4/ ext4 defaults 0 1
至此,容量擴展完成了。
再次查看下剛剛掛載好的分區
df -H
第二步
先下載一個分區合並軟件 gparted-live-0.28.1-1-amd64.iso 我是amd的cup,你們如果不是可以下載非amd的。
裝載這個iso
啟動先進入這個頁面
然后一路回車,然后進入軟件的首頁
將除了第一個分區以外的所有分區都刪除。然后點擊apply,下面的圖是沒有點擊apply前的截圖。
調整第一個磁盤的大小
我一共20g空間,sda1由原來的8g我調整為19g,剩余1g給swap空間。
下面是swap空間的分區,選擇擴展分區。
在擴展分區下在分linux-swap分區
分好之后的結果
關機,把光盤卸載,再啟動。啟動會不正常,不能進入桌面,會進入emergency mode。沒事,正常輸入密碼
需要輸入root 密碼。
ls -l /dev/disk/by-uuid/
藍色部分是uuid 。要和 cat /etc/fstab 中的uuid匹配。sda1是一樣,sda5是不一樣的。
vi /etc/fstab 把sda5的uuid 改成正確的。 並且刪除sda5 后面多出來的參數。更改完以后的fstab如下:
成功進入桌面