溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux下如何使用lvm

發(fā)布時(shí)間:2021-10-14 16:51:40 來(lái)源:億速云 閱讀:232 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章主要介紹了linux下如何使用lvm,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、LVM 簡(jiǎn)介

  LVM(Logical Volume Manager)是一個(gè)應(yīng)用于Linux的內(nèi)核的邏輯卷管理器,是Linux環(huán)境下對(duì)磁盤(pán)進(jìn)行分區(qū)管理的一種機(jī)制。先介紹幾個(gè)有關(guān)LVM的名詞
   1、PV(物理卷)可以是一個(gè)磁盤(pán),一個(gè)分區(qū)。由PE(物理盤(pán)區(qū))組成,多個(gè)PV可以組成一個(gè)VG(卷組).
   2、VG(卷組)多個(gè)物理卷組成的一個(gè)組,但是卷組不可以直接使用,需要在上面創(chuàng)LV(邏輯卷)才可以使用。VG上可以創(chuàng)建多個(gè)LV。
   3、PE(物理盤(pán)區(qū))就像我們之前學(xué)習(xí)的磁盤(pán)的block塊,默認(rèn)是4MB。
   4、LV(邏輯卷) 是建立在卷組之上的一個(gè)可用空間。有物理邊界和邏輯邊界兩種邊界。

二、相關(guān)命令介紹

 1、物理卷PV
      pvcreate   創(chuàng)建pv               例:pvcreate /dev/sda1
      pvs        查看pv信息           例:直接在命令行里輸入pvs
      pvdisplay  查看pv詳細(xì)信息       例:pvcreate /dev/sda1
      pvmove     將pv數(shù)據(jù)移動(dòng)到其他pv 例:pvmove /dev/sda1 /dev/sda4
      pvremove   將pv刪除             例:pvremove /dev/sda1
 2、卷組VG
    2.1 創(chuàng)建、查看、刪除vg
      vgcreate   創(chuàng)建vg               例:vgcreate myvg  /dev/sda{m,n}
      vgs        查看vg信息           例:直接在命令行里輸入vgs
      vgdisplay  查看vg詳細(xì)信息       例:vgdisplay myvg
      vgremove   將vg刪除             例:vgremove myvg
   2.2 擴(kuò)展vg
首先準(zhǔn)備好一個(gè)PV;
   然后使用vgextend命令即可完成擴(kuò)展;
   格式: vgextend VG_NAME /PATH/TO/PV
         vgextend myvg /dev/sdb2 擴(kuò)展myvg卷組,把/dev/sda2加進(jìn)去
   2.3 縮減vg
      1)確定要移除的PV;
  2)將此PV上的數(shù)據(jù)轉(zhuǎn)移至其它PV;
 pvmove /path/to/pv
  3)從卷組中將此PV移除;
    格式:vgreduce VG_NAME /PATH/TO/PV
  vgreduce myvg /dev/sdb2 縮減myvg卷組,把/dev/sda2去掉
 3  邏輯卷LV
    3.1 創(chuàng)建、查看、刪除lv
      lvcreate   創(chuàng)建lv               例:lvcreate lv1 /dev/myvg
      lvs        查看lv信息           例:直接在命令行里輸入lvs
      lvdisplay  查看lv詳細(xì)信息       例:vgdisplay lv1
      lvremove   將lv 移除            例:lvremove  /dev/myvg/lv1
   3.2  擴(kuò)展lv

確定擴(kuò)展多大

   確定當(dāng)前邏輯卷所在的卷組有足夠的空閑空間;

    擴(kuò)展:
1、物理邊界
lvextend -L [+]SIZE /path/to/lv
2、邏輯邊界
resize2fs /path/to/device
3.3  縮減lv
確定縮減的大小,但前提是至少能容納原有的所有數(shù)據(jù)。
縮減:
1)卸載并強(qiáng)行檢測(cè)文件系統(tǒng);
e2fsck -f
2)邏輯邊界
resize2fs /path/to/device SIZE
3)物理邊界
lvreduce -L [-]SIZE /path/to/lv
 4、快照卷
1) 生命周期為整個(gè)數(shù)據(jù)時(shí)長(zhǎng);在這段時(shí)長(zhǎng)內(nèi),數(shù)據(jù)的增長(zhǎng)量不能超出快照卷大?。?br/>2) 快照卷應(yīng)該是只讀的;
3) 跟原卷在同一卷組內(nèi);
    lvcreate
         -L    指定快照卷的大小
         -s    創(chuàng)建快照卷
         -p r  創(chuàng)建的快照卷為只讀訪問(wèn)
    格式:
        lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv

三、lv之示例

1、創(chuàng)建一個(gè)分區(qū)

代碼如下:


[root@stau11 ~]# fdisk -l             //查看分區(qū)的情況
 [root@stau11 ~]# fdisk /dev/sda       //進(jìn)行分區(qū)
   Command (m for help): n        //n為添加一個(gè)分區(qū),p查看分區(qū)
 First cylinder (2898-10443, default 2898):    //按【Enter】鍵決定
 Using default value 2898                //起始柱面選擇默認(rèn)  值                                                                                                                                                                                              
  Last cylinder or +size or +sizeM or +sizeK (289810443, default 10443): +2G    //    給2G的大小
Command (m for help): t      //更改分區(qū)類(lèi)型
Partition number (1-5): 5      //選著分區(qū)
Hex code (type L to list codes): l      //分區(qū)類(lèi)型列表
Hex code (type L to list codes):8e     //將新添加的分區(qū)標(biāo)注成lvm
Command (m for help): p              //查看分區(qū)表
/dev/sda5            2756        2999     1959898+  8e  Linux LVM
Command (m for help): w            //保存
[root@localhost ~]# partprobe /dev/sda      //是系統(tǒng)識(shí)別分區(qū)(代替重啟)
[root@localhost ~]# mkfs.ext3 /dev/sda5    //格式化新添加的分區(qū)

2、PV的創(chuàng)建

代碼如下:


[root@localhost ~]# pvcreate /dev/sda5            //創(chuàng)建pv
 Writing physical volume data to disk "/dev/sda5"
 Physical volume "/dev/sda5" successfully created
[root@localhost ~]# pvs                     //查看當(dāng)前pv的信息
 PV         VG   Fmt  Attr PSize PFree
 /dev/sda5       lvm2 a--  1.87G 1.87G

3、VG的創(chuàng)建

代碼如下:


[root@localhost ~]# vgcreate vg0 /dev/sda5    //vg0為當(dāng)前vg的名
 Volume group "vg0" successfully created
[root@localhost ~]# vgs                    //查看vg的信息
 VG   #PV #LV #SN Attr   VSize VFree
 vg0    1   0   0 wz--n- 1.87G 1.87G

4、lv的創(chuàng)建

代碼如下:


[root@localhost ~]# lvcreate -L 500M -n lv01 vg0
 Logical volume "lv01" created
[root@localhost ~]# lvs                    //查看lv的信息
LV   VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
 lv01 vg0  -wi-a- 500.00M                                      
You have mail in /var/spool/mail/root
[root@localhost ~]# mkfs.ext3 /dev/vg0/lv01      //格式化

lvm的使用

5、lv的增大

代碼如下:


[root@localhost ~]# lvextend -L +300M /dev/vg0/lv01  //(原來(lái)lv大小500M ,拉伸分區(qū)到 800M)  Extending logical volume lv01 to 800.00 MB
 Logical volume lv01 successfully resized
[root@localhost ~]# resize2fs /dev/vg0/lv01       //拉伸文件系統(tǒng)
[root@localhost ~]# lvs
 LV   VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
 lv01 vg0  -wi-ao 800.00M       //大小變成了800M

6、lv的減小

代碼如下:


# umount  /dev/vg0/lv01      //卸載邏輯卷/dev/vg0/lv01
 # df -h      //查看
 # e2fsck  -f  /dev/vg0/lv01    //磁盤(pán)校驗(yàn)
 # resize2fs  /dev/vg0/lv01  500M    //回縮文件系統(tǒng)到 500M
 # lvreduce  -L  500M  /dev/vg0/lv01     //回縮分區(qū)到 500M
    WARNING: Reducing active logical volume to 500.00 MB
    THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce lv01? [y/n]: y  
 # lvs
 LV   VG   Attr   LSize   Origin Snap%  Move Log Copy%   Convert
  lv01 vg0  -wi-a- 500.00M          //此時(shí)已變成500M大小
 # mount  /dev/vg0/lv01   /mnt/lv01    //重新掛載分區(qū)
 # df -h     //查看
 # ls /mnt/lv01    //查看文件

四、lvm的系統(tǒng)快照

1、掛載lvm

代碼如下:


[root@localhost ~] # mount /dev/vg0/lv01 /mnt/lv01    
[root@localhost ~]# cd /mnt/lv01
[root@localhost lv01]# touch {a,b,c}{a,b,c}
[root@localhost lv01]# ls
aa  ab  ac  ba  bb  bc  ca  cb  cc  lost+found  lv.file  restoresymtable

2、為lvm創(chuàng)建快照

代碼如下:


[root@localhost lv01]# lvcreate -L 64M -s -n lv-backup /dev/vg0/lv01
 Logical volume "lv-backup" created

3、掛載快照

代碼如下:


[root@localhost lv01]# mkdir /mnt/lv-backup
[root@localhost mnt]# mount -o ro /dev/vg0/lv-backup /mnt/lv-backup/

4、備份快照

代碼如下:


[root@localhost tmp]# dump -0u -f /tmp/lv-backup.dump /mnt/lv-backup/       //備份
DUMP: Date of this level 0 dump: Sun Nov 11 14:53:31 2012
DUMP: Dumping /dev/mapper/vg0-lv--backup (/mnt/lv-backup) to /tmp/lv-backup.dump

5、刪除快照

代碼如下:


[root@localhost tmp]# umount /mnt/lv-backup/
[root@localhost tmp]# lvremove /dev/vg0/lv-backup
Do you really want to remove active logical volume lv-backup? [y/n]: y
Logical volume "lv-backup" successfully removed

6、清空/dev/vg0/lv01下得內(nèi)容

代碼如下:


[root@localhost tmp]# umount /mnt/lv01
[root@localhost tmp]# mkfs.ext3 /dev/vg0/lv01
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux

7、lvm的關(guān)閉

代碼如下:


[root@localhost ~]# umount /mnt/lv01
[root@localhost ~]# lvremove /dev/vg0/lv01  //刪除lv
Do you really want to remove active logical volume lv01? [y/n]: y
 Logical volume "lv01" successfully removed
[root@localhost ~]# vgchange -a n vg0     //使vg0不具有active標(biāo)志
 0 logical volume(s) in volume group "vg0" now active
[root@localhost ~]# vgremove vg0       //刪除vg
 Volume group "vg0" successfully removed
[root@localhost ~]# pvremove /dev/sda5     //刪除pv
 Labels on physical volume "/dev/sda5" successfully wiped

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“l(fā)inux下如何使用lvm”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI