剛新裝的Ubuntu伺服器馬上就沒磁碟容量?
TL;DR
剛剛新安裝在1TB SSD上的 Ubuntu Server 居然一下子就沒有空間了?預設的磁碟分割只切出100G的空間。要怎樣做才能把所有的空間都利用到呢?
預設磁碟劃分 Logical Volume Manager (LVM)
如果你在安裝 Ubuntu 時使用了預設設定,那麼你的 Linux 作業系統儲存空間很可能是使用邏輯捲軸管理員(LVM, Logical Volume Manager)。LVM 是一種位於實體(或虛擬)磁碟與 Linux 檔案系統(通常是 ext4)之間的抽象化框架。它的用途是將多個獨立的區塊裝置(磁碟分割區)組合成「卷集(Volume Group,VG)」,然後再把這些卷集切分成多個邏輯區塊裝置,即「邏輯卷(Logical Volume,LV)」。而這些邏輯卷(LV)就是實際掛載你可使用檔案系統的地方。
下面是一個能夠幫助理解 LVM 架構的示意圖。在這個例子中,我們有三個不同的磁碟,前二個磁碟有二個分割區。每一個分割區對應到一個 實體卷(Physical Volume,PV),最後一個磁碟就獨立有自己的分割區和實體卷。這些 PV 全部被整合成一個卷集(VG)叫 my_vg。這個卷集再被切分成兩個不同的邏輯卷(LV),而每個 LV 都被用來建立一個檔案系統。

使用類似的示意圖,下面的圖表顯示了 Ubuntu 安裝程式(在採用所有預設選項的情況下)如何分割一個100G的磁碟。

1TB容量的SSD一下就滿了?
但是我安裝在一個1TB容量的SSD上。怎麼可能在安裝完後沒多久一下子就說磁碟空間不夠了? 看看我下面只剩下51.3GB的空間。那剩下的900多G空間呢?

用 df -h 指令檢查一下,看到我的 ubuntu–vg-ubuntu–lv 真的只有98G。😂😂
chaoman@chaoubuntuserver01:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.6G 3.6M 1.6G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 98G 46G 48G 49% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sda2 2.0G 265M 1.6G 15% /boot
/dev/sda1 1.1G 6.1M 1.1G 1% /boot/efi
tmpfs 1.6G 120K 1.6G 1% /run/user/1000
那其它的空間去那裡了?利用 vgdisplay (卷集顯示) 來看看。
chaoman@chaoubuntuserver01:~$ sudo vgdisplay
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <950.82 GiB
PE Size 4.00 MiB
Total PE 243409
Alloc PE / Size 25600 / 100.00 GiB
Free PE / Size 217809 / <850.82 GiB
VG UUID LDjZ5C-uWB3-mtQZ-4xnt-OcXI-LXwE-xfBV6I
沒錯, Free PE / Size 217809 / <850.82 GiB。我還有 850G的空間。那最後用 lvdisplay 指令確認我的邏輯捲軸真的只有少的可憐的100G。
chaoman@chaoubuntuserver01:~$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/ubuntu-vg/ubuntu-lv
LV Name ubuntu-lv
VG Name ubuntu-vg
LV UUID thhTbY-m6nk-ohbt-oMNL-KNbF-kZbg-lyK3IL
LV Write Access read/write
LV Creation host, time ubuntu-server, 2025-07-21 16:16:33 +0000
LV Status available
# open 1
LV Size 100.00 GiB #問題在這裡.
Current LE 25600
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
我是從 Windows 2012 server 轉來的使用者。直覺就想去磁碟管理工具裡調整空間。但切記,千萬別亂動。我在圖形介面 Disks 看到下面的畫面,想說還有 1.0 TB 的LVM2 PV,就想去建一個新的 Partition 分割。結果 Linux 就開不進去了。🤣

本篇的目的是要把所有的空間都利用。所以使用這個指令 lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
chaoman@chaoubuntuserver01:~$ sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from 100.00 GiB (25600 extents) to <950.82 GiB (243409 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
看到成功調整尺寸了。我們再用 lvdisplay 來做確認。 LV Size 成功的變成 950.82 GiB
chaoman@chaoubuntuserver01:~$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/ubuntu-vg/ubuntu-lv
LV Name ubuntu-lv
VG Name ubuntu-vg
LV UUID thhTbY-m6nk-ohbt-oMNL-KNbF-kZbg-lyK3IL
LV Write Access read/write
LV Creation host, time ubuntu-server, 2025-07-21 16:16:33 +0000
LV Status available
# open 1
LV Size <950.82 GiB #來了來了.
Current LE 243409
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
但是我們的檔案系統尺寸還是需要擴大。再做一次 df -h 來確定。看到 /dev/mapper/ubuntu–vg-ubuntu–lv 還是只有 98G。傻眼。
chaoman@chaoubuntuserver01:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.6G 3.5M 1.6G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 98G 46G 48G 49% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sda2 2.0G 265M 1.6G 15% /boot
/dev/sda1 1.1G 6.1M 1.1G 1% /boot/efi
tmpfs 1.6G 112K 1.6G 1% /run/user/1000
最後一步用 resize2fs 來調整/dev/mapper/ubuntu–vg-ubuntu–lv。
chaoman@chaoubuntuserver01:~$ sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 13, new_desc_blocks = 119
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 249250816 (4k) blocks long.
這樣就完成磁碟尺寸的調整來使用所有的空間了。 df -h 指令也確認了/dev/mapper/ubuntu–vg-ubuntu–lv 有936G的空間了。
chaoman@chaoubuntuserver01:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.6G 3.5M 1.6G 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 936G 46G 852G 6% /
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/sda2 2.0G 265M 1.6G 15% /boot
/dev/sda1 1.1G 6.1M 1.1G 1% /boot/efi
tmpfs 1.6G 112K 1.6G 1% /run/user/1000