PV,VG,LV,,LVM概念解析及操作

  • LVM(邏輯卷管理)的概念

在瞭解LVM的概念之前我們應該先了解PV(physical volume,物理卷)、VG(volume group,卷組)和LV(logical volume,邏輯卷)。因爲LVM就是由這三種元素組成的。

  1. PV(physical volume,物理卷):
        PV是VG的組成部分,它是由分區構成的,通常我們在有多塊硬盤的環境中把一塊硬盤格式化成一個主分區後,然後把這塊硬盤做成PV,在只有一塊硬盤的情況下我們就是把這塊硬盤上的某一個分區做成PV。比如,公司裏的服務器可能有多塊硬盤,這個時候你可以把一塊硬盤劃一個主分區,然後再把它做成PV,但是就像這次我重做系統時候機子上就一塊硬盤,我還得考慮引導分區和“/”根分區,所以我就把硬盤劃了四個主分區,一個“/boot”分區、一個“/”分區,還有一個“swap”分區,最後當然就把剩下的分了一個主分區,把系統裝好後我把最後一個主分區做成了一個PV,然後加入到VG裏,又從VG裏劃分的LV,也就組成了LVM。
    2. VG(volume group,卷組):
        VG就是卷組,它是由若干個PV組成的。也就是我們把上面那些硬盤分區,然後做成的PV。它就是由那些PV組成的。它的作用就是把PV集中到一塊再進行劃分。
    3. LV(logical volume,邏輯卷):
        LV就是從VG裏劃分出來的卷,它可以在你所用的卷不夠用的情況下增加其容量。它其實就像是Windows裏的邏輯磁盤,不過Windows裏的邏輯磁盤不能隨心所欲的增加或減少磁盤的容量,而LV就可以。下面就是PV、VG和LV它們之前的關係圖:

                

    

從上圖我們可以很容易的看出它們之前的關係,用一個例子說明就是:假如我們三塊硬盤,一塊50G、一塊20G、另一塊100G。這個時候我們要把它們做成一個LMV類型磁盤我們應該如下做:首先把三塊硬盤進行分區並格式化(在上面說過了,在有多塊硬盤的情況下建議一塊硬盤劃分一個主分區)然後將其做成PV。其次就是新建一個VG,建好之後把上面這三個硬盤轉化成的PV加入到VG裏將磁盤容量集中起來也就成了170G,最後我們就可以把這個VG當成一塊170G的硬盤來使用就OK了!呵呵,這下明白了吧!當硬盤只有一塊的時候,也就是說這塊硬盤上還的裝操作系統時如下圖來劃分分區:

 

 呵呵,上面就是我的系統的硬盤分區情況,首先劃了一個"/boot"分區,然後是“swap”,最後是根“/"分區。後面的空間空下了,然後裝好系統後,把空下的空間分爲了一個主分區,把這個分區做成一個PV,然後新建一個VG卷組,把做成的PV加入到VG中,最後從VG中劃分LV。。。好了!下面我們來看一下如何去做LVM吧。

 

新增加一個磁盤,查看新增的磁盤
[root@hadoop101 ~]# lsblk -f
NAME                     FSTYPE      LABEL UUID                                   MOUNTPOINT
sda                                                                               
├─sda1                   ext4              fb24c931-a633-4ba0-92ba-a9c5b618f735   /boot
├─sda2                   ext4              10e36f84-559b-4b63-ab7f-a33b48f0139b   /
└─sda3                   swap              7b9feb0d-bf07-40d5-9a2c-5493002909ed   [SWAP]
sdb                                                                               
├─sdb1                   ext4              9a32d67b-9407-449f-9207-f8bf6ad6b088   
├─sdb2                   ext4              0910d5e6-7475-4168-a90d-4084252f7990   
├─sdb3                   LVM2_member       HZXidH-psjf-b0bY-EgkO-1nHD-8v27-BYrbTc 
│ └─crt_vg-crt_lv (dm-0)                                                          
└─sdb4                                                                            
sdc                                                                               
sr0 
對新增的sdc磁盤進行分區
fdisk /dev/sdc
[root@hadoop101 ~]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2035c5ac.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): +50M

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
格式化/dev/sdc1
[root@hadoop101 ~]# mkfs -t ext4 /dev/sdc1
將/test2掛載到/dev/sdc1
[root@hadoop101 ~]# mount /dev/sdc1 /test2
卸載
[root@hadoop101 ~]# umount /test2
用命令掛載重啓後失效,永久掛載
[root@hadoop101 ~]# vi /etc/fstab
保存,執行mount -a立即生效

PV,VG,LV
新建PV
[root@hadoop101 ~]# pvcreate /dev/sdb3
pv掃描查看
[root@hadoop101 ~]# pvscan
[root@hadoop101 ~]# pvdisplay
創建VG
[root@hadoop101 ~]# vgcreate crt_vg /dev/sdb3
或者命令如下
vgreduce crt_vg /dev/sdb3
創建LV
[root@hadoop101 ~]# lvcreate -L 30M -n crt_lv crt_vg
  Rounding up size to full physical extent 32.00 MiB
  Logical volume "crt_lv" created.
LV增加空間
lvextend -L +30M /dev/crt_vg/crt_lv
LV減少空間
lvreduce -L -20M /dev/crt_vg/crt_lv

將testlv掛載到/dev/crt_vg/crt_lv
[root@hadoop101 ~]# mkdir /testlv
[root@hadoop101 ~]# mount /dev/crt_vg/crt_lv /testlv
用命令掛載重啓後失效,永久掛載
[root@hadoop101 ~]# vi /etc/fstab
UUID=f4bb7cce-a2e0-4a29-ae9a-9161c55856fa /testlv                 ext4    defaults        1 1
保存,執行mount -a立即生效

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章