在 VM 中增加 ubuntu 的硬碟空間

公司內部使用的虛擬機硬碟空間初始配置的容量都不大(約 30GB)

經常使用很快就會遇到空間不足的問題,此時可直接透過系統工具加大容量

首先直接將 VM 的虛擬磁碟的空間加大,這部分不介紹(如有快照,需先移除,否則無法增加容量,增加後需重開機)

安裝分割程式
sudo apt-get update
sudo apt-get -y install parted
事先確認空間使用量
df -h

vmextend_ubuntu_01

檔案系統 /dev/mapper/odoo–vg-root 是我們想增加容量的對象

可以看到『 / 』有 32G 的容量,還剩下 21G

 

進行切割
sudo parted
> print free

vmextend_ubuntu_02

最下方顯示尚有 64.4GB 的閒置空間

 

> mkpart primary xx.xGB xx.xGB (請依據 print 的內容處理)
> print (確認新增磁區成功)
> set 3 lvm on (3 為新增磁碟區在 print 中顯示的磁碟編號)
> quit

vmextend_ubuntu_03png

 

sudo fdisk -l

vmextend_ubuntu_04

可以看到 /dev/sda3 是我們新切出來的空間

 

使用 lvs 指令查詢 VG(Vol Group)

sudo lvs

vmextend_ubuntu_05

可以看到 VG 名稱為 odoo-vg

 

使用 pvs 指令查詢 VG(Vol Group)對應的 PV(Physical Volume)

sudo pvs

vmextend_ubuntu_06

 

使用 pvcreate 建立 PV

sudo pvcreate /dev/sda3

vmextend_ubuntu_07

 

使用 vgextend 將新增的 PV 加入 VG 中

sudo vgextend odoo-vg /dev/sda3

vmextend_ubuntu_08

 

使用 pvscan 確認 pv 都被使用

sudo pvscan

vmextend_ubuntu_09

這邊可以看到目前還有剩餘空間 60.00G

 

使用 lvextend 將 60.00G 加入檔案系統(如果跳出空間不足,可以改小一點)

sudo lvextend -L +60.00G /dev/mapper/odoo--vg-root

vmextend_ubuntu_12

如果檔案系統名稱為『 /dev/dm-0 』,會無法加入

ls /dev/mapper

vmextend_ubuntu_15

檔案系統就使用『 odoo–vg-root

 

使用 resize2fs 調整 filesystem 的容量

sudo resize2fs /dev/mapper/odoo--vg-root(檔案系統名稱,可於 df -h 中查詢)

vmextend_ubuntu_13

 

最後使用 df -h 確認空間擴充完成了

df -h

vmextend_ubuntu_14

可以看到『 / 』可用空間增加為 47 G了喔

在 VM 中增加 CentOS 的硬碟空間

公司內部使用的虛擬機硬碟空間初始配置的容量都不大(約 30GB)

經常使用很快就會遇到空間不足的問題,此時可直接透過系統工具加大容量

首先直接將 VM 的虛擬磁碟的空間加大,這部分不介紹(如有快照,需先移除,否則無法增加容量,增加後需重開機

安裝分割程式
yum -y update
yum -y install parted
事先確認空間使用量
df -h

檔案系統 /dev/mapper/centos-root 是我們想增加容量的對象

可以看到『 / 』有 58G 的容量,還剩下 47G

進行切割
parted
> print free

最下方顯示尚有 2147MB 的可用空間

> mkpart primary 64.4GB 66.6GB (請依據 print 的內容處理)
> print (確認新增磁區成功)
> set 4 lvm on (4 為新增磁碟區在 print 中顯示的磁碟編號)
> quit

fdisk -l

可以看到 /dev/sda4 是我們新切出來的空間

使用 lvs 指令查詢 VG(Vol Group)

lvs

可以看到 VG 名稱為 centos

使用 pvs 指令查詢 VG(Vol Group)對應的 PV(Physical Volume)

pvs

使用 pvcreate 建立 PV

pvcreate /dev/sda4

使用 vgextend 將新增的 PV 加入 VG 中

vgextend centos /dev/sda4

使用 pvscan 確認 pv 都被使用

pvscan

這邊可以看到目前還有剩餘空間 2.00G

使用 lvextend 將 2.00G 加入檔案系統(如果跳出空間不足,可以改小一點)

lvextend -L +2.00G /dev/mapper/centos-root

使用 resize2fs or xfs_growfs 調整 filesystem 的容量

CentOS 6.x
resize2fs /dev/mapper/centos-root(檔案系統名稱,可於 df -h 中查詢)

CentOS 7.x
xfs_growfs /dev/mapper/centos-root(檔案系統名稱,可於 df -h 中查詢)

最後使用 df -h 確認空間擴充完成了

df -h

可以看到『 / 』可用空間增加為 49 G了喔

參考資料:

在 VM 中增加 CentOS 6.5 的硬碟大小

http://blog.xuite.net/towns/hc/76469629-Linux+LVM%E7%AE%A1%E7%90%86+–+%E6%93%B4%E5%A4%A7%E8%88%87%E7%B8%AE%E5%B0%8FLV%E7%A9%BA%E9%96%93