Linux LVM的相關操作

來源:互聯網
上載者:User

標籤:linux   快照   lvm   邏輯卷   

LVM的主要特點就是可以將已經格式化的分區進行動態縮減。LVM的實現方式是將幾個實體的partitions或者disk通過軟體組成一個大磁碟(VG),然後可以將大磁碟進行切割,切割後可得到lv(相當於分區),在lv上進行格式化掛載。vg和lv的容量都可以動態地進行縮減。下面來說一下具體過程:

1)pv階段。

pv階段涉及到的命令:

  1、pvcreate:將分區partition建立成為pv

  2、pvscan:檢索目前系統中具有pv的磁碟,顯示pv

  3、pvdisplay:顯示系統中pv的狀態

  4、pvremove:刪除pv,該partition不在具有pv屬性

  5、pvmove:可以將一個分區pe塊上的資料轉移到另一個分區的pe塊上

      例:pvmove  /dev/sda10 /dev/sda11

首先分割出4個分區,通過pvcreate建立pv。在劃分分區時,注意要將systemID改成8e(即Linux LVM)

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6B/77/wKiom1UuHCihc74RAADqnBoGvjA160.jpg" title="8a434d36-4507-404b-b5db-4b70d5c260c1.png" alt="wKiom1UuHCihc74RAADqnBoGvjA160.jpg" />

建立pv(pvcreate /dev/sda{10,11,12,13})

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6B/73/wKioL1UuHaWz4zcvAAJmXanHdxE219.jpg" title="e29b420d-39b4-4ce4-a873-c43ba74340a8.png" alt="wKioL1UuHaWz4zcvAAJmXanHdxE219.jpg" />


2)VG階段。

VG階段使用到的命令:

  1、vgcreate:建立VG(-s:指定pe塊大小)

           例:vgcreate [-s N[mgt]] vg名稱  所使用的pv

  2、vgscan:簡要顯示系統上的vg資訊

  3、vgdisplay:顯示vg的狀態

  4、vgextend:在VG上增加額外的pv(擴充VG)

  5、vgreduce:在VG上移除pv(縮減VG)

  6、vgchange:設定VG是否啟動

  7、vgremove:刪除VG

將前3個pv組成一個vg,指定pe大小為8M(vgcreate -s 8m babyVG /dev/sda{10,11,12})

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6B/73/wKioL1UuHdHCt8MVAAKZN3oeelw798.jpg" title="ea43a2af-2568-441c-9698-fbc5193d5f93.png" alt="wKioL1UuHdHCt8MVAAKZN3oeelw798.jpg" />

VG建立完成,VG可以通過添加pv或者刪除pv來動態擴大(vgextend)和縮減(vgreduce)。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6B/73/wKioL1UuHgmiwFd0AAKXqfC0pXE193.jpg" title="5b4c4403-8303-4970-84a1-f1588d125f9a.png" alt="wKioL1UuHgmiwFd0AAKXqfC0pXE193.jpg" />

將/dev/sda10這塊pv從babyVG中移除,VG容量變為6G,再給他添兩塊/dev/sda10與/dev/sda13

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6B/73/wKioL1UuHjnTZ_jPAAKKpjkU7xc031.jpg" title="5e0016cc-5cd4-4fb7-bdef-8add3c68e9a0.png" alt="wKioL1UuHjnTZ_jPAAKKpjkU7xc031.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6B/77/wKiom1UuHQXTjiVeAAGmcx5M__A838.jpg" title="b8f20173-7bbd-4b47-9b23-be19f99d8757.png" alt="wKiom1UuHQXTjiVeAAGmcx5M__A838.jpg" />

通過pvscan查看pv資訊,4塊pv已經全部屬於babyVG。

3)LV階段。

LV階段涉及到的命令:

  1、lvcreate:建立lv

          例:lvcreate [-l N] [-L size] [-n lvname] VGname

                -l:後面指定pe數量

                -L:size指定lv大小(-l與-L選擇一個指定大小即可)

                -n:後面接lv名稱

  2、lvscan:查看系統上的lv

  3、lvdisplay:顯示lv狀態

  4、lvextend:擴大lv容量

          例:lvextend [-l +N] [-L +size[mg]]

                -l:後面指定pe數量,+100

                -L:size指定要增加的大小 +3G

  5、lvreduce:縮減lv容量

          例:lvreduce [-l -N] [-L -size[mg]]

                -l:後面指定pe數量,-100

                -L:size指定要縮減的大小 -3G

  6、lvresize:重新設定lv容量

          例:lvresize [-l N] [-L size[mg]]

                -l:重新設定lv的pe數量

                -L:重新設定lv大小

  7、lvremove:刪除lv

建立一個LV,進行格式化,掛載。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6B/73/wKioL1UuHqGjv67fAADfv07r2RY140.jpg" title="0e5d8e53-ffbb-4fa1-9c48-6b592ef80055.png" alt="wKioL1UuHqGjv67fAADfv07r2RY140.jpg" />

lv建立完畢,大小5G

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/73/wKioL1UuHsHhQ9PHAAO6XfKzxQg513.jpg" title="582c7936-4666-4656-a119-5ecafec63225.png" alt="wKioL1UuHsHhQ9PHAAO6XfKzxQg513.jpg" />

這樣就掛載完畢,這個檔案系統就可以正常使用了。

LV的訪問路徑

  1、/dev/VG_NAME/LV_NAME

  2、/dev/mapperVG_NAME-LV_NAME

此兩者均為符號連結,指向的檔案是/dev/dm-N(/dev/dm-0,/dev/dm-1.....)

4)擴大LV

如果哪一天babyLV這個分區的容量不夠了,可以對babyLV 這個分區進行擴容,如果VG不夠大,可以先對VG進行擴容,lv的擴容可以線上進行,不需要umount檔案系統。

在擴大LV時,可以使用的命令很多:

  1、lvextend -l +N

  2、lvextend -L +size(mg)

  3、lvresize -l N

  4、lvresize -L size(mg)

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6B/73/wKioL1UuHxPBKRyDAANGHMwMAEw648.jpg" title="e455288e-34c4-4b88-87c1-2dbd97171b26.png" alt="wKioL1UuHxPBKRyDAANGHMwMAEw648.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6B/77/wKiom1UuHfLB7gRrAADgqVCP4jc869.jpg" title="a881dc8d-225c-4951-90e2-2e61b189087a.png" alt="wKiom1UuHfLB7gRrAADgqVCP4jc869.jpg" />

可以看到檔案系統已經擴大至7G

5)縮小LV

如果LV過大,可以縮減LV。如果VG的使用率很低,可以將個別pv從中抽離。在縮減LV時需要注意,要先卸載檔案系統,然後對檔案系統進行強制檢測(fsck -f),然後減小檔案系統的容量(resize2fs),之後才可以減小LV的大小。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/73/wKioL1UuH23hC2VCAAYN5T9Hcy8257.jpg" title="0eae8acd-4227-4463-b21d-850d1692bc39.png" alt="wKioL1UuH23hC2VCAAYN5T9Hcy8257.jpg" />

在縮減LV時,檔案系統縮小的容量可能無法和LV縮小的容量完全一樣,但是整個過程中LV的容量必須大於檔案系統的容量,所以這裡檔案系統縮小之後容量可以稍稍小於LV縮小之後的容量,縮減完畢後,在resize2fs至LV的大小以充分利用空間。我這裡現將檔案系統resize2fs至3G,等完成之後在resize2fs至LV的大小(4G)

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/73/wKioL1UuIKzyNfLIAAPF1HORve0075.jpg" title="7657bc8b-fb54-418a-8435-b9784ed95faf.png" alt="wKioL1UuIKzyNfLIAAPF1HORve0075.jpg" />

這時候VG利用率不高,假如我想騰出/dev/sda11用於其他地方

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/77/wKiom1UuH3LQr1vfAAFw5jYc16s139.jpg" title="5e9f5226-8e0b-4985-880d-117b0f461a1b.png" alt="wKiom1UuH3LQr1vfAAFw5jYc16s139.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/73/wKioL1UuIQPxIqzDAAEvFpVmHys151.jpg" title="e8d824f6-062a-4d0d-a84b-f6740c144807.png" alt="wKioL1UuIQPxIqzDAAEvFpVmHys151.jpg" />

可以看見建立在/dev/sda11上的pv中的pe塊都寫有資料,不能直接將其移除,可以將/dev/sda11上寫有資料的pe塊都轉移至/dev/sda13上,因為/dev/sda13上的pe塊都未被使用。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6B/77/wKiom1UuH-zA0lBNAARfJGDCCAE519.jpg" title="b75707e4-0bff-440d-bca4-2da23275b872.png" alt="wKiom1UuH-zA0lBNAARfJGDCCAE519.jpg" />

可以看見所有的pe都已經轉移至/dev/sda13,然後就可以對其進行移除了。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6B/73/wKioL1UuIXrx4_i4AAIJIWKsXxc535.jpg" title="e3b12b8d-c4c9-4f13-ba44-4e9e76c96f33.png" alt="wKioL1UuIXrx4_i4AAIJIWKsXxc535.jpg" />

/dev/sda11已經從babyVG中移除。

6)快照

可以對VG上的某一個LV進行快照,快照那一刻該LV上的系統資訊就會被記錄下來。可以手動分配快照的大小,一般是小於等於被快照的LV大小。該LV上的某個pe上的資料發生了更改,原始的pe就會被移送至快照地區,沒有發生更改的pe塊則被LV上的檔案系統和快照集共用。當然,如果被修改的資料的總容量大於快照區的容量,快照就會失效。由於LV和快照集共用很多pe塊,所以快照區必須和被快照的LV在同一個VG上。來建立一個快照。

命令:lvcreate -s [-l N][-L size] -n 快照名 /dev/......(被快照的LV)

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/73/wKioL1UuIabxCDSHAAFxjDKZVqM408.jpg" title="e2ca9968-7efd-44d7-8cbd-7b534ef47fe3.png" alt="wKioL1UuIabxCDSHAAFxjDKZVqM408.jpg" />

快照建立完成。

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/73/wKioL1UuIdDDB0TiAAHBHj0ZTqI698.jpg" title="7d449dd1-4909-46e2-a7e2-dec1ac8b2711.png" alt="wKioL1UuIdDDB0TiAAHBHj0ZTqI698.jpg" />

將快照進行掛載之後,快照的資訊與別快照的LV一模一樣(包括裡面的資料)。當然,也可以將被快照的LV當做備份,把所有的測試放到快照地區中,測試完了即可將快照刪除,不會影響被快照的LV中的資料。這也是個不錯的選擇。


Linux LVM的相關操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.