Linux中利用LVM實現分區動態擴容____Linux

來源:互聯網
上載者:User

       LVM的全稱為Logical Volume Manager,它是Linux環境下對磁碟分割進行管理的一種機制,LVM是建立在硬碟和分區之上的一個邏輯層,來提高磁碟分割管理的靈活性。通過LVM系統管理員可以輕鬆管理磁碟分割,如:將若干個磁碟分割串連為一個整塊的卷組(volume group),形成一個儲存池。管理員可以在卷組上隨意建立邏輯卷組(logical volumes),並進一步在邏輯卷組上建立檔案系統。管理員通過LVM可以方便的調整儲存卷組的大小,並且可以對磁碟儲存按照組的方式進行命名、管理和分配。當系統添加了新的磁碟,通過LVM管理員就不必將磁碟的檔案移動到新的磁碟上以充分利用新的儲存空間,而是直接擴充檔案系統跨越磁碟即可。它的結構如下圖所示:

圖1

LVM(邏輯分區管理)中的幾個概念: PV(physical volume):物理卷在邏輯卷管理系統最底層,可為整個物理硬碟或實際物理硬碟上的分區。它只是在物理分區中划出了一個特殊的地區,用於記載與LVM相關的管理參數。 
VG(volume group):卷組建立在物理卷上,一卷組中至少要包括一物理卷,卷組建立後可動態添加卷到卷組中,一個邏輯卷管理系統工程中可有多個卷組。
LV(logical volume):邏輯卷建立在卷組基礎上,卷組中未配置的空間可用於建立新的邏輯卷,邏輯卷建立後可以動態擴充和縮小空間。
PE(physical extent):物理地區是物理卷中可用於分配的最小儲存單元,物理地區大小在建立卷組時指定,一旦確定不能更改,同一卷組所有物理卷的物理地區大小需一致,新的pv加入到vg後,pe的大小自動更改為vg中定義的pe大小。
LE(logical extent):邏輯地區是邏輯卷中可用於分配的最小儲存單元,邏輯地區的大小取決於邏輯卷所在卷組中的物理地區的大小。由於受核心限制的原因,一個邏輯卷(Logic Volume)最多隻能包含65536個PE(Physical Extent),所以一個PE的大小就決定了邏輯卷的最大容量,4 MB(預設) 的PE決定了單個邏輯卷最大容量為 256 GB,若希望使用大於256G的邏輯卷,則建立卷組時需要指定更大的PE。在Red Hat Enterprise Linux AS 4中PE大小範圍為8 KB 到 16GB,並且必須總是 2 的倍數。 


下面我們通過一個執行個體來說明如何建立LVM:

1.準備物理分區(Physical Partions)    首先,我們需要選擇用於 LVM 的實體儲存體器。這些通常是標準分區,但也可以是已建立的 Linux Software RAID 卷。這裡我利用fdisk命令,將sdb、sdc兩塊磁碟分了兩個區sdb1、sdc1, 通過fdisk的t指令指定分區為8e類型(Linux LVM) 。如圖2所示。 

                                                 圖2


2.建立物理卷PV(Physical Volumes)

[root@cfbdb5 oracle]#pvcreate /dev/sdb1 
  Physical volume "/dev/sdb1" successfully created
[root@cfbdb5 oracle]# pvcreate /dev/sdc1 
  Physical volume "/dev/sdc1" successfully created


3.建立卷組VG(Volume Groups),命名為vg_test

[root@cfbdb5 ~]#vgcreate vg_test /dev/sdb1
  Volume group "vg_test" successfully created

使用卷組查看命令vgdisplay顯示卷組情況:

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.99 GB
  PE Size               4.00 MB
  Total PE              5118
  Alloc PE / Size       2560 / 10.00 GB
  Free  PE / Size       2558 / 9.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc


4.建立邏輯卷LV(Logical Volumes) ,命名為test_lv 建立邏輯卷的命令為lvcreate,-l 參數為定PE數來設定邏輯分區大小,也可以使用-L參數直接指定邏輯分區大小,-n參數指定邏輯分區名稱。
[root@cfbdb5 oracle]# lvcreate -l 2000 -n lv_test vg_test
  Logical volume "lv_test" created
也可以使用-L參數 [root@cfbdb5 oracle]# lvcreate -L 10G -n lv_test vg_test
  Rounding up size to full physical extent 19.99 GB
  Logical volume "lv_test" created
使用lvdisplay命令查看邏輯卷情況: 
[root@cfbdb5 oracle]#lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg_test/lv_test
  VG Name                vg_test
  LV UUID                kgUoMy-W1qG-7tAQ-dI5j-Z2KO-a8Td-mXAFbc
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                19.99 GB
  Current LE             5118
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

5.建立檔案系統,並掛載 在邏輯卷上建立ext3檔案系統: 
[root@cfbdb5 oracle]#mkfs -t ext3 /dev/vg_test/lv_test 
[root@cfbdb5 oracle]#mount /dev/vg_test/lv_test /opt/oracle/
[root@cfbdb5 oracle]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       16G  4.7G   11G  32% /
/dev/sda1              99M   27M   67M  29% /boot
tmpfs                 872M     0  872M   0% /dev/shm
/dev/mapper/vg_test-lv_test
                      9.9G  151M  9.2G   2% /opt/oracle


管理LVM    LVM的最大好處就是可以動態地調整分區大小,而無須重新啟動機器,下面讓我們來體驗一下吧。繼續上面的執行個體,現假設邏輯卷/dev/vg_test/lv_test空間不足,需要增加其大小,我們分兩種情況討論: 

1.卷組中有剩餘的空間    通過vgdisplay命令可以檢查當前卷組空間使用方式: 

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.99 GB
  PE Size               4.00 MB
  Total PE              5118
  Alloc PE / Size       2560 / 10.00 GB
  Free  PE / Size       2558 / 9.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc

確定當前卷組剩餘空間9.99GB,剩餘PE數量為2558個。在這裡將所有的剩餘空間全部增加給邏輯卷 /dev/vg_test/lv_test。

[root@cfbdb5 oracle]# lvextend -l +2558 /dev/vg_test/lv_test 
  Extending logical volume lv_test to 19.99 GB
  Logical volume lv_test successfully resized 

也可以通過-L直接指定大小,通過 +/- 來 增加/減小 空間。

修改邏輯卷大小後,通過resize2fs來修改檔案系統的大小。

[root@cfbdb5 oracle]#resize2fs /dev/vg_test/lv_test 
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/vg_test/lv_test is mounted on /opt/oracle; on-line resizing required
Performing an on-line resize of /dev/vg_test/lv_test to 5240832 (4k) blocks.
The filesystem on /dev/vg_test/lv_test is now 5240832 blocks long.
再次查看檔案系統的大小:
[root@cfbdb5 oracle]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       16G  4.7G   11G  32% /
/dev/sda1              99M   27M   67M  29% /boot
tmpfs                 872M     0  872M   0% /dev/shm
/dev/mapper/vg_test-lv_test
                       20G  156M   19G   1% /opt/oracle

2.卷組中空間不足    當卷組中沒有足夠的空間用於擴充邏輯卷的大小時,就需要增加卷組的容量,而增加卷組容量的惟一辦法就是向卷組中添加新的物理卷。 
  首先需要對新增加的磁碟進行分區、建立物理卷等工作。),接下來是利用vgextend命令將新的物理卷加入到卷組中, 我們這裡使用/dev/sdc1。

[root@cfbdb5 oracle]#vgextend vg_test /dev/sdc1  
  Volume group "vg_test" successfully extended

[root@cfbdb5 oracle]# vgdisplay
  --- Volume group ---
  VG Name               vg_test
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               59.98 GB
  PE Size               4.00 MB
  Total PE              15356
  Alloc PE / Size       5118 / 19.99 GB
  Free  PE / Size       10238 / 39.99 GB
  VG UUID               YEYtOr-JpCK-P7MV-FFVo-BgEi-Ooef-IG3hlc
完成卷組的擴容後,就可以按照第一種情況的方法完成邏輯卷的擴容,最終實現分區的動態調整。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.