1. 程式人生 > >Virtual Box新增磁碟空間

Virtual Box新增磁碟空間

   節後上班第一天,按計劃著手搭建hadoop和hive實驗環境,還沒開始安裝就碰到一個坎,JDK安裝包解包時報空間不足。原來的四個虛機,每個分配了8G,其中根檔案系統6G,做完Fabric實驗後空間所剩無幾,因此需要擴容。下面記錄的就是實際操作步驟。

環境:
VirtualBox 5.0.10、CentOS release 6.4

1. 使用下面的命令檢視虛擬機器的UUID
VBoxManage list hdds
結果如圖1所示:


圖1


2. 使用下面的命令將給虛擬機器分配磁碟空間擴充至20G
VBoxManage modifyhd 640f7f92-7c0e-4f39-9567-9ea0c0b399ac --resize 20480
執行完後虛機的儲存資訊如圖2所示:


圖2


3. 檢視當前作業系統的空間情況
df -h
結果如圖3所示:


圖3

可以看到根檔案系統的6G空間使用率已經100%。

fdisk -l
結果如圖4所示:


圖4

可以看到:
(1)Linux就一塊虛擬的物理盤/dev/sda,擴容後該盤的空間20G。
(2)該盤已有兩個物理分割槽/dev/sda1和/dev/sda2。
(3)/dev/sda1 485M,用作boot分割槽。
(4)/dev/sda2 7.5G,分成兩個邏輯卷,一個用作根6G,一個用作交換1.5G。
下面要做的就是將/dev/sda上未分配的磁碟空間分割槽,並新增到根分割槽所屬的邏輯捲上。

4. 將/dev/sda上未分配的磁碟空間分割槽
fdisk /dev/sda
n
p
3
w

5. 重啟Linux
reboot

6. 將新建的分割槽格式化,建立檔案系統
mkfs.ext4 /dev/sda3
結果如圖5所示:


圖5


7. 建立物理卷
pvcreate /dev/sda3
執行完後檢視物理卷
pvdisplay
結果如圖6所示:


圖6

可以看到新增了一個12G的物理卷

8. 檢視卷組
vgdisplay
結果如圖7所示:


圖7

可以看到只有一個名為vg_fab1的卷組,當前大小為7.51G

9. 擴展卷組
vgextend vg_fab1 /dev/sda3

10. 檢視邏輯卷
lvdisplay
結果如圖8所示:


圖8

可以看到用作根的邏輯卷路徑為/dev/vg_fab1/lv_root

11. 擴充套件邏輯卷
lvextend -L 18G -n /dev/vg_fab1/lv_root

12. 調整根邏輯卷大小
resize2fs /dev/vg_fab1/lv_root

13. 再次檢視當前作業系統的空間情況
df -h
結果如圖9所示:


圖9

可以看到根檔案系統已經有18G空間。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

pv新增入vG

新增一塊8G硬碟。
fdisk -l 後顯示為:/dev/sdb為新新增的硬碟,一般我們一個硬碟分一個pv,這樣便於管理。

1、將sdb生成pv: pvcreate /dev/sdb

2、把pv加到VG中:vgextend VolGroup00 /dev/sdb 

3、將邏輯卷分割槽VG(LogVol00)增加8G: lvextend -L +8G /dev/VolGroup00/LogVol00

4、調整ext3: resize2fs -p /dev/VolGroup00/LogVol00 
   

===============================================================

VG中刪除pv

#通過實踐,最好先加入一個新PV,將壞的PV上的資料轉移到新PV上去,最好新PV的大小>=壞PV,不然resize2fs無法從大到小識別,e2fsck也無法修復這個問題

兩種情況:
1 要更換的磁碟沒有使用過
2 要更換的磁碟有資料
---沒有資料的時候
1 (最好先解除安裝磁碟)檢查檔案系統是否有錯誤
[[email protected] ~]# e2fsck -f /dev/sdcsdd/SDCSDD00 
2 減少LV的大小 把SDCSDD00卷容量從24G調整回15.99G
#縮小LV後,LV變更後的容量務必大於或等於其檔案系統容量,否則造成檔案系統的錯誤
[[email protected] ~]# lvreduce -L 15.99G /dev/sdcsdd/SDCSDD00 
  Rounding up size to full physical extent 15.99 GB
  WARNING: Reducing active and open logical volume to 15.99 GB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce SDCSDD00? [y/n]: y
  Reducing logical volume SDCSDD00 to 15.99 GB
  Logical volume SDCSDD00 successfully resized
3 移除VG成員sde
[[email protected] ~]# vgreduce sdcsdd /dev/sde 
  Removed "/dev/sde" from volume group "sdcsdd"
4 移除PV成員sde
[[email protected] ~]# pvremove /dev/sde 
Labels on physical volume "/dev/sde" successfully wiped

 

注意:如果sde中有資料則首先將sde這個PV中的資料轉移到其他PV中
下面將自動轉移資料
[[email protected] ~]# pvmove -v /dev/sde
如果出現錯誤:提示雙方的剩餘PE太少,不能轉移】
*pvmove指令會自動尋找VG中可用的pv,後將檔案轉移過去,也可以通過這個命令從sde轉移到新增加的PV sdb中
[[email protected] ~]# pvmove -v /dev/sde /dev/sdb
完成後,再次移除sde
[[email protected] ~]# vgreduce sdcsdd /dev/sde