RHEL6中LVM邏輯卷管理


1、LVM 基本術語
 
物理卷(physical volume):物理卷在邏輯卷管理中處於最底層,它可以是實際物理硬盤上的分區,也可以是整個物理硬盤。
 
卷組(Volume Group):卷組建立在物理卷之上,一個卷組中至少要包括一個物理卷,在卷組建立之后可動態添加物理卷到卷組中。  
邏輯卷(logical volume):  邏輯卷建立在卷組之上,卷中的未分配空間可以用於建立新的邏輯卷,邏輯卷建立后可以動態地擴展和縮小空間。系統中的多個邏輯卷可以屬於同一個卷組,也可以屬於不同的多個卷組。 
 
 PE(physical extent):每一個物理卷被划分為稱為PE的的基本單元,具有唯一編號的PE是可以 被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。
 
 LE(logical exent):邏輯卷也被划分為稱為LE的可被尋址的基本單位。在同一個卷組中,LE和PE 的大小是相同的,並且一一對應 。
 
如下圖可以看到本機裝系統時使用的LVM:
 
 
2、創建和管理LVM
[root@test ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
 
三塊硬盤/dev/sdb、/dev/sdc 、/dev/sdd都為20G
 
sdb、sdc創建物理分區10G,分區類型為8e
fdisk   /dev/sdb---sdb1
fdisk  /dev/sdc--sdc1
partprobe       /dev/sdb  #使用工具partprobe讓kernel讀取分區信息。或者使用partx  /dev/sdb
partprobe       /dev/sdc
 
更改分區類型用t,用L列出可用的分區類型。
 
 
2.1 創建PV
[root@test ~]# pvcreate /dev/sdb1
  dev_is_mpath: failed to get device for 8:17
  Physical volume "/dev/sdb1" successfully created
[root@test ~]# pvcreate /dev/sdc1
  dev_is_mpath: failed to get device for 8:33
  Physical volume "/dev/sdc1" successfully created
 
查看物理卷:pvs和pvdisplay
 
使用pvremove /dev/sdb1 刪除物理卷。
 
  
2.2創建VG,VG名稱為vdata
[root@test ~]# vgcreate vdata /dev/sdb1 /dev/sdc1
  Volume group "vdata" successfully created
 
查看vg:
 
 
可以看到默認PE大小為4M。可以更改vdata卷組的PE為16M:
[root@test ~]# vgchange -s 16M vdata
  Volume group "vdata" successfully changed
 
 
                
2.3 創建兩個LV
[root@test ~]# lvcreate -L 2G -n data1 vdata     
  Logical volume "data1" created
[root@test ~]# lvcreate -l 20 -n data2 vdata   
  Logical volume "data2" created
 
lvcreate參數解釋:
  -l    LEs :指定LV的邏輯塊數
  -L  size:指定LV的大小,其后可以用K,M,G表示KB,MB,GB
  -s   創建一個已存在LV的snapshop卷
  -n  name:為LV指定名稱
 
查看LV詳細信息:lvs和lvdisplay
 
 
 
2.4LV 格式化及掛載
[root@test ~]# mkfs.ext4 /dev/vdata/data1
[root@test ~]# mkfs.ext4 /dev/vdata/data2
[root@test ~]# mount /dev/vdata/data1 /mnt/data1   
[root@test ~]# mount /dev/vdata/data2 /mnt/data2
                
 blkid    [查看所屬的文件系統的UUID]
 vim /etc/fstab  寫入掛載表中,保證永久生效。請用UUID掛載
 
                
 
2.5 刪除LVM
  刪除邏輯卷  lvremove   <lvname>
  刪除卷組     vgremove  <vgname>
  刪除物理卷 pvremove  <pvname>
   
 
 
3、LVM邏輯卷擴充和縮減
3.1LVM邏輯卷擴充:
添加PV到VG中------擴大LV容量----擴大文件系統並掛載
 
(1)在新的物理分區上新建物理卷加入卷組
在/dev/sdd上新建分區/dev/sdd1,分區大小為10G。然后新建物理分區,加入卷組。
                 
創建物理卷:
[root@test ~]# pvcreate /dev/sdd1
  Physical volume "/dev/sdd1" successfully created
 
(2)將新的物理卷加入已知的卷組
[root@test ~]# vgextend vdata /dev/sdd1
  Volume group "vdata" successfully extended
 
 將物理卷從卷組中移除vgreduce
    #vgreduce   vdata /dev/sdd1
          
(3)  擴充邏輯卷
有兩種方式:一種直接指定擴充后總的容量;一種指定要增加的容量:
擴充之前LV的大小:
 
將邏輯卷data1擴充2G:
  [root@test ~]# lvextend -L 4G /dev/vdata/data1       //#指定擴容后的容量
  Extending logical volume data1 to 4.00 GiB
  Logical volume data1 successfully resized
                   
可以看到data1邏輯卷已經變成4G:
 
 
將邏輯卷data2擴充1G:    
[root@test ~]# lvextend -L +1G /dev/vdata/data2       // #指定要增加的容量
  Extending logical volume data2 to 1.31 GiB
  Logical volume data2 successfully resized            
 
            
(4)執行重設大小,對於當前正在使用的lvdata有效。
在將邏輯卷data1擴充了2G之后,在系統里面總的可以使用的空間仍然是2G,沒有變成4G。
所以要重設文件系統。
重設之前:
 
              
重設之后:
[root@test ~]# resize2fs  /dev/vdata/data1
[root@test ~]# resize2fs  /dev/vdata/data2
 
邏輯卷擴充成功。
               
         
3.2 LVM邏輯卷縮減:
縮小LV縮小文件系統----縮小LV容量----移除VG中的PV      
 
縮減邏輯卷data2
(1)卸載文件系統
[root@test ~]# umount /dev/vdata/data2
               
(2)檢查文件系統fsck                
[root@test ~]# e2fsck -f /dev/vdata/data2       //強制檢查文件系統
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vdata/data2: 11/344064 files (0.0% non-contiguous), 54400/1376256 blocks
 
(3) 指定縮小后的文件系統的容量
 [root@test ~]# resize2fs -p /dev/vdata/data2  1G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vdata/data2 to 1048576 (1k) blocks.
Begin pass 3 (max = 168)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/vdata/data2 is now 1048576 blocks long.
 
(4)縮減邏輯卷使用lvreduce命令,不能縮減至比它包含的文件系統還小
[root@test ~]# lvreduce -L 1G /dev/vdata/data2
  WARNING: Reducing active logical volume to 1.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce data2? [y/n]: y
  Reducing logical volume data2 to 1.00 GiB
  Logical volume data2 successfully resized
     
如下圖,縮減成功:    
                                
 
 
 
 4、創建快照
在已有的邏輯卷上創建快照:
[root@test ~]# lvcreate -l 50 -s -n data_bak /dev/vdata/data1 【在data1邏輯卷上創建快照】
  Logical volume "data_bak" created
                                         
 
快照的刪除:
[root@test ~]# lvremove /dev/vdata/data_bak
Do you really want to remove active logical volume data_bak? [y/n]: y
  Logical volume "data_bak" successfully removed
 
             
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM