邏輯卷的創建與移除

一、彈性控制磁盤大小的lvm:

    假如有這樣一個場景,在初始安裝linux系統時給 /home分區設置了一定大小,但是過了一段時間后,你發現初始分配的大小遠不能滿足公司的擴大,員工增加,需要分配的賬號的磁盤空間也變大,這時你應該怎么辦?是掛載一塊更大的硬盤,將原來的小硬盤拆除掉嗎?其實在linux中有lvm可動態增大文件系統的,而且不需要服務器離線就能辦到。lvm(logical volume manager),通過名字就很好理解,邏輯卷就是在物理卷之上,再次進行邏輯上的劃分,把多個物理卷(可以是硬盤可以是分區)組合成一個卷組,通過劃分卷組來進行磁盤的統一劃分為邏輯卷,如果某一天邏輯卷不夠使用了,可以給卷組添加硬盤或分區,再將邏輯卷進行放大,最后對文件系統進行放大就行了,如果是縮小lvm的話就需要先取消掛載,然后再縮小

二、 LVM相關概念:

pv:物理卷:可以是物理硬盤或分區,通過改變卷標為8e,使用pv命令轉化為物理卷

vg:多個物理卷的一個集合,構成了邏輯上存在的卷組,叫邏輯卷

lv:在使用卷組時可以劃分出多個邏輯卷,通過格式化

pe:構成卷組的邏輯上的最小塊,類似于硬盤的塊大小,分配給lvm時也只能是pe的整數倍,默認一個卷組可以有65534個pe,pe默認大小為4MB, 則一個卷組默認最大有256G,當然可以改變pe的大小來改變vg的最大(pe的大小單位可以是小到b大到g,t,p,e都可以指定)

1.png

三者的關系大概是上圖的關系

三、邏輯卷的命令:

1. pv相關命令:

pvcreate:創建物理卷

pvdisplay:顯示系統的物理卷詳細信息

pvs:顯示系統物理卷的概要信息

pvremove:移除物理卷

pvmove搬移物理卷,先加源pv后加目標pv,縮小vg時使用

         pvscan:掃描pv

2.  vg相關命令:

vgcreate:創建卷組

vgdisplay:卷組的詳細信息

vgs: 卷組的概要信息

vgextend:使用pv擴展卷組

vgreduce:在vg內移除pv

vgremove:移除卷組

vgscan:掃描vg

3. lv相關信息:

lvcreate創建卷組

lvs邏輯卷的概要信息

lvdisplay 邏輯卷詳細信息

lvextend 在lv里增加容量

lvresize 調整lv的容量大小

lvremove 移除lv

 

四、邏輯卷的實例:

1. 創建邏輯卷:

需要依次創建物理卷、卷組、邏輯卷:

[root@cnode6_8 ~]# pvcreate /dev/sd{b1,b2,c}
  Physical volume "/dev/sdb1" successfully created
  Physical volume "/dev/sdb2" successfully created
  Physical volume "/dev/sdc" successfully created

#下面創建名字為jack_vg,pe大小為1M,pv添加了一個分區,一塊磁盤

 [root@cnode6_8 ~]# vgcreate -s 1M jack_vg /dev/sdb1 /dev/sdc
  Volume group "jack_vg" successfully created
[root@cnode6_8 ~]# vgs  //顯示創建的vg
  VG      #PV #LV #SN Attr   VSize  VFree
  jack_vg   2   0   0 wz--n- 20.10g 20.10g
[root@cnode6_8 ~]# vgscan  //顯示創建的vg
  Reading all physical volumes.  This may take a while...
  Found volume group "jack_vg" using metadata type lvm2
[root@cnode6_8 ~]# vgdisplay  //顯示詳細信息
  --- Volume group ---
  VG Name               jack_vg
  System ID            
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               20.10 GiB  //vg大小為20.1G
  PE Size               1.00 MiB
  Total PE              20587  //pe總個數
  Alloc PE / Size       0 / 0  
  Free  PE / Size       20587 / 20.10 GiB
  VG UUID               CvbWjN-q0ew-Uk97-FnFu-iWPM-rl7B-KJ1PNn

#創建lv 指定大小為300個pe,-L可以直接指定大小,-n指定lv名字

[root@cnode6_8 ~]# lvcreate -l 300 -n jack_lv jack_vg
  Logical volume "jack_lv" created.
[root@cnode6_8 ~]# mkfs.ext3 /dev/jack_vg/jack_lv  //格式化邏輯卷
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
……
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@cnode6_8 ~]# mkdir /mnt/jack_lv   //創建掛載點,掛載
[root@cnode6_8 ~]# mount /dev/jack_vg/jack_lv /mnt/jack_lv
[root@cnode6_8 ~]# df -h |grep lv  //查看文件系統掛載情況
/dev/mapper/jack_vg-jack_lv  291M   11M  266M   4% /mnt/jack_lv

               

2. 邏輯卷擴展:

邏輯卷擴展需要先擴展物理卷再把物理卷加入卷組之后放大邏輯卷,最后放大文件系統。在前面已經有一個分區未被加入卷組中,可以直接使用,具體步驟如下:

[root@cnode6_8 ~]# vgextend jack_vg /dev/sdb2
  Volume group "jack_vg" successfully extended
[root@cnode6_8 ~]# vgs
  VG      #PV  #LV  #SN  Attr     VSize  VFree
  jack_vg        3   1    0    wz--n- 20.30g 20.01g

#擴展邏輯卷只需指定擴展多少,也可以使用-L直接指定大小,也可以使用-l直接指定一共有多少個pe即可

[root@cnode6_8 ~]# lvresize -l +100 /dev/jack_vg/jack_lv
Size of logical volume jack_vg/jack_lv changed from 300.00 MiB (300 extents) to 400.00 MiB (400 extents).
  Logical volume jack_lv successfully resized.

#此時文件系統還是原來的大小,放大文件系統

[root@cnode6_8 ~]# resize2fs /dev/jack_vg/jack_lv
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/jack_vg/jack_lv is mounted on /mnt/jack_lv; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/jack_vg/jack_lv to 409600 (1k) blocks.
The filesystem on /dev/jack_vg/jack_lv is now 409600 blocks long.

3. 縮小邏輯卷:

縮小邏輯卷應該先縮小文件系統,在縮小邏輯卷,將要移除的分區或硬盤上的數據搬移至沒有使用的分區,縮小卷組移除物理卷。

具體步驟如下:

#第一次縮小文件系統大小時系統會提示運行檢查文件系統的命令

[root@cnode6_8 ~]# resize2fs   /dev/jack_vg/jack_lv 160M
resize2fs 1.41.12 (17-May-2010)
Please run 'e2fsck -f /dev/jack_vg/jack_lv' first.
 
[root@cnode6_8 ~]# e2fsck -f /dev/jack_vg/jack_lv
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/jack_vg/jack_lv: 38/101200 files (0.0% non-contiguous), 126124/409600 blocks

#運行完文件系統檢查后就可以運行縮小文件系統的命令

[root@cnode6_8 ~]# resize2fs   /dev/jack_vg/jack_lv 160M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/jack_vg/jack_lv to 163840 (1k) blocks.
The filesystem on /dev/jack_vg/jack_lv is now 163840 blocks long.
 
[root@cnode6_8 ~]# lvresize -L 180M /dev/jack_vg/jack_lv
  WARNING: Reducing active logical volume to 180.00 MiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce jack_vg/jack_lv? [y/n]: y
  Size of logical volume jack_vg/jack_lv changed from 300.00 MiB (300 extents) to 180.00 MiB (180 extents).
  Logical volume jack_lv successfully resized.

#假如需要移除/dev/sdc 但是發現它已經被使用了一部分,需要移至其他不用移除的分區

[root@cnode6_8 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               jack_vg
  PV Size               109.79 MiB / not usable 1.79 MiB
  Allocatable           yes
  PE Size               1.00 MiB
  Total PE              108
  Free PE               108
  Allocated PE          0
  PV UUID               RfUlAj-6mtH-CekP-4BQs-SSVU-MYem-rVj9kS
  
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               jack_vg
  PV Size               20.00 GiB / not usable 0  
  Allocatable           yes
  PE Size               1.00 MiB
  Total PE              20479
  Free PE               20299
  Allocated PE          180
  PV UUID               MY3ZK5-do0L-dQCs-2EOH-b1O1-Dhql-oT8Pr8
  
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               jack_vg
  PV Size               203.95 MiB / not usable 1.95 MiB
  Allocatable           yes
  PE Size               1.00 MiB
  Total PE              202
  Free PE               202
  Allocated PE          0
  PV UUID               OISzAn-fAZW-OmPV-l8x0-0QPZ-i1xE-rBoEJc
[root@cnode6_8 ~]# pvmove /dev/sdc  /dev/sdb2
  /dev/sdc: Moved: 7.2%
  /dev/sdc: Moved: 100.0%
[root@cnode6_8 ~]# pvdisplay /dev/sdc
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               jack_vg
  PV Size               20.00 GiB / not usable 0  
  Allocatable           yes
  PE Size               1.00 MiB
  Total PE              20479
  Free PE               20479
  Allocated PE          0
  PV UUID               MY3ZK5-do0L-dQCs-2EOH-b1O1-Dhql-oT8Pr8

此時分配了/dev/sdc的已經全部收回,可以縮減卷組了移除pv了

[root@cnode6_8 ~]# vgreduce  jack_vg  /dev/sdc
  Removed "/dev/sdc" from volume group "jack_vg"
[root@cnode6_8 ~]# pvremove /dev/sdc
  Labels on physical volume "/dev/sdc" successfully wiped

最后提示移除成功!

[root@cnode6_8 ~]# vgs
  VG      #PV #LV #SN Attr   VSize   VFree 
  jack_vg   2   1   0 wz--n- 310.00m 130.00m
[root@cnode6_8 ~]# lvs
  LV      VG      Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  jack_lv jack_vg -wi-a----- 180.00m                                                   
[root@cnode6_8 ~]# pvs
  PV         VG      Fmt  Attr PSize   PFree 
  /dev/sdb1  jack_vg lvm2 a--u 108.00m 108.00m
  /dev/sdb2  jack_vg lvm2 a--u 202.00m  22.00m

 

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

(0)
jack_cuijack_cui
上一篇 2016-08-30
下一篇 2016-08-30

相關推薦

  • httpd服務歸納:httpd基本配置(配置文件格式以及常用選項)

    一、 httpd文件的基本格式 主配置文件位置, /etc/httpd/conf/httpd.conf    1. 配置文件參數格式  配置參數    值       特點:    &nbs…

    Linux干貨 2015-05-13
  • 常用命令之ls 詳解

    ls詳解 羅列目錄內容權限,列出文件的信息列表(默認為當前目錄)。 這個命令是Linux操作系統使用頻率最高的命令,沒有之一。熟練掌握這個命令的常用參數,可以提高學習、工作效率,因此需要認真對待。 1. 常用選項 – -a,–all:顯示當前目錄下全部文件(常用) [root@jingz ~]# ls -…

    Linux干貨 2016-08-02
  • fdisk命令

    fdisk命令用于觀察硬盤實體使用情況,也可對硬盤分區。

    2017-12-05
  • N21沉舟-第八周作業

    1、  請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 #網橋:鏈接層設備,基于MAC地址過濾。 #集線器:物理層設備,基本都屬于半雙工模式。集線器與網橋在現在的局域網中基本都不用了。 #二層交換機:工作在數據鏈路層,基本MAC轉發數據,功能齊全的可支持VLAN等功能。常見的有100/1000M、16口/24口/48口。…

    Linux干貨 2016-08-24
  • Linux程序包管理

      Linux的各個release版本開發商,在發布各種應用程序,以及一些團體發布應用程序時,通常會根據發布的程序所適應的開發語言,使用環境,預設參數等,事先編譯完成一個可以在相應平臺上安裝的程序包供使用者直接使用,該程序包含有安裝前(preinstall)操作系統環境檢測的腳本,程序包中所有文件的相關信息,程序預定義的配置參數文件,程序…

    Linux干貨 2016-11-30
  • 文本處理之sed

     sed:是一種行編輯器,它在處理行時會把要處理的行讀入模式空間中,處理的是模式空間的內容,一行一行的處理,然后把處理結果顯示在屏幕中,不對原文做修改,除非強制重定向。   好處:可同時編輯一個或多個文件,簡化了對文件的反復操作。 sed用法:   格式: sed [options ]…'script&#0…

    Linux干貨 2016-08-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-02 11:50

    文章思路很清晰,理論與實戰相結合,實驗部分一氣合成,如果能對圖進行一些詳細的解釋,對小白來說更易讀。

欧美性久久久久