在Linux系統中,分區(Partition) 是物理磁盤(如硬盤、SSD)的邏輯劃分。你可以將它想象成給一個大倉庫劃分不同的區域,每個區域可以獨立存放不同類型的貨物(數據),并可能使用不同的貨架管理方式(文件系統)。常見的分區工具包括fdisk、gdisk和parted。
分區創建后,操作系統并不能直接訪問其內的數據。需要通過掛載(Mount) 操作,將分區關聯到文件系統目錄樹中的一個目錄(掛載點)。這個目錄就成為訪問該分區內數據的入口。例如,將存儲用戶家目錄的分區掛載到 /home,那么所有 /home 下的文件操作,實際上都發生在那個分區上。
傳統的分區管理不夠靈活,一旦分區空間不足,調整起來非常麻煩。LVM(Logical Volume Manager) 應運而生,它抽象了物理存儲,提供了更靈活、可動態調整的存儲管理方式。
LVM的核心概念有三層:
pvcreate 命令初始化設備為PV。vgcreate 命令創建VG。lvcreate 命令創建LV。LVM的優勢在于:
空間靈活:可以輕松擴展或縮小LV的大小。
管理方便:可以跨多個物理硬盤管理存儲空間。
* 快照功能:可以創建LV的快照,用于數據備份或測試。
如果想讓硬件設備(如普通分區或LVM邏輯卷)和目錄在系統啟動時永久地、自動地進行關聯(掛載),就需要編輯 /etc/fstab 這個至關重要的配置文件。
這個文件定義了系統啟動時需要自動掛載的文件系統。每一條記錄對應一個掛載項,包含6個字段:`
<設備標識或UUID> <掛載點目錄> <文件系統類型> <掛載選項> `
一個典型的例子(掛載一個LVM邏輯卷到 /data):`
# 使用設備的UUID進行標識(更穩定,推薦)
UUID=5b5e6c8d-... /data ext4 defaults 0 2
# 或使用設備文件路徑
/dev/vgdata/lvdata /data ext4 defaults 0 2`
字段解釋:
1. 設備標識:可以使用設備文件(如 /dev/sda1, /dev/vgname/lvname),但更推薦使用UUID(通過 blkid 命令查看),因為設備文件名可能變化。
2. 掛載點:必須是已存在的目錄路徑。
3. 文件系統類型:如 ext4, xfs, btrfs, swap 等。
4. 掛載選項:defaults 包含了常用的選項(rw, suid, dev, exec, auto, nouser, async)。
5. dump標志:通常設為 0(不使用dump備份)。
6. fsck順序:根目錄 / 應設為 1,其他文件系統設為 2,不需要啟動時檢查的設為 0。
編輯并保存 /etc/fstab 后,可以使用 sudo mount -a 命令測試配置是否正確(它會嘗試掛載所有在fstab中定義但未掛載的設備),如果沒有報錯,下次重啟時就會自動生效。
fdisk -l (查看), fdisk /dev/sdX (管理)pvcreate /dev/sdX1 (創建PV)vgcreate vg_name /dev/sdX1 (創建VG)lvcreate -L 10G -n lv<em>name vg</em>name (創建LV)lvextend -L +5G /dev/vg<em>name/lv</em>name (擴展LV)resize2fs /dev/vg<em>name/lv</em>name (擴展文件系統,針對ext)mount /dev/xxx /mnt/point (臨時掛載)lsblk, df -h, blkid, pvs, vgs, lvs##
理解Linux的分區、掛載和LVM,是掌握系統存儲管理的基礎。分區提供了物理隔離,掛載建立了訪問路徑,而LVM則在物理硬件之上構建了一個可彈性伸縮的存儲管理層。通過正確配置 /etc/fstab 文件,我們就能實現存儲設備與系統目錄的永久、自動關聯,確保系統每次啟動都能以預期的狀態訪問所有數據。從物理硬盤到用戶可用的目錄,這條數據通路正是Linux存儲管理的精髓所在。