LVM配置

LVM配置

推薦相關文章:

LVM配置

Linux下LVM配置

LVM的定義

LVM: Logical Volume Manager ,邏輯分卷管理器。,可用于管理磁盤驅動或其他類似的大量存儲設備。LVM將一個或多個磁盤的分區在邏輯上集合當做一個磁盤來使用,我們可以根據實際需求增加磁盤,或磁盤分區來擴大空間容量。

LVM基本組成

  • 物理存儲介質(The physical media):這里指系統的存儲設備:硬盤,如:/dev/hda1、/dev/sda等等,是存儲系統最低層的存儲單元。

  • 物理卷(physical volume):物理卷就是指硬盤分區或從邏輯上與磁盤分區具有同樣功能的設備(如RAID),是LVM的基本存儲邏輯塊,但和基本的物理存儲介質(如分區、磁盤等)比較,卻包含有與LVM相關的管理參數。

  • 卷組(Volume Group):LVM卷組類似于非LVM系統中的物理硬盤,其由物理卷組成??梢栽诰斫M上創建一個或多個“LVM分區”(邏輯卷),LVM卷組由一個或多個物理卷組成。

  • 邏輯卷(logical volume):LVM的邏輯卷類似于非LVM系統中的硬盤分區,在邏輯卷之上可以建立文件系統(比如/home或者/usr等)。

  • PE(physical extent):每一個物理卷被劃分為稱為PE(Physical Extents)的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元。PE的大小是可配置的,默認為4MB。

  • LE(logical extent):邏輯卷也被劃分為被稱為LE(Logical Extents) 的可被尋址的基本單位。在同一個卷組中,LE的大小和PE是相同的,并且一一對應。

簡單來說就是:

PV:是物理的磁盤分區

VG:LVM中的物理的磁盤分區,也就是PV,必須加入VG,可以將VG理解為一個倉庫或者是幾個大的硬盤。

LV:也就是從VG中劃分的邏輯分區 ,

LVM的配置過程

1.首先我們先創建幾個分區,注意要將分區類型設置為Linux LVM

    Command (m for help): t #修改命令
    Partition number (1-8): 6
    Hex code (type L to list codes): 8e #選擇分區類型為Linux LVM
    Changed system type of partition 6 to 8e (Linux LVM)

    Command (m for help): w  # 保存退出
    The partition table has been altered!

    Calling ioctl() to re-read partition table.

    WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
    The kernel still uses the old table. The new table will be used at
    the next reboot or after you run partprobe(8) or kpartx(8)
    Syncing disks.
    [root@localhost ~]# partx -a /dev/sda #將修改的磁盤信息更新至內核中

    [root@localhost ~]# fdisk -l #查看磁盤信息,已創建成功

    Disk /dev/sda: 64.4 GB, 64424509440 bytes
    255 heads, 63 sectors/track, 7832 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00074ab5

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1          39      307200   83  Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2              39        4965    39570432   83  Linux
    /dev/sda3            4965        5222     2064384   82  Linux swap / Solaris
    /dev/sda4            5222        7832    20967500    5  Extended
    /dev/sda5            5222        5875     5247866   8e  Linux LVM
    /dev/sda6            5876        6529     5253223+  8e  Linux LVM
    /dev/sda7            6530        7183     5253223+  8e  Linux LVM
    /dev/sda8            7184        7832     5213061   8e  Linux LVM

2.首先來創建PV,先來認識一些PV的管理工具:

  • pvs: 簡要顯示pv格式

  • pvdisplay:顯示pv的詳細信息

  • pvcreate: 創建pv

    [root@localhost ~]# pvcreate /dev/sda5 #將/dev/sda5創建為PV

    [root@localhost ~]# pvdisplay "/dev/sda5" is a new physical volume of "5.00 GiB" — NEW Physical volume — PV Name /dev/sda5 VG Name 
    PV Size 5.00 GiB Allocatable NO PE Size 0 #因為還沒創建VG,所以此時沒有設置PE大小,數量。 Total PE 0 Free PE 0 Allocated PE 0 PV UUID J2ECPI-K90e-vKoH-rCYC-IM11-16W1-fFh7f

此時我們PV就已經創建好了!

3.接下來就開始介紹如何創建VG了,先來介紹一下VG的管理工具

  • vgs:簡要顯示VG信息

  • vgdisplay:顯示VG詳細信息

  • vgcreate -s PE_size /dev/sda#: 創建VG,-s指定PE大小。

    [root@localhost ~]# vgcreate -s 8M myvg /dev/sda5
      Volume group "myvg" successfully created
    [root@localhost ~]# vgdisplay myvg
      --- Volume group ---
      VG Name               myvg
      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               5.00 GiB
      PE Size               8.00 MiB
      Total PE              640
      Alloc PE / Size       0 / 0   
      Free  PE / Size       640 / 5.00 GiB
      VG UUID               DRLdb2-BawM-vO1R-3THE-4h6L-8b12-jxLCX4

此時PV中的PE大小確定,數量也確定下來了。

[root@localhost ~]# pvdisplay /dev/sda5
  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               myvg
  PV Size               5.00 GiB / not usable 4.87 MiB
  Allocatable           yes 
  PE Size               8.00 MiB #看,現在的PE大小就是創建VG時指定的PE大小。
  Total PE              640
  Free PE               640
  Allocated PE          0
  PV UUID               J2ECPI-K90e-vKoH-rCYC-IM11-16W1-fFh7fF

4.現在開始擴展卷組,卷組可以在線擴展,所以可以直接增加一塊新的磁盤分區。并使用磁盤擴展命令。

[root@localhost ~]# pvcreate /dev/sda6 #新增加磁盤分區/dev/sda6
  Physical volume "/dev/sda6" successfully created


[root@localhost ~]# vgextend myvg /dev/sda6 # 將/dev/sda6直接擴展到myvg卷組中
  Volume group "myvg" successfully extended

[root@localhost ~]# vgdisplay myvg
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               10.01 GiB #看,此時卷組大小變成10G了。
  PE Size               8.00 MiB
  Total PE              1281
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1281 / 10.01 GiB
  VG UUID               DRLdb2-BawM-vO1R-3THE-4h6L-8b12-jxLCX4
  1. 如果此時我們想縮減卷組的話,只需兩步,第一,將要移除的PV中的數據轉移到該卷組其他的PV中。第二,使用vgreduce縮減卷組

    [root@localhost ~]# pvmove /dev/sda6 #轉移數據
      No data to move for myvg
    
    [root@localhost ~]# vgreduce myvg /dev/sda6
     Removed "/dev/sda6" from volume group "myvg"
    
    [root@localhost ~]# vgdisplay myvg #移除卷組
      --- Volume group ---
      VG Name               myvg
      System ID             
      Format                lvm2
      Metadata Areas        1
      Metadata Sequence No  3
      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               5.00 GiB  #卷組大小變成了5G
      PE Size               8.00 MiB
      Total PE              640
      Alloc PE / Size       0 / 0   
      Free  PE / Size       640 / 5.00 GiB
      VG UUID               DRLdb2-BawM-vO1R-3THE-4h6L-8b12-jxLCX4

6.最后我們可以來創建LV了,先來介紹LV的管理工具:

  • lvs:簡要介紹LV

  • lvdisplay:顯示LV詳細信息

  • lvcreate -L SIZE LV_Name

    • -l 指明盤區的數量,Logical Extents

    • -n NAME VolumeGroup

以下是示例:

[root@localhost ~]# lvcreate -L 2G -n mylv myvg
Logical volume "mylv" created
[root@localhost ~]# ls /dev/mapper
control  myvg-mylv  ##此時,我們就可以確認LV已經創建好了。


[root@localhost ~]# mke2fs -t ext4 -b 1024 -L MYLV /dev/myvg/mylv
mke2fs 1.41.12 (17-May-2010)
Filesystem label=MYLV
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 2097152 blocks
104857 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=69206016
256 block groups
8192 blocks per group, 8192 fragments per group
512 inodes per group
Superblock backups stored on blocks: 
    8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553, 
    1024001, 1990657

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

7.現在我們就可以進行掛載和創建文件系統了。

[root@localhost ~]# mkdir /backup
[root@localhost ~]# mount /dev/myvg/mylv /backup/
[root@localhost ~]# ls /backup/
lost+found
[root@localhost ~]# mount
/dev/mapper/myvg-mylv on /backup type ext4 (rw) #已掛載完成

8.最后補充一點,如何擴展和縮減邏輯卷

邏輯卷支持在線擴展

[root@localhost ~]# lvextend -L 5G /dev/myvg/mylv #直接指定擴展到5G,也可以使用 -L +2G,表示擴展2G。
  Extending logical volume mylv to 5.00 GiB
  Logical volume mylv successfully resized
[root@localhost ~]# df -lh #顯示分區大小信息。
Filesystem             Size  Used Avail Use% Mounted on
/dev/sda2               38G  2.5G   33G   7% /
tmpfs                  504M   84K  504M   1% /dev/shm
/dev/sda1              291M   33M  244M  12% /boot
/dev/mapper/myvg-mylv  2.0G   36M  1.9G   2% /backup

注意此時LV大小未改變,這是因為我們現在僅僅擴展了LV的大小,而并沒有擴展文件系統的大小,所以此時顯示的仍是文件系統的空間大小。

[root@localhost ~]# resize2fs /dev/myvg/mylv 擴展文件系統到LV的最大邊界,也可指定大小
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/myvg/mylv is mounted on /backup; on-line resizing required
old desc_blocks = 8, new_desc_blocks = 20
Performing an on-line resize of /dev/myvg/mylv to 5242880 (1k) blocks.
^[[BThe filesystem on /dev/myvg/mylv is now 5242880 blocks long.

[root@localhost ~]# df -lh
Filesystem             Size  Used Avail Use% Mounted on
/dev/sda2               38G  2.5G   33G   7% /
tmpfs                  504M   84K  504M   1% /dev/shm
/dev/sda1              291M   33M  244M  12% /boot
/dev/mapper/myvg-mylv  5.0G   36M  4.7G   1% /backup #看,現在大小變成5G了吧。

縮減邏輯卷

首先要縮減文件系統大小至指定大小,此時必須要先卸載文件系統,然后做文件系統的強制檢測和修復,縮減文件系統并指明大小。最后縮減邏輯卷

[root@localhost ~]# umount /dev/myvg/mylv 
#卸載文件系統
[root@localhost ~]# e2fsck -f /dev/myvg/mylv 
#強制檢測修復
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
MYLV: 11/327680 files (0.0% non-contiguous), 119693/5242880 blocks

[root@localhost ~]# resize2fs /dev/myvg/mylv 3G
#縮減文件系統至指定大小
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/myvg/mylv to 3145728 (1k) blocks.
The filesystem on /dev/myvg/mylv is now 3145728 blocks long.

[root@localhost ~]# lvreduce -L 3G /dev/myvg/mylv 
#縮減LV至指定大小
  WARNING: Reducing active logical volume to 3.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce mylv? [y/n]: y
  Reducing logical volume mylv to 3.00 GiB
  Logical volume mylv successfully resized

[root@localhost ~]# mount /dev/myvg/mylv /backup/
#重新掛載
[root@localhost ~]# df -lh
Filesystem             Size  Used Avail Use% Mounted on
/dev/sda2               38G  2.5G   33G   7% /
tmpfs                  504M   84K  504M   1% /dev/shm
/dev/sda1              291M   33M  244M  12% /boot
/dev/mapper/myvg-mylv  3.0G   36M  2.8G   2% /backup #看,此時大小縮減了

創建快照卷快照

快照: snapshot

  • 關鍵是瞬間完成。

  • 創建快照及瞬間產生一個監控對方的監視器。

  • 快照卷是訪問原卷的另一個訪問路徑,若元卷發生變化,則將元卷要發生變化的元數據復制一份至快照卷中,要訪問未改變的數據時則訪問元卷。

  • 快照卷與元卷必須在同一卷組中。

    [root@localhost ~]# lvcreate -s -L 512M -n mylv-snap -p r /dev/myvg/mylv 
      Logical volume "mylv-snap" created
    [root@localhost ~]# mount /dev/myvg/mylv-snap /mnt
    mount: block device /dev/mapper/myvg-mylv--snap is write-protected, mounting read-only

刪除LVM

    [root@localhost ~]# umount /dev/myvg/mylv 
    #卸載文件系統
    [root@localhost ~]# lvremove /dev/myvg/mylv 
    Do you really want to remove active logical volume mylv? [y/n]: y
      Logical volume "mylv" successfully removed

    [root@localhost ~]# vgremove myvg
      Volume group "myvg" successfully removed
    #刪除VG
    [root@localhost ~]# pvremove /dev/sda5
      Labels on physical volume "/dev/sda5" successfully wiped
    #刪除PV
    [root@localhost ~]# pvremove /dev/sda6
      Labels on physical volume "/dev/sda6" successfully wiped
    #刪除PV

原創文章,作者:21期-揚州-藍,如若轉載,請注明出處:http://www.www58058.com/24270

(0)
21期-揚州-藍21期-揚州-藍
上一篇 2016-07-16
下一篇 2016-07-16

相關推薦

  • 【福利分享】微鯨科技 base 上海張江 50w

    招聘公司:微鯨科技 招聘職位:高級運維工程師 官網:http://www.whaley.cn/aboutus/ 地址:上海市浦東新區盛夏路666號盛銀大廈E座3樓 推薦人:  高級運維工程師(大數據)1 工作職責: 1. 負責Hadoop、HBase、spark等大數據平臺的規劃、部署、監控、系統優化等工作2. 負責公司大數據平…

    Linux職位 2016-12-01
  • 文本編輯三劍客之gawk

     awk 本章內容: awk介紹 awk基本用法 awk變量 awk格式化 awk操作符 awk條件判斷 awk循環 awk數組 awk函數 調用系統命令 1.awk介紹 ★ Linux 文本處理工具三劍客:grep、sed、awk。其中grep是一種文本過濾工具;sed是文本行編輯器,而awk是一種報表生成器,就是對文件進行格式化處理的…

    Linux干貨 2016-09-24
  • Ansible+Corosync+Pacemaker+nfs實現http高可用

    目錄: (一)實驗環境 (二)準備工作 (三)為node1和node2配置基礎配置 (四)使用ansible部署nfs (五)使用ansible部署corosync和pacemaker (六)使用ansible安裝crmsh工具 (七)使用crmsh配置http高可用 (八)驗證 (九)需要注意的地方 (一)實驗環境 1.1、環境拓撲 1.2、所需系統 4臺…

    Linux干貨 2016-04-29
  • 【26期】Linux第八周學習小總結

        前言     本周的學習已經過去了,雖然本周學習中老師一直都有說,哎呀,這個不重要,以后有網絡管理員給你們來做,了解一下就行,然而話鋒一轉就又說,其實小公司沒有網絡管理員,如果你們不好好學,以后就會做得更多更雜的工作,這一周的知識點基本上都是在一個pdf上的,大概有200…

    2017-09-02
  • shell腳本基礎

    1、編程基礎     程序:指令+數據   程序編程風格:                         過程式:以指令為中心,數據服務于指令         &nbs…

    2017-04-20
  • N25第一周作業

    第一周作業 一、計算機由硬件系統和軟件系統兩部分組成如下: 計算機硬件由CPU、內存、輸入設備、輸出設備組成。 1、中央處理器(CPU,Central Processing Unit)   CPU的功能主要是對輸入指令的判斷和運算;CPU包括運算器、控制器和寄存器三部分; (1)、運算器   執行各種算術和邏輯運算操作,計算機運行時,運算…

    Linux干貨 2016-12-05

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-07-17 20:12

    寫的很好,排版也很漂亮,加油

欧美性久久久久