邏輯卷LVM

邏輯卷LVM

簡介

    在實際生產應用中,磁盤的分區的容量是固定不變的,當出現分區容量不足的情況,除了新加磁盤,還有沒有其他方法呢?
    邏輯卷(LVM)的概念就出現了,全稱叫Logical Volume Manager。它的作用是允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小。
    LVM最大的特點是可以對磁盤進行動態管理,在不會丟失原有磁盤數據的同時,又可以對邏輯卷大小進行調整,大大提高了磁盤管理的靈活性。
    LVM的實現原理:
邏輯卷LVM

邏輯卷的實現

    之前實驗我們創建了一個RAID-5,邏輯卷我們使用RAID設備、分區和磁盤來進行模擬

    1、創建PV:pvcreate
    [root@centos6 ~]#pvcreate /dev/md5 /dev/sdf /dev/sda6
    Physical volume “/dev/md5” successfully created
    Physical volume “/dev/sdf” successfully created
    Physical volume “/dev/sda6” successfully created
    查看:pvdisplay
    還可以使用命令pvs 和pvscan 查看簡略信息。
邏輯卷LVM

    2、創建vg:vgcreate
邏輯卷LVM

    創建完成后再看一下PV可以看到三塊物理卷被劃入到同一個卷組vg0中去了。

    3、創建Lv:lvcreate
    [root@centos6 ~]#lvcreate -n lv0 -L 8G vg0        <==-n是指定LV的名字,-L 指定要創建的邏輯卷的大小
    Logical volume “lv0” created.
    mkfs.ext4 /dev/vg0/lv0                                     <==創建文件系系統
    mount /dev/vg0/lv0 /mnt/lv0                             <==掛載,創建完畢。

LVM的擴展

    前提:為了驗證動態擴容對數據不影響,我們先拷貝點資料到/mnt/lv0
    cp /etc/* /mnt/lv0
    1、查看卷組有沒有空間
    [root@centos6 ~]#vgs
    VG   #PV #LV #SN Attr   VSize  VFree
    vg0    3   1   0 wz–n- 16.97g 8.97g                        <==還有將近9G的空間
    2、指定擴展的大小
    [root@centos6 ~]#lvextend -L +5G  /dev/vg0/lv0    <==注意:這里指定大小的時候,如果不寫“+”,就是指將LV的空間加到多少,有了“+”就是加多少
    Size of logical volume vg0/lv0 changed from 8.00 GiB (2048 extents) to 13.00 GiB (3328 extents).
    Logical volume lv0 successfully resized.
    [root@centos6 ~]#vgs
    VG   #PV #LV #SN Attr   VSize  VFree
    vg0    3   1   0 wz–n- 16.97g 3.97g            <==VG卷組還剩4G
    [root@centos6 ~]#lvs
    LV   VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lv0  vg0  -wi-ao—- 13.00g                        <==LV0的大小變成13=8+5
    這個注意:現在新增空間雖然加到LV0上去了,但是df -h依然顯示原來的容量,因為新增的空間上并沒有創建文件系統,所以導致系統無法識別。
    3、resize2fs /dev/vg0/lv0                         <==同步文件系統,df -h才可以擴容后的大小。查看數據并未丟失。

    上面的情況是卷組VG有剩余空間,萬一卷組也沒有空間了呢?這時候就需要添加VG
    1、pvcreate /dev/sdg
    2、vgextend vg0 /dev/sdg                               <==把/dev/sdg擴展到vg0,這個時候就可以個需要擴容的LV擴容了。

LV的縮減

    注意:xfs的文件系統無法縮減
    1、umount /mnt/lv0                                       <==取消掛載
    2、fsck -f /dev/vg0/lv0                                   <==檢查文件系統,必須要做的
    3、resize2fs /dev/vg0/lv0 5G                           <==縮減文件系統
    4、lvreduce -L 5G /dev/vg0/lv0                        <==這里的大小必須和第三步縮減的文件系統大小一致
    5、mount /dev/vg0/lv0  /mnt/lv0/                    <==重新掛載

VG、PV的縮減

    1、umount /mnt/lv0/                                      <==取消掛載
    2、pvmove /dev/sdg                                      <==移除空間,確保卷組中有足夠空間放/dev/sdg的空間
    3、vgreduce vg0 /dev/sdg                              <==將/dev/sdg從vg0中移除
    4、pvremove /dev/sdg                                    <==從物理卷中刪除

LVM快照

    前提:寫入測試數據
    [root@centos6 lv0]#cp /etc/fstab f1
    [root@centos6 lv0]#cp /etc/fstab f2
    [root@centos6 lv0]#cp /etc/fstab f3

創建快照

    1、lvcreate -n lv0-snapshot -s -L 100M -p r /dev/vg0/lv0 
    -n lv0-snapshot:指定一個快照名字
    -s:s表示快照
    -L 100M:指定大小
    -p r:指定只讀屬性
    /dev/vg0/lv0:對哪個設備做快照
    2、mount /dev/vg0/lv0-snapshot /mnt/snap/        <==掛載
    [root@centos6 ~]#cd /mnt/snap/
    [root@centos6 snap]#ls
    f1  f2  f3  lost+found
    [root@centos6 snap]#cd /mnt/lv0/
    [root@centos6 lv0]#ls
    f1  f2  f3  lost+found                                          <==此時快照中還沒有數據
    3、修改和刪除原來LV中的數據,會講舊的數據推送到/mnt/snap/,并且只保留舊數據。新創建數據不會推送。

還原

    1、取消掛載
    [root@centos6 ~]#umount /mnt/lv0
    [root@centos6 ~]#umount /mnt/snap
    2、[root@centos6 ~]#lvconvert –merge /dev/vg0/lv0-snapshot         <==拿快照合并數據,合并完快照的邏輯卷消失了。
    Merging of volume lv0-snapshot started.
    lv0: Merged: 100.0%
    Merge of snapshot into logical volume lv0 has finished.
    Logical volume “lv0-snapshot” successfully removed
    3、再次掛載mount /dev/vg0/lv0 /mnt/lv0/,發現數據恢復。

LVM刪除

    1、lvremove /dev/vg0/lv0 
    2、vgremove /dev/vg0
    3、pvremove   /dev/md5 /dev/sda6  /dev/sdf /dev/sdg
    注意:創建的時候是從PV-VG-LV,刪除的時候過程相反。

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

(0)
eleveneleven
上一篇 2017-08-12
下一篇 2017-08-12

相關推薦

  • 馬哥教育網絡班25期-第2周作業

    一、Linux文件管理類命令: (1)ls             list 用來顯示目錄列表             …

    Linux干貨 2016-12-12
  • Linux發展史

    Linux發展史 操作系統出現前:   1946年第一臺計算機誕生–20世紀50年代中期,還未出現操作系統,計算機工作采用手工操作方式。程序員將對應于程序和數據的已穿孔的紙帶(或卡片)裝入輸入機,然后啟動輸入機把程序和數據輸入計算機內存,接著通過控制臺開關啟動程序針對數據運行;計算完畢,打印機輸出計算結果;用戶取走結果并卸下紙帶(或卡片…

    Linux干貨 2016-10-14
  • Mozart的劍(文本處理工具)——叁劍(grep、正則表達式)

    之前的句子 煙鎖池塘柳 炮鎮海城樓 因荷而得藕 有杏不需梅 認識于小林寒風的一篇小說《鳳山遺夢》 grep grep是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。 作用:文本搜索工具,根據用戶指定的“模式”對目標文本逐行進行匹配檢查;打印匹配到的行。模式:由正則表達式字符及文本字符所編寫的過濾條件 用法: grep [OPTIO…

    2017-08-03
  • 磁盤管理

    linux的哲學思想:一切皆文件; 設備類型: 塊(block):隨機訪問,交換數據單位是“塊”; 字符(character):線性訪問,數據交換單位是“字符”; 設備文件:FHS /dev     設備文件:關聯至設備驅動程序;設備的訪問入口;       &nbsp…

    Linux干貨 2016-08-30
  • 基于nginx實現7層http的負載均衡

    一、實驗環境實驗環境為三臺服務器:1. nginx負載均衡器1. 內網ip:192.168.11.1002. 外網ip:172.16.251.892. 提供網頁服務的RS-1服務器:192.168.11.2013. 提供網頁服務的RS-2服務器:192.168.11.2024. 拓撲如下:二、實驗配置后臺服務器配置:1. 后臺提供網頁服務的兩臺服務器配置:y…

    Linux干貨 2017-06-29
  • Linux 發展史

    摘要:     Linux是一款基于Unix的服務端操作系統,目前已廣泛應用于國內外的服務器端操作系統領域,其開源性是其獲得及其快速的發展,目前至少已有數百種發行版本。 本文主要講述了linux的系統簡介、發展歷程和Linux的發行版;     1、Linux的哲學思想:    &nbsp…

    Linux干貨 2016-10-19
欧美性久久久久