1. 程式人生 > >基於CentOS 6 系統創建邏輯卷LVM,執行擴容,縮減,刪除等操作

基於CentOS 6 系統創建邏輯卷LVM,執行擴容,縮減,刪除等操作

靈活 硬盤 erl borde pan local lock 地址 擁有

基於CentOS 6 系統創建邏輯卷LVM,執行擴容,縮減,刪除等操作 2016-08-29 05:37:57 標簽:Linux LVM Fstab VG PV 原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://51eat.blog.51cto.com/11892702/1843663

什麽是邏輯卷?

LVM是邏輯盤卷管理(Logical Volume Manager)的簡稱,它是Linux環境下對磁盤分區進行管理的一種機制,LVM是建立在硬盤和分區之上的一個邏輯層,來提高磁盤分區管理的靈活性。

LVM的工作原理其實很簡單,它就是通過將底層的物理硬盤抽象的封裝起來,然後以邏輯卷的方式呈現給上層應用。在傳統的磁盤管理機制中,我們的上層應用是直接訪問文件系統,從而對底層的物理硬盤進行讀取,而在LVM中,其通過對底層的硬盤進行封裝,當我們對底層的物理硬盤進行操作時,其不再是針對於分區進行操作,而是通過一個叫做邏輯卷的東西來對其進行底層的磁盤管理操作。舉例如我增加一個物理硬盤,這個時候上層的服務是感覺不到的,因為呈現給上層服務的是以邏輯卷的方式。

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 的最大容量!不過,在CentOS 6.x 以後,由於直接使用 lvm2 的各項格式功能,因此這個限制已經不存在了。

現在開始我們的實驗環境搭配:

我們邏輯卷的搭建全部在虛擬機上實現,如果有什麽不同的配置選項,建議還是以生產環境為主要驗證對象。

虛擬機是:VMware Workstation 12

系統是:Centos6.8 | LVM版本:lvm2.2

磁盤我們采用一個分區和一個整塊硬盤,容量大小分區10G,磁盤20G

(因為我們的實驗環境是一個分區和一整塊硬盤。但對於raid設備實現邏輯卷,生產環境中應該是比較少用,所以我們不介紹),相信您學完此方法用raid來實現邏輯卷管理,自然不在話下。

註意:分出單個磁盤分區,需要加卷標,如果是一整塊硬盤就不用加卷標直接格式化就行。

哦,對了。我先要刪除邏輯卷的實驗環境。這個刪除有意思,完全是反著來的。

接下來第一步;對單個硬盤分出一個分區 (簡單磁盤分區,命令fdisk ,一大步)

技術分享

技術分享

第一個磁盤分區我們分完了,看看小夥伴們,分區是不是很簡單呢...

接下來第二步;獨立一塊硬盤我們不用分區直接拿來創建物理卷就行

把剛分好的分區與單個硬盤一起創建為物理卷(磁盤的名稱以自己系統檢測出來的為準我這裏是sdb,sdc)

[[email protected] ~]#pvcreate /dev/sd{b1,c} (創建物理卷,命令pvcreate ,二大步)

技術分享

創建成功,並且用pvs看格式為lvm2

接下來第三步;創建卷組

把/dev/sdb1和/dev/sdc組合創建為一個卷組,卷組名為vg0

[[email protected] ~]# vgcreate vg0 /dev/sd{b1,c}(創建卷組,命令vgcreate ,三大步)

技術分享

創建成功,並且用vgs查看VG對應的卷組名是vg0,顯示PV卷有兩個,共30GB的空間容量

接下來第四步;創建邏輯卷

把新增的卷組容量加入邏輯卷中,邏輯卷名為lv0

[[email protected] ~]# lvcreate -n lv0 -L 10G vg0 (創建邏輯卷,命令lvcreate ,四大步)

此命令的意思是:從vg0 中分出10G的空間給lv0使用

技術分享

顯示整個邏輯卷的詳細信息 lvdisplay

技術分享

接下來第五步;格式化邏輯卷

註意:我們是先創建完pv,vg和lvm之後再格式化為ext4文件系統,跟raid的格式化是反著來的。

[[email protected] ~]# mkfs.ext4 /dev/vg0/lv0 (格式化邏輯卷,命令mkfs.ext4,五大步)

技術分享

接下來第六步;掛載邏輯卷(掛載邏輯卷之前要先把邏輯卷路徑寫入配置文件fstab)

vim /etc/fstab (掛載邏輯卷修改fstab文件,六大步1)

技術分享

[[email protected] ~]# mount /dev/vg0/lv0 /mnt/lv0/ (掛載邏輯卷,六大步2)

註意;先要在創建掛載目錄,用mkdir -p /mnt/lv0 ,(-p遞歸創建目錄,媽的老跟我說基什麽什麽,記不住。)

到此基本算成功搭起了邏輯卷,往下就是一些簡單修改測試了。不過您可以嘗試reboot下看配置是否永久生效!

技術分享

接下來第七步;在已掛載的邏輯卷內拷貝文件測試

拷貝文件測試的時候我老是cp不成功加-r也不成功,後來經過幾次折騰忽然想起了別名alias。仿佛一語驚醒夢我中人

因為默認系統給cp命令做了一個別名,默認是cp -i選項。所以在復制文件不想提示就在cp別名前面加個註釋就行。

拷貝文件測試與寫入文件測試均不受影響,可正常執行

[[email protected] ~]# cd /mnt/lv0/ (在邏輯卷下測試文件,七大步)

[[email protected] lv0]# dd if=/dev/zero of=f1 bs=1M count=1024

技術分享技術分享

接下來第八步;擴展邏輯卷(前提卷組有空間)

[[email protected] ~]# lvextend -L +10G /dev/vg0/lv0 (擴展邏輯卷,命令lvextend,八大步)

在lv0邏輯卷中原有的基礎上增加了10G空間,原有10G+10G等於20G擴容成功

技術分享

技術分享

以上擴容邏輯卷可能存在磁盤數據不同步問題,實際已增加,但是不顯示(我一次增加成功並顯示)
如果新增空間沒顯示記得同步下;

resize2fs /dev/vg0/lv0 (只能同步ext系列文件系統)

接下來第九步;擴展卷組(前提卷物理卷有空間)

先把磁盤創建為物理卷

[[email protected]~]# pvcreate /dev/sdd (擴展卷組,命令vgextend,九大步)

我創建了一個20G的物理卷,原來邏輯卷是30G還剩10G

技術分享

把物理卷加入卷組

[[email protected]~]# vgextend vg0 /dev/sdd

我對組加入了一個20G的物理卷,原來邏輯卷是30G還剩10G,增加後總共50G空間還剩30G空間

技術分享技術分享

擴展卷組成功 (df命令是看當前系統已掛載文件系統信息)

註意:如果用df命令 查看文件系統大小,但實際擴容空間是不顯示的。因為你增加的是空間容量並不是格式化後

的文件系統容量,所以你需要執行第八步的同步命令來新增文件系統容量

[[email protected] ~]# resize2fs /dev/vg0/lv0

技術分享

技術分享

接下來第十步;縮減邏輯卷空間(前提必須離線操作) (縮減文件系統空間,命令resize2fs,十大步)

先卸載邏輯卷系統 umount /mnt/lv0

技術分享

再縮減文件系統,先執行e2fsck -f命令檢查文件系統信息

[[email protected] ~]# e2fsck -f /dev/vg0/lv0

[[email protected] ~]# resize2fs /dev/vg0/lv0 10G

技術分享

[[email protected] ~]# lvreduce /dev/vg0/lv0 -L 10G

再掛載

技術分享

技術分享

技術分享

到此邏輯卷卷縮減成功。

接下來第十一步;縮減卷組(前提必須離線操作) (縮減卷組空間,命令vgreduce,十一大步)

先卸載邏輯卷系統 umount /mnt/lv0,再查看pv信息

技術分享

[[email protected] ~]# vgreduce vg0 /dev/sdd

將vg0組的sdd磁盤移除該組

技術分享

查看vgs信息,空間少了

技術分享

到此vg0組的空間縮減成功。

接下來第十二步最後一步;刪除邏輯卷 (這個有意思,是把創建LVM的步驟反過來操作,十二大步)

正確執行以下四條命令,方可徹底刪除邏輯卷,特別簡單。

1,umount /mnt/lv0 (先把邏輯卷的lv0掛載取消)

2,lvremove /dev/vg0/lv0 (用lvremove 命令後面跟設備地址移除LV)

3,vgremove vg0 (用vgremove 加卷組名,移除vg0卷組)

4,pvremove /dev/sdb1 /dev/sdc /dev/sdd (移除所有PV物理卷)

技術分享

到此結束整個測驗。(有需要補充的可以留言,歡迎指正)

後面的關於邏輯卷快照的相關測驗,後續奉上。學習太累了,睡覺困的一筆

本文出自 “51eA” 博客,請務必保留此出處http://51eat.blog.51cto.com/11892702/1843663

基於CentOS 6 系統創建邏輯卷LVM,執行擴容,縮減,刪除等操作