LVM 邏輯卷管理器-縮小LV容量及快照區的建立

LVM 邏輯卷管理器-縮小LV容量

將/dev/sdb2分區抽離出來,縮小LV容量

(1)首先查看/dev/sdb2的容量大小

[root@centos6 ~]# df -h /mnt/lvm/
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg_1-lv_1   20G  170M   19G   1% /mnt/lvm
[root@centos6 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               vg_1
  PV Size               5.01 GiB / not usable 10.13 MiB
  Allocatable           yes (but full)
  PE Size               16.00 MiB
  Total PE              320
  Free PE               0
  Allocated PE          320
  PV UUID               Mh3pG8-PHQG-Yexz-PYw0-Jtel-oBWb-lSBdG3
  ...以下省略...
  #從這里可以看出/dev/sdb2容量是5G,有320個PE
[root@centos6 ~]# pvscan
  PV /dev/sdb2   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb3   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb1   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb5   VG vg_1   lvm2 [5.00 GiB / 0    free]
  Total: 4 [20.00 GiB] / in use: 4 [20.00 GiB] / in no VG: 0 [0   ]

(2)直接降低文件系統的容量

[root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_1/lv_1 is mounted on /mnt/lvm; on-line resizing required
On-line shrinking from 5242880 to 3840000 not supported.
[root@centos6 ~]# df -h /mnt/lvm/
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg_1-lv_1   20G  170M   19G   1% /mnt/lvm
#查找文件系統變沒有縮小,是因為增大LVM容量可以在線直接進行,縮小文件系統則無法支持,所以要先卸載/mnt/lvm,然后再縮小。
[root@centos6 ~]# umount /mnt/lvm/
[root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/vg_1/lv_1' first.
#系統讓我們執行“e2fsck -f /dev/vg_1/lv_1”命令進行磁盤檢查
[root@centos6 ~]# e2fsck -f /dev/vg_1/lv_1 
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
/dev/vg_1/lv_1: 12/1310720 files (0.0% non-contiguous), 125586/5242880 blocks
[root@centos6 ~]# resize2fs /dev/vg_1/lv_1 15000M    #再執行一次resize2fs
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg_1/lv_1 to 3840000 (4k) blocks.
The filesystem on /dev/vg_1/lv_1 is now 3840000 blocks long.
[root@centos6 ~]# mount /dev/vg_1/lv_1 /mnt/lvm
[root@centos6 ~]# df /mnt/lvm/
Filesystem            1K-blocks   Used Available Use% Mounted on
/dev/mapper/vg_1-lv_1  15117312 169460  14183840   2% /mnt/lvm
[root@centos6 ~]# df -h /mnt/lvm/
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/vg_1-lv_1   15G  166M   14G   2% /mnt/lvm
#查看文件系統容量已經變成15G

(3)降低LV的容量,抽離/dev/sdb2,它有320個PE

[root@centos6 ~]# lvresize -l -320 /dev/vg_1/lv_1 
  WARNING: Reducing active and open logical volume to 15.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_1? [y/n]: y
  Reducing logical volume lv_1 to 15.00 GiB
  Logical volume lv_1 successfully resized
[root@centos6 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg_1/lv_1
  LV Name                lv_1
  VG Name                vg_1
  LV UUID                n2bChT-rimu-eRDs-5onU-mgUF-ukuh-NqO7me
  LV Write Access        read/write
  LV Creation host, time centos6.5, 2016-09-09 19:04:37 +0800
  LV Status              available
  # open                 1
  LV Size                15.00 GiB
  Current LE             960
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
 #這樣LV就成功縮小了,接下來就是將/dev/sdb2移出vg_1這個VG之外。

(4)先確認/dev/sdb2是否將PE都移除了;

[root@centos6 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               vg_1
  PV Size               5.01 GiB / not usable 10.13 MiB
  Allocatable           yes (but full)
  PE Size               16.00 MiB
  Total PE              320
  Free PE               0
  Allocated PE          320
  PV UUID               Mh3pG8-PHQG-Yexz-PYw0-Jtel-oBWb-lSBdG3
 ...中間省略...
  --- Physical volume ---
  PV Name               /dev/sdb5
  VG Name               vg_1
  PV Size               5.01 GiB / not usable 10.10 MiB
  Allocatable           yes 
  PE Size               16.00 MiB
  Total PE              320
  Free PE               320
  Allocated PE          0
  PV UUID               dAooQM-wYka-uR1v-Hccl-7HH1-ljTB-Yhjaif
 #沒有被使用的PE竟然在/dev/sdb5,此時得要搬移PE;
[root@centos6 ~]# pvmove /dev/sdb2 /dev/sdb5
  /dev/sdb2: Moved: 0.0%
  /dev/sdb2: Moved: 13.8%
  /dev/sdb2: Moved: 27.8%
  /dev/sdb2: Moved: 41.6%
  /dev/sdb2: Moved: 55.6%
  /dev/sdb2: Moved: 66.9%
  /dev/sdb2: Moved: 81.2%
  /dev/sdb2: Moved: 94.7%
  /dev/sdb2: Moved: 100.0%
#pvmove 來源PV 目標PV,將/dev/sdb2內的PE通通移至/dev/sdb5;
[root@centos6 ~]# vgreduce vg_1 /dev/sdb2   #將/dev/sdb2移出vg_1中;
  Removed "/dev/sdb2" from volume group "vg_1"
[root@centos6 ~]# pvscan
  PV /dev/sdb3   VG vg_1            lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb1   VG vg_1            lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb5   VG vg_1            lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb2                      lvm2 [5.01 GiB]
  Total: 4 [20.01 GiB] / in use: 3 [15.00 GiB] / in no VG: 1 [5.01 GiB]
[root@centos6 ~]# pvremove /dev/sdb2    #刪除/dev/sdb2 PV
  Labels on physical volume "/dev/sdb2" successfully wiped
[root@centos6 ~]# pvscan
  PV /dev/sdb3   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb1   VG vg_1   lvm2 [5.00 GiB / 0    free]
  PV /dev/sdb5   VG vg_1   lvm2 [5.00 GiB / 0    free]
  Total: 3 [15.00 GiB] / in use: 3 [15.00 GiB] / in no VG: 0 [0   ]
#這樣文件系統以及實際的LV與VG通通變小了,而且/dev/sdb2已經可以拿出來進行其他用途了;

5、LVM快照區的建立

由于快照區與原本的 LV 共享很多PE區塊,因此快照區與被快照的LV必項要在同一個VG上。但是我們剛剛將/dev/sdb2移除vg_1了,目前vg_1剩下的容量為0!因此,在里面我們得要再加入/dev/sdb2 到vg_1后,才能繼續建立快照區。

(1)查看vg_1還剩下多少容量

[root@centos6 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_1
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  31
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               15.00 GiB
  PE Size               16.00 MiB
  Total PE              960
  Alloc PE / Size       960 / 15.00 GiB
  Free  PE / Size       0 / 0      #沒有多余的PE可用
  VG UUID               NpO8m2-s4rx-WOIA-SbCt-yqQV-MU1w-wru4cS

(2)將/dev/sdb2加入到vg_1中;

[root@centos6 ~]# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created
[root@centos6 ~]# vgextend vg_1 /dev/sdb2
  Volume group "vg_1" successfully extended
[root@centos6 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg_1
  System ID             
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  32
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               20.00 GiB
  PE Size               16.00 MiB
  Total PE              1280
  Alloc PE / Size       960 / 15.00 GiB
  Free  PE / Size       320 / 5.00 GiB    #多出了320個PE可用
  VG UUID               NpO8m2-s4rx-WOIA-SbCt-yqQV-MU1w-wru4cS

(4)利用lvcreate建立系統快照區,取名snaps,且給予100PE

[root@centos6 ~]# lvcreate -l 100 -s -n snaps /dev/vg_1/lv_1 
  Logical volume "snaps" created
# -s:選項代表是snapshot快照功能意思;
# -n:選項后面接快照的名稱;
# /dev/vg_1/lv_1 則是被快照的LV完整的名稱;
# -l:選項則是接使用多少個PE來作為這個快照區使用;
[root@centos6 ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vg_1/lv_1
  LV Name                lv_1
  VG Name                vg_1
  LV UUID                n2bChT-rimu-eRDs-5onU-mgUF-ukuh-NqO7me
  LV Write Access        read/write
  LV Creation host, time centos6.5, 2016-09-09 19:04:37 +0800
  LV snapshot status     source of
                         snaps [active]
  LV Status              available
  # open                 1
  LV Size                15.00 GiB    
  Current LE             960
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/vg_1/snaps
  LV Name                snaps
  VG Name                vg_1
  LV UUID                aCR4bc-n5ib-3iPW-la18-bQZL-EdJS-8f7lZD
  LV Write Access        read/write
  LV Creation host, time centos6.5, 2016-09-10 02:33:19 +0800
  LV snapshot status     active destination for lv_1
  LV Status              available
  # open                 0
  LV Size                15.00 GiB   #被快照的原LV磁盤容量
  Current LE             960    
  COW-table size         1.56 GiB   #快照區的實際容量 
  COW-table LE           100    #快照區占用的PE數量
  Allocated to snapshot  0.00%
  Snapshot chunk size    4.00 KiB
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
#這樣/dev/vg_1/snaps快照區就被建立起來了!而且它的VG容量竟然與/dev/vg_1/lv_1容量相同,也就是說,如果掛載這個裝置,看到的數量會跟原本/dev/vg_1/lv_1相同;
[root@centos6 ~]# mkdir /mnt/snapshot
[root@centos6 ~]# mount /dev/vg_1/snaps /mnt/snapshot/
[root@centos6 ~]# df -h
Filesystem              Size  Used Avail Use% Mounted on
/dev/sda3                16G  1.5G   14G  11% /
tmpfs                   112M     0  112M   0% /dev/shm
/dev/sda1               194M   29M  155M  16% /boot
/dev/mapper/vg_1-lv_1    15G  166M   14G   2% /mnt/lvm
/dev/mapper/vg_1-snaps   15G  166M   14G   2% /mnt/snapshot

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

(2)
zhuckeezhuckee
上一篇 2016-09-19 13:47
下一篇 2016-09-19 13:47

相關推薦

  • Linux的誕生史

    Linux誕生史 遠古記憶-UNIX的誕生 Multics計劃—開始 這是由麻省理工學院,通用電氣和AT&T的貝爾實驗室合作的操作系統項目,用于使用在GE-645大型主機上的。但是由于整個目標過于龐大,Multics雖然發布了一些產品,但是性能都很低,AT&T退出了Mulitcs項目,計劃終止???湯姆遜當時也參加了這個項目,很不…

    2017-07-11
  • 人志建,則無敵—磁盤、LVM2和簡單腳本練習

    馬哥網絡班21期-第七周博客 1、創建一個10G分區,并格式為ext4文件系統;  disk /dev/sdb         Command (m for help): n    &nbs…

    Linux干貨 2016-08-19
  • linux 網路管理路由和team網絡組

    如何實現把linux當路由器來使用,實現不同網段之間的通信訪問,這就是今天所要實現的路由配置   環境準備:4臺虛擬機,兩臺中間兩臺作為路由器來使用(每天主機兩塊網卡),其他兩臺作為終端主機,目的是讓不同網段的兩臺主機之間互相訪問(這里在vmware里面做的實驗,所以網卡的類型都設置為橋接)   拓撲圖:   步驟一:將A、D兩…

    Linux干貨 2017-05-07
  • 關于取路徑名與基名的探討和擴展-20160806

                          關于取路徑名與基名的探討和擴展     這兩天學習grep  ,   egrep  ,  sed  &nb…

    Linux干貨 2016-08-07
  • 淺談正則表達式

    1.       什么是正則表達式 基本說來,正則表達式是一種用來描述一定數量文本的模式。Regex代表Regular Express。本文將用<<regex>>來表示一段具體的正則表達式。 一段文本就是最基本的模式,簡單的匹配相同的文本。   2. &n…

    Linux干貨 2016-08-12
  • 文件查找與解壓縮

    文件查找 腳本文件名的查詢 which(尋找執行文件) which [-a] command -a :將所有由PATH目錄中可以找到的命令均列出,而不只是第一個被找到的命令名稱 文件名的查找 文件查找:實時查找:遍歷所有文件進行條件匹配;(find)非實時查找:根據索引查找;(whereis、locate) whereis whereis [-bmsu] […

    Linux干貨 2017-04-08
欧美性久久久久