LVM2學習總結

LVM2(Logical Volume Manager 2)

原理:

將底層的物理硬盤抽象地封裝起來,以邏輯卷的方式呈現給上層應用,但對于文件系統而言,對LVM的操作與對硬盤分區的操作并無差別。

實現基礎:

Linux內核的Device mapper機制,將一個或多個底層塊設備組織成一個邏輯設備

LVM2學習總結

基本元素:

  • PP(Physical Partition):物理分區,如硬盤的分區、RAID磁盤陣列

  • PV(Physical Volume):是對底層磁盤的抽象層,是組成VG的基本邏輯單元

  • PE(Physical Extends):物理擴展單元,是PV的基本劃分單元

  • VG(Volume Group):卷組,由PV組成,是LVM的存儲池

  • LE(Logical Extends):邏輯擴展單元,是LV的基本組成單元,與PE一一對應

  • LV(Logical Volume):邏輯卷,位于VG之上,文件系統之下

優缺點

優點:

  • 可以實現對上層文件系統的動態擴展

  • 突破磁盤限制,文件系統可以跨度多個物理磁盤

  • 可以實現以鏡像方式冗余數據到多個物理磁盤

  • 可以實現對卷組的導出和導入

缺點

  • 當卷組中的物理磁盤損壞是,會引起整個卷組故障

  • 從卷組中移除物理磁盤時必須使用reducevg,否則會出問題

  • 僅支持有限個文件系統的縮減操作

  • 因加入額外操作,存儲性能將受到影響

設備文件

/dev/mapper/VGNAME-LVNAME –> /dev/dm-# /dev/VGNAME/LVNAME –> /dev/dm-#

創建LVM邏輯卷:物理磁盤–>PV–>VG–>LV–>格式化

  1. 將物理磁盤創建為PV

    [root@CentOS7 ~]# pvcreate /dev/sdb1 //--> pvcreate /dev/DEVICE 創建PV
    WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y
      Wiping ext4 signature on /dev/sdb1.
      Physical volume "/dev/sdb1" successfully created
    [root@CentOS7 ~]# pvs /dev/sdb1 //--> pvs 查看當前PV的信息
      PV         VG   Fmt  Attr PSize  PFree 
      /dev/sdb1       lvm2 ---  10.00g 10.00g
    [root@CentOS7 ~]# pvdisplay /dev/sdb1 //--> pvdisplay 查看PV的詳細信息
      "/dev/sdb1" is a new physical volume of "10.00 GiB"
      --- NEW Physical volume ---
      PV Name               /dev/sdb1
      VG Name               
      PV Size               10.00 GiB
      Allocatable           NO
      PE Size               0   
      Total PE              0
      Free PE               0
      Allocated PE          0
      PV UUID               iqzxgD-TV0Z-j8qF-cBD9-qk2v-EQJc-KJc1X6
  2. 創建VG

    [root@CentOS7 ~]# vgcreate test /dev/sdb1 //-->vgcreate [-s #[kKmMgGtTpPeE]] VG_NAME PhysicalDevicePath 創建VG
      Volume group "test" successfully created
    [root@CentOS7 ~]# vgs //-->vgs 查看VG的信息
      VG     #PV #LV #SN Attr   VSize  VFree 
      centos   1   2   0 wz--n- 19.51g 40.00m
      test     1   0   0 wz--n- 10.00g 10.00g
    [root@CentOS7 ~]# vgdisplay test//-->查看VG的詳細信息
      --- Volume group ---
      VG Name               test
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  1
      VG Access             read/write
      VG Status             resizable
      MAX LV                0
      Cur LV                0
      Open LV               0
      Max PV                0
      Cur PV                1
      Act PV                1
      VG Size               10.00 GiB
      PE Size               4.00 MiB
      Total PE              2559
      Alloc PE / Size       0 / 0   
      Free  PE / Size       2559 / 10.00 GiB
      VG UUID               KBNCQ1-fT34-5VPp-FFUX-tz7I-NpPL-m2AZu1
  3. 創建LV

    [root@CentOS7 ~]# lvcreate -L 2G -n hello test //-->lvcreate -L #[mMgGtT] -n NAME VolumeGroup 創建LV
      Logical volume "hello" created.                                                    
    [root@CentOS7 ~]# lvs /dev/test/hello //-->lvs 查看LV信息
      LV    VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
      hello test -wi-a----- 2.00g                                                    
    [root@CentOS7 ~]# lvdisplay !$ //--> lvdisplay 查看LV詳細信息
    lvdisplay /dev/test/hello
      --- Logical volume ---
      LV Path                /dev/test/hello
      LV Name                hello
      VG Name                test
      LV UUID                VyDN1C-4VUe-fQRd-iD18-bq35-pgR4-C1hY1X
      LV Write Access        read/write
      LV Creation host, time CentOS7, 2016-08-18 21:04:44 +0800
      LV Status              available
      # open                 0
      LV Size                2.00 GiB
      Current LE             512
      Segments               1
      Allocation             inherit
      Read ahead sectors     auto
      - currently set to     8192
      Block device           253:2
  4. 格式化邏輯卷:在使用邏輯卷之前要進行格式化,而后掛載使用。

刪除邏輯卷

邏輯卷的刪除有嚴格的順序:卸載邏輯卷–>刪除LV–>刪除VG–>刪除LV

umount MOUNTPOINT–>lvremove /dev/VGNAME/LVNAME–>vgremove /dev/VGNAME–>pvremove /dev/DEVICE

擴展邏輯卷:可以在線進行,無需卸載卷

  1. 擴展PV

    # pvcreate /dev/DEVICE
  2. 擴展VG

    # vgextend VG_NAME /dev/DEVICE
  3. 擴展LV

    # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
  4. 更新文件系統

    # resize2fs /dev/VG_NAME/LV_NAME

縮減邏輯卷

  1. 卸載卷

    # umount MOUNT_POINT
  2. 檢查文件系統

    # e2fsck -f /dev/VG_NAME/LV_NAME
  3. 縮減文件系統

    # resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
  4. 縮減LV

    # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
  5. 從VG中移除PV

    # vgreduce VG_NAME /dev/DEVICE
  6. 移除PV

    # pvremove /dev/DEVICE

創建快照:snapshot

    lvcreate -L #[mMgGtT] -p r -s -n snapshot_lv_name original_lv_name

    注意:創建快照時不能跨分區,相當于硬鏈接??煺张c原卷在同一個卷組中。

原創文章,作者:Jeason,如若轉載,請注明出處:http://www.www58058.com/37836

(1)
JeasonJeason
上一篇 2016-08-22
下一篇 2016-08-22

相關推薦

  • 第五周 練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell; 1.  egrep "^(root|user1|fedora)" /etc/passwd|cut –d: –f7   2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:h…

    Linux干貨 2016-11-28
  • Linux Bash Shell練習

    Linux Bash Shell練習 1、寫一個腳本,完成以下功能: 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串 分別統計S開頭和K開頭的文件各有多少 #!/bin/bash # for&…

    Linux干貨 2016-12-17
  • 第一周學習作業

    課后作業 1.描述計算機的組成及其功能。 計算機主要由硬件和軟件兩大部分組成。 硬件 CPU:又叫中央處理器,其主要功能是進行運算和邏輯運算。 主板:是電腦各個配件的連接平臺,電腦的CPU、內存和控制核心電路均安裝在主板上。 內存:又稱為動態存儲器,主要用于存儲電腦運行中的數據。 顯卡:用于向顯示器輸出信號的設備。 硬盤:是一種最為常見的外存儲器,具有超大容…

    Linux干貨 2016-11-30
  • N21-天天-第八周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 主要功能: 網橋將兩個相似的網絡連接起來,并對網絡數據的流通進行管理。它工作于數據鏈路層,不但能擴展網絡的距離或范圍,而且可提高網絡的性能、可靠性和安全性。 集線器的英文稱為“Hub”。主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離,同時把所有節點集中在以它為中心…

    Linux干貨 2016-08-29
  • HA cluster應用—CoroSync+Pacemaker

    HA cluster應用——CoroSync v2 (quorum system)+Pacemaker (standalone daemon)+ crmsh/pcsh corosync簡述: Corosync是OpenAIS發展到Wilson版本后衍生出來的開放性集群引擎工程??梢哉fCorosync是OpenAIS工程的一部分。OpenAIS從openais…

    2016-11-27
  • httpd 2.2(Apache Web服務器)

    apache (Web服務器) 簡介: Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠并且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。    Apache HTTP服務器是一個模塊化的服…

    Linux干貨 2016-03-30
欧美性久久久久