一、簡介
lvm是邏輯盤卷管理(logical volume manager)的簡稱,它是linux環境下對磁碟分割槽進行管理的一種機制,lvm是建立在硬碟和分割槽之上的乙個邏輯層,來提高磁碟分割槽管理的靈活性。
lvm的工作原理其實很簡單,它就是通過將底層的物理硬碟抽象的封裝起來,然後以邏輯卷的方式呈現給上層應用。在傳統的磁碟管理機制中,我們的上層應用是直接訪問檔案系統,從而對底層的物理硬碟進行讀取,而在lvm中,其通過對底層的硬碟進行封裝,當我們對底層的物理硬碟進行操作時,其不再是針對於分割槽進行操作,而是通過乙個叫做邏輯卷的東西來對其進行底層的磁碟管理操作。比如說我增加乙個物理硬碟,這個時候上層的服務是感覺不到的,因為呈現給上層服務的是以邏輯卷的方式。
lvm最大的特點就是可以對磁碟進行動態管理。因為邏輯卷的大小是可以動態調整的,而且不會丟失現有的資料。如果我們新增加了硬碟,其也不會改變現有上層的邏輯卷。作為乙個動態磁碟管理機制,邏輯卷技術大大提高了磁碟管理的靈活性。
基本的邏輯卷管理概念:
pv(physical volume)- 物理卷
物理卷在邏輯卷管理中處於最底層,它可以是實際物理硬碟上的分割槽,也可以是整個物理硬碟,也可以是raid裝置。
vg(volumne group)- 捲組
捲組建立在物理卷之上,乙個卷組中至少要包括乙個物理卷,在捲組建立之後可動態新增物理捲到卷組中。乙個邏輯卷管理系統工程中可以只有乙個捲組,也可以擁有多個捲組。
lv(logical volume)- 邏輯卷
邏輯卷建立在捲組之上,卷組中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立後可以動態地擴充套件和縮小空間。系統中的多個邏輯卷可以屬於同乙個捲組,也可以屬於不同的多個捲組。
關係圖如下:
pe(physical extent)- 物理塊
lvm 預設使用4mb的pe區塊,而lvm的lv最多僅能含有65534個pe (lvm1 的格式),因此預設的lvm的lv最大容量為4m*65534/(1024m/g)=256g。pe是整個lvm 最小的儲存區塊,也就是說,其實我們的資料都是由寫入pe 來處理的。簡單的說,這個pe 就有點像檔案系統裡面的block 大小。所以調整pe 會影響到lvm 的最大容量!
二: 實驗要求:建立乙個名字為database的卷 ,屬於datastore的組,此卷組包含50個pe,乙個pe大小為16m,此處若分800m出來則會少乙個pe,所以再分割槽應該分816m左右,自動掛到/mnt/wshare,格式化為ext4
實驗步驟
1.首先需要建立乙個1g的格式為lvm的磁碟分割槽
[root@wangyj ~]# fdsik /dev/sda
command (m for help): n - –新添乙個分割槽
first cylinder (11863-26109, default 11863):
using default value 11863
last cylinder, +cylinders or +size (11863-26109, default 26109): +1g
—建立乙個1g大小的磁碟分割槽
command (m for help): t —t更改磁碟格式
partition number (1-6): 6
hex code (type l to list codes): 8e —為8e(linux lvm格式)
changed system type of partition 6 to 8e (linux lvm)
command (m for help): w —儲存分割槽
the partition table has been altered!
[root@wangyj ~]# partprobe /dev/sda —核心重新讀取載入分割槽資訊
[root@wangyj ~]# fdisk -l —檢視磁碟分割槽狀態
/dev/sda6 11863 11994 1057549+ 8e linux lvm
2.建立邏輯卷的步驟:
1)通過pvcreate命令將linux分割槽處理成物理卷(pv);
2)通過vgcreate命令將建立好的物理卷處理成捲組(vg);
3)通過lvcreate命令將卷組分成若干個邏輯卷(lv);
之後我們可以對邏輯卷進行格式化,掛載,刪除等操作,我們可以動態的調整邏輯卷的大小,並且該操作不會影響我們在邏輯卷lv 上的資料。
2.1、 [root@wangyj ~]# pvcreate /dev/sda6 —建立物理卷
physical volume 「/dev/sda6」 successfully created
2.2 [root@wangyj ~]# vgcreate -s 16m datastore /dev/sda6 —建立捲組
volume group 「datastore」 successfully created
注釋: -s:指定擴充套件塊(pe)的大小,預設為4mb;(相當與磁碟上的簇,擴充套件邏輯卷的基本單位。後面的值可以是8m 16m 32m 64m …..最多65532個擴充套件塊。
datastore:新建立的卷組的名字。
/dev/sda:需要的物理卷可以寫多個;
2.3 [root@wangyj ~]# lvcreate -l 50 -n database datastore —建立邏輯卷
logical volume 「database」 created.
注釋: -l 50:生成的邏輯卷使用50個擴充套件塊,邏輯卷大小=50*pe(16m)
-n database:邏輯卷的名字;
datastore :設定是有那個捲組生成的邏輯卷。
3.格式化邏輯卷
[root@wangyj ~]# mkfs.ext4 /dev/datastore/database —格式化剛建立的lv
vim /etc/fstab —寫入核心,下次開機自動載入
/dev/datastore/database /mnt/wshare ext4 defaults 0 0
4.建立目錄:mkdir /mnt/wshare
掛載:mount -a
檢視:df -h
[root@wangyj ~]# mkdir /mnt/wshare
[root@wangyj ~]# mount -a
[root@wangyj ~]# df -h
實驗結果如下圖:
lvm邏輯卷管理
1 前言 2 lvm組成和概念 3 如何使用lvm,建立邏輯卷的流程和例項 4 如何動態放大 縮小乙個邏輯卷 邏輯捲組 5 如何刪除邏輯卷 邏輯捲組 6 lvm相關命令 1 前言 一直想寫乙個簡單的lvm方面的文章,可以作個背忘,主要以流程和例項為主,希望文章能起到拋磚引玉的 作用.lvm logi...
Lvm(邏輯卷管理)
lvm 邏輯卷管理 1.make lv 1 fdisk dev sdb 1 對sdb進行分割槽,三個主分割槽,乙個擴充套件分割槽,乙個邏輯分割槽,分別為sdb1,sdb2,sdb3,sdb4,sdb5 2 用fdisk dev sdb命令,對分好的磁碟檔案系統進行格式化。3 儲存好分割槽之後,進行p...
LVM 邏輯卷管理
顯示分割槽資訊 root centos7 fdisk l物理硬碟格式為物理卷 pv root centos7 pvcreate dev sda6檢視物理卷 pv 資訊 root centos7 pvs root centos7 pvdisplay 刪除物理卷 pv root centos7 pvre...