lvm(邏輯卷管理器)的介紹和常用功能流程實驗(轉)
lvm(邏輯卷管理器)的介紹和常用功能流程實驗(轉)[@more@]'lvm(邏輯卷管理器)的介紹和常用功能流程實驗
daweicheng
1) 前言
2) lvm組成和概念
3) 如何使用lvm,建立邏輯卷的流程和例項
4) 如何動態放大/縮小一個邏輯卷/邏輯卷組
5) 如何刪除邏輯卷/邏輯卷組
6) lvm相關命令
1) 前言
一直想寫一個簡單的lvm方面的文章,可以作個背忘,主要以流程和例項為主,希望文章能起到拋磚引玉的
作用.
LVM=(Logical Volume Mamager)邏輯卷管理器,LVM最先是用在IBM AIX系統上,它的最大作用是可以動態分
配磁碟分割槽,並且可以讓多個分割槽或者物理硬碟作為一個邏輯卷(相當於一個邏輯硬碟).這種機制可以讓磁
盤分割槽容量劃分變得很靈活.
我們先舉個簡單例子.比如我們有一個硬碟/dev/hda,分了3個主分割槽:hda1,hda2,hda3,後面磁碟空間沒有
劃分,分別對應的掛載點是/boot,/,/home,如果我們的/home空間不夠了,怎麼辦?傳統的方法是在未劃分的
空間中分割一個分割槽,掛載到/home下,並且把hda3的內容複製到這個新分割槽上.或者把這個新分割槽掛載到另
外的掛載點上,然後在/home下建立連結,連結到這個新掛載點.
這兩種方法都不大好,第一種方法浪費了hda3,並且如果後面的分割槽容量小於hda3怎麼辦?第二種方法不大
浪費容量,但是每次要額外建立連結,比較麻煩.那麼,如果用lvm呢?lvm的好處在於,可以動態放大一個邏輯
卷(相當於一個邏輯分割槽),也就是說,hda3如果是一個邏輯分割槽,比如/dev/rootvg/lv3,那麼lv3可以被動態
放大.這樣就解決了動態容量調整的問題.當然,前提是系統已設定好lvm支援,並且需要動態縮放的掛載點
對應的裝置是邏輯卷.
在這裡,我所有例子都是基於RHEL 4/CentOS 4.x和LVM2的。
2) lvm組成和概念
這裡參考了IBM 林彥明(Alex Lin)的>)
PV(Physical Volume) 物理卷。可以是單獨磁碟,也可以是硬碟分割槽
VG(Volume Group) 卷組。是PV的組合,可以看成單獨的邏輯磁碟
LV(Logical Volume) 邏輯分割槽。相當於物理分割槽的/dev/hdaX
PE(Physical Extent) 物理範圍。VG單元,類似於RAID的條帶大小。
當多個PV組成一個VG時,LVM會在所有PV上做類似格式化的動作,
將每個PV切成一塊塊的空間,這一塊塊的空間就稱為PE, 通常是4MB。
LE(Logical Extent) 邏輯範圍。LV的組成單位。大小為PE的倍數(通常為1:1)
那麼,最常用的3個名詞和意義列表如下:
名詞 意義 作業系統對應裝置
PV 物理卷 /dev/hdaX
VG 卷組 /dev/ (通常是個目錄)
LV 邏輯卷 /dev//
如果我們要使用lvm,順序是pv->vg->lv。
就是說,我們先建立一個物理卷(對應一個物理硬碟分割槽或者一個物理硬碟),然後把這些分割槽/硬碟加入
一個卷組中(相當於一個邏輯上的大硬碟),然後我們在這個大硬碟上劃分分割槽lv(邏輯上的分割槽,就是邏
輯卷)
這樣,我們把lv邏輯卷格式化以後,就可以像使用一個傳統分割槽那樣,把它掛載到一個掛載點上,需要的
時候,這個邏輯卷可以被動態縮放。
我們可以用一個長方蛋糕來說明這個對應關係。物理硬碟相當於一個長方蛋糕,我們把它切割成許多快,
每個小塊相當於一個pv,然後我們把其中的某些pv重新放在一起,抹上奶油,那麼這麼些個pv的組合就是
一個新的蛋糕,也就是vg。最後,我們切割這個新蛋糕vg,切出來的小蛋糕就叫做lv。
有一點需要注意,就是/boot區不可以是lvm,因為載入程式lilo/grub並不能識別lvm,就像/boot同樣不
可以是軟raid裝置一樣。
3) 如何使用lvm,建立邏輯卷的流程和例項
好了,我們來建立一個lv。
比如說,在一個物理硬碟/dev/hda上,我們需要將/dev/hda5,/dev/hda6作為pv
1 fdisk劃分hda5,hda6,並且將這兩個分割槽的標誌(鍵入t改)改為(0x)8e
然後用partprobe通知OS磁碟分割槽的變化
2 pvcreate /dev/hda5 /dev/hda6(-s xxM可設定PE大小)
建立pv hda5,hda6
3 vgcreate rootvg /dev/hda5 /dev/hda6
將hda5,hda6加入邏輯卷組rootvg中
4 lvcreate -L 100M -n lv1 rootvg
從我們的rootvg中,建立一個100M的邏輯卷lv1
5 mkfs.ext3 /dev/rootvg/lv1
格式化我們的lv1,檔案系統用ext3
6 mkdir /mnt/lvm;mount /dev/rootvg/lv1 /mnt/lvm
將lv1掛載到/mnt/lvm下
好了,這樣一個建立lv的例子完成
4) 如何動態放大/縮小一個邏輯卷/邏輯卷組
我們如何放大lv?比如上面的lv1?流程:
1 lvextend -L+200M /dev/rootvg/lv1
將lv1增加200M
2 ext2online /dev/rootvg/lv1
讓lv1容量更改立即生效
減小lv,網上很多文章介紹的是ReiserFS,這裡我們是ext3檔案系統,如果我們需要減少50M:
1 umount /mnt/lvm
這裡,需要先解除安裝分割槽
2 mke2fs -n /dev/rootvg/lv1
計算lv1的block數
這裡一定要加-n引數,這是計算lv1的block數,而不是格式化分割槽,注意。
並且注意,從MB->KB這些的計算,都是乘1024,不是1000,這是個細節問題
3 計算減少50M後的block數。從mke2fs -n /dev/rootvg/lv1,我們可以得出2個需要的資訊:
Block size和blocks,這兩個數的乘積就是分割槽大小A(單位位元組),
我們把需要減小的容量50M換算成位元組B,然後A-B的結果除以Block size,就是剩餘的block數
4 resize2fs -f /dev/rootvg/lv1 剩餘的block數
調整檔案系統大小
5 lvreduce -L-50M /dev/rootvg/lv1
調整lv分割槽大小,減小50M
6 重新mount,df察看一下容量的減小
動態加大VG:
這裡我們新增一個PV並加入VG
1 fdisk增加一個(0x)8e標誌的分割槽/dev/hda7
2 vgextend rootvg /dev/hda7
好了,vg增大了
縮小邏輯卷組VG:
1 搬移PV中的資料(只限於同一VG中)
#pvmove [-n ] []
如
#pvmove /dev/hda5 /dev/hda6
將VG中pv hda5的內容搬移到hda6中
pvmove /dev/hda5(也可以這樣,lvm決定hda2的內容被複制到哪裡)
2 vgreduce rootvg /dev/hda5
把vg hda5移除
5) 如何刪除邏輯卷/邏輯卷組
刪除VG流程:
1 umount /掛接點
2 lvremove /dev/rootvg/lv1
移除邏輯卷,這裡是lv1
3 vgchange -a n rootvg(關閉rootvg)
4 vgremove rootvg
移除rootvg
6) lvm相關命令
這個表格,你可以在RHCE_Study_Guide.pdf上找到
Physical Volume Volume Group Logical Volume
scan pvscan vgscan lvscan
create pvcreate vgcreate lvcreate
display pvdispaly vgdisplay lvdisplay
remove pvremove vgremove lvremove'
daweicheng
1) 前言
2) lvm組成和概念
3) 如何使用lvm,建立邏輯卷的流程和例項
4) 如何動態放大/縮小一個邏輯卷/邏輯卷組
5) 如何刪除邏輯卷/邏輯卷組
6) lvm相關命令
1) 前言
一直想寫一個簡單的lvm方面的文章,可以作個背忘,主要以流程和例項為主,希望文章能起到拋磚引玉的
作用.
LVM=(Logical Volume Mamager)邏輯卷管理器,LVM最先是用在IBM AIX系統上,它的最大作用是可以動態分
配磁碟分割槽,並且可以讓多個分割槽或者物理硬碟作為一個邏輯卷(相當於一個邏輯硬碟).這種機制可以讓磁
盤分割槽容量劃分變得很靈活.
我們先舉個簡單例子.比如我們有一個硬碟/dev/hda,分了3個主分割槽:hda1,hda2,hda3,後面磁碟空間沒有
劃分,分別對應的掛載點是/boot,/,/home,如果我們的/home空間不夠了,怎麼辦?傳統的方法是在未劃分的
空間中分割一個分割槽,掛載到/home下,並且把hda3的內容複製到這個新分割槽上.或者把這個新分割槽掛載到另
外的掛載點上,然後在/home下建立連結,連結到這個新掛載點.
這兩種方法都不大好,第一種方法浪費了hda3,並且如果後面的分割槽容量小於hda3怎麼辦?第二種方法不大
浪費容量,但是每次要額外建立連結,比較麻煩.那麼,如果用lvm呢?lvm的好處在於,可以動態放大一個邏輯
卷(相當於一個邏輯分割槽),也就是說,hda3如果是一個邏輯分割槽,比如/dev/rootvg/lv3,那麼lv3可以被動態
放大.這樣就解決了動態容量調整的問題.當然,前提是系統已設定好lvm支援,並且需要動態縮放的掛載點
對應的裝置是邏輯卷.
在這裡,我所有例子都是基於RHEL 4/CentOS 4.x和LVM2的。
2) lvm組成和概念
這裡參考了IBM 林彥明(Alex Lin)的>)
PV(Physical Volume) 物理卷。可以是單獨磁碟,也可以是硬碟分割槽
VG(Volume Group) 卷組。是PV的組合,可以看成單獨的邏輯磁碟
LV(Logical Volume) 邏輯分割槽。相當於物理分割槽的/dev/hdaX
PE(Physical Extent) 物理範圍。VG單元,類似於RAID的條帶大小。
當多個PV組成一個VG時,LVM會在所有PV上做類似格式化的動作,
將每個PV切成一塊塊的空間,這一塊塊的空間就稱為PE, 通常是4MB。
LE(Logical Extent) 邏輯範圍。LV的組成單位。大小為PE的倍數(通常為1:1)
那麼,最常用的3個名詞和意義列表如下:
名詞 意義 作業系統對應裝置
PV 物理卷 /dev/hdaX
VG 卷組 /dev/ (通常是個目錄)
LV 邏輯卷 /dev//
如果我們要使用lvm,順序是pv->vg->lv。
就是說,我們先建立一個物理卷(對應一個物理硬碟分割槽或者一個物理硬碟),然後把這些分割槽/硬碟加入
一個卷組中(相當於一個邏輯上的大硬碟),然後我們在這個大硬碟上劃分分割槽lv(邏輯上的分割槽,就是邏
輯卷)
這樣,我們把lv邏輯卷格式化以後,就可以像使用一個傳統分割槽那樣,把它掛載到一個掛載點上,需要的
時候,這個邏輯卷可以被動態縮放。
我們可以用一個長方蛋糕來說明這個對應關係。物理硬碟相當於一個長方蛋糕,我們把它切割成許多快,
每個小塊相當於一個pv,然後我們把其中的某些pv重新放在一起,抹上奶油,那麼這麼些個pv的組合就是
一個新的蛋糕,也就是vg。最後,我們切割這個新蛋糕vg,切出來的小蛋糕就叫做lv。
有一點需要注意,就是/boot區不可以是lvm,因為載入程式lilo/grub並不能識別lvm,就像/boot同樣不
可以是軟raid裝置一樣。
3) 如何使用lvm,建立邏輯卷的流程和例項
好了,我們來建立一個lv。
比如說,在一個物理硬碟/dev/hda上,我們需要將/dev/hda5,/dev/hda6作為pv
1 fdisk劃分hda5,hda6,並且將這兩個分割槽的標誌(鍵入t改)改為(0x)8e
然後用partprobe通知OS磁碟分割槽的變化
2 pvcreate /dev/hda5 /dev/hda6(-s xxM可設定PE大小)
建立pv hda5,hda6
3 vgcreate rootvg /dev/hda5 /dev/hda6
將hda5,hda6加入邏輯卷組rootvg中
4 lvcreate -L 100M -n lv1 rootvg
從我們的rootvg中,建立一個100M的邏輯卷lv1
5 mkfs.ext3 /dev/rootvg/lv1
格式化我們的lv1,檔案系統用ext3
6 mkdir /mnt/lvm;mount /dev/rootvg/lv1 /mnt/lvm
將lv1掛載到/mnt/lvm下
好了,這樣一個建立lv的例子完成
4) 如何動態放大/縮小一個邏輯卷/邏輯卷組
我們如何放大lv?比如上面的lv1?流程:
1 lvextend -L+200M /dev/rootvg/lv1
將lv1增加200M
2 ext2online /dev/rootvg/lv1
讓lv1容量更改立即生效
減小lv,網上很多文章介紹的是ReiserFS,這裡我們是ext3檔案系統,如果我們需要減少50M:
1 umount /mnt/lvm
這裡,需要先解除安裝分割槽
2 mke2fs -n /dev/rootvg/lv1
計算lv1的block數
這裡一定要加-n引數,這是計算lv1的block數,而不是格式化分割槽,注意。
並且注意,從MB->KB這些的計算,都是乘1024,不是1000,這是個細節問題
3 計算減少50M後的block數。從mke2fs -n /dev/rootvg/lv1,我們可以得出2個需要的資訊:
Block size和blocks,這兩個數的乘積就是分割槽大小A(單位位元組),
我們把需要減小的容量50M換算成位元組B,然後A-B的結果除以Block size,就是剩餘的block數
4 resize2fs -f /dev/rootvg/lv1 剩餘的block數
調整檔案系統大小
5 lvreduce -L-50M /dev/rootvg/lv1
調整lv分割槽大小,減小50M
6 重新mount,df察看一下容量的減小
動態加大VG:
這裡我們新增一個PV並加入VG
1 fdisk增加一個(0x)8e標誌的分割槽/dev/hda7
2 vgextend rootvg /dev/hda7
好了,vg增大了
縮小邏輯卷組VG:
1 搬移PV中的資料(只限於同一VG中)
#pvmove [-n ] []
如
#pvmove /dev/hda5 /dev/hda6
將VG中pv hda5的內容搬移到hda6中
pvmove /dev/hda5(也可以這樣,lvm決定hda2的內容被複制到哪裡)
2 vgreduce rootvg /dev/hda5
把vg hda5移除
5) 如何刪除邏輯卷/邏輯卷組
刪除VG流程:
1 umount /掛接點
2 lvremove /dev/rootvg/lv1
移除邏輯卷,這裡是lv1
3 vgchange -a n rootvg(關閉rootvg)
4 vgremove rootvg
移除rootvg
6) lvm相關命令
這個表格,你可以在RHCE_Study_Guide.pdf上找到
Physical Volume Volume Group Logical Volume
scan pvscan vgscan lvscan
create pvcreate vgcreate lvcreate
display pvdispaly vgdisplay lvdisplay
remove pvremove vgremove lvremove'
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-959963/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- lvm的介紹和常用功能流程實驗(轉)LVM
- LVM邏輯卷管理器LVM
- 邏輯卷LVMLVM
- LVM(logical volume manager) 邏輯卷管理器(轉帖)LVM
- LVM 邏輯卷管理LVM
- 邏輯卷管理-LVMLVM
- LVM(logical volume manager) 邏輯卷管理器LVM
- 一文全解:LVM(邏輯卷管理器)LVM
- linux 邏輯卷介紹Linux
- Linux 系統邏輯盤卷管理LVM 詳細介紹LinuxLVM
- LVM_邏輯卷管理LVM
- Linux LVM邏輯卷LinuxLVM
- linux之LVM邏輯卷LinuxLVM
- linux LVM邏輯卷配置LinuxLVM
- 邏輯卷管理---LVM2LVM
- Linux下LVM邏輯卷管理LinuxLVM
- lvm收縮邏輯卷空間LVM
- 如何在 Ubuntu 中管理和使用邏輯卷管理 LVMUbuntuLVM
- 使用 LVM 命令建立卷組和邏輯卷例項LVM
- 『學了就忘』Linux檔案系統管理 — 65、LVM邏輯卷管理介紹LinuxLVM
- 手把手教學----LVM邏輯卷管理與磁碟配額實操全流程LVM
- 邏輯卷管理實驗---縮減/home目錄使用空間並建立新的LVMLVM
- ENGINEER01 - 分割槽規劃和使用,LVM邏輯卷LVM
- 實操CentOS8系統中建立LVM邏輯卷CentOSLVM
- Linux—磁碟配額,管理LVM邏輯卷LinuxLVM
- 邏輯卷管理-LVM(LOGIC VOLUMN MANAGER)LVM
- Linux邏輯盤卷管理LVM詳解LinuxLVM
- 在LVM中恢復已刪除的邏輯卷LVM
- Centos8中建立LVM精簡邏輯卷CentOSLVM
- 在Linux中,如何使用LVM管理邏輯卷?LinuxLVM
- 介紹如何從LVM的卷組中刪除物理卷LVM
- Linux LVM Logical Volume Management 邏輯卷的管理LinuxLVM
- Linux作業系統邏輯盤卷管理LVM建立步驟(轉)Linux作業系統LVM
- LVM邏輯卷線上動態擴容磁碟空間LVM
- lvm 擴充邏輯卷空間(linux的磁碟擴容)LVMLinux
- linux 磁碟分割槽掛載-LVM-物理卷PV,卷組VG,邏輯卷LVLinuxLVM
- linux系統掛載邏輯卷和擴充套件邏輯卷組Linux套件
- (轉)管理LVM2邏輯分割槽LVM