同一個磁盤中從根分區縮小空間到擴展SWAP分區空間實踐步驟

一、操作背景:

       公司中有一部分主機在開始設計的時候,並未考慮到SWAP的大小,只是分配了物理內存的2倍-4G,導致後期應用部署完成後對系統的SWAP分區要求達不到標準。因此經過部分和領導討論後,決定在同一塊磁盤上來減少根分區的大小,並使用縮減出來的大小去增加swap分區大小的操作,這中間要保障數據的完整和業務應用不丟失。這樣做既可以保障數據盤不受影響,也保證應用系統在完成後可以正常使用,也減少了以後的一些風險(比如要使用額外的磁盤來增加swap空間大小需要考慮額外磁盤的穩定等)。

二、操作分析:

        由於根分區和swap在開機運行的時候是處於使用狀態,是不能對其進行直接操作的。考慮至此,需要使用到LINUX的救援模式,且該救援模式必須是不能執行chroot  /mnt/sysp_w_picpath。單用戶模式和救援模式執行chroot後都不能對根分區進行操作。

三、LVM原理操作步驟和注意事項回顧:

     先回顧下針對LV的擴展或縮小步驟、以及操作方法。

     a、從磁盤到LV的過程如下:

wKiom1V1hx2AARruAAIj1OVEqKA284.jpg

wKioL1V1iMDgeZJ2AAJEms0slHE801.jpg

    b、以下通過擴展和縮減空間來具體說明

b-1、擴展LV

1)、卸載LV

命令:umount “掛載目錄”  這一步可以不用做,因LVM的2版本支持在線升級擴展空間。

2)、擴展LV或先擴展VG

命令:vgextend vgdata100  /dev/sdb1  表示從pv爲sdb1的分區中擴展空間到vgdata100的卷組中。

命令:lvextend -L +5G /dev/lv00/lv01 或者 lvresize -L 50G /dev/lv00/lv01

lvextend 表示增加5G,lvresize表示增加到50G,是調整後的容量。

3)、檢查文件系統

命令:fsck -f /dev/vg00/lv01

4)、重建文件系統

  命令:resize2fs /dev/lv00/lv01

這一步很關鍵,重建文件系統,不用擔心LV的數據會丟失,以防丟失也可以先備份下LV裏的數據。

5)、掛載LV

命令:mount /dev/lv001/lv01 /opt   或執行mount -a     這步可以省去

wKioL1V1Sh7RkNvhAATQyhfXl-g830.jpg

 

b-2、縮小LV

  縮小LV需要事先知道LV中的數據容量大小,縮小容量值不應超過剩餘空間容量,而且要知道減少LV容量後的新大小。可以通過lvscan來查看LV容量,通過vgdisplay來查看剩餘容量。縮小空間的磁盤必須需要卸載下來,不能在線縮小正在使用中的磁盤。

1)、卸載LV

命令:umount “掛載目錄”

2)、檢查文件系統

命令:fsck -f /dev/lv00/lv01 

3)、調整LV大小並重建文件系統

命令:resize2fs /dev/vg00/lv01 2G

4)、減小LV容量

命令:lvreduce -L -3G /dev/vg00/lv01

5)、掛載LV

  命令:mount /dev/lv001/lv01 /opt

wKioL1V1UMux8AXsAAVGall2TnI160.jpg

wKioL1V1UTjwMy4gAAGD_-xv7n4047.jpg

 

三、縮減根分區的空間,並劃分給swap增加空間實際操作步驟如下

    正式操作之前先在實驗環境下進行2-3遍測試後,再進行現實再用的環境下進行操作。

3-1、擴展SWAP分區大小的前提條件

1)、swap必須和根分區(或者說空間來源)在同一個磁盤; 不要問爲什麼必須在一個磁盤上
2)、swap必須是LVM格式;
3)、必須在救援模式模式下完成縮減/根分區的大小。因爲lvm只能在線升級,縮小必須處於不使用狀態下進行;

wKiom1V1WXbyYFrVAAQ8o84mVug017.jpg

wKioL1V1WxijwFgmAALgn7hIxyk034.jpg

3-2、縮小根分區和擴展SWAP的詳細步驟:

1)、先縮小根分區大小。

  a、 插入系統光盤,啓動後輸入linux rescue進去救援模式,不要配置網絡,不要讓系統根掛載到/mnt/sysp_w_picpath上,所以最後的界面選擇“skip

wKioL1V1Vlij8ricAAJOG_m_4CM002.jpg

wKiom1V1VLaBq0XTAAJLCwocun4010.jpg

wKioL1V1VlnSPd8nAAFUwWnieVg902.jpg

b、檢查是否符合條件並做好準備

wKioL1V1V1aSKt5vAAIX3rtIZiE345.jpg

c、開始縮小根文件系統大小

wKiom1V1VnOCyAgQAAKI5B7U994810.jpg

d、減小LV_根分區大小

     先檢查大小並計算實際大小。

wKioL1V1WLai75SZAAH-Y6pl4DE009.jpg

wKiom1V1VxSyBTiVAAEhowk8rv0139.jpg

根據上圖顯示的信息計算下。此時得出lv-root的LE數量爲24525,總的PE數量爲25549,大小4M,所以可以減少的大小爲 (25549-24525)*4M=1024*4M=4G

    減小根分區大小

wKioL1V1WavxGIOAAAJnKodm4pc769.jpg

 e、重啓系統,再次查看根分區情況

wKioL1V1WnDzO1ciAAGSWFGtN7U039.jpg

wKiom1V1WM6CPT0WAAJF1qJuZ0k879.jpg

 2)、開始增加swap空間大小

a、可以使用該步驟

         1.swapoff -v /dev/centos/swap     //關閉swap分區
         2. lvresize -L +4G /dev/centos/swap   //增加swap卷4G空間
         3.resize2fs /dev/centos/swap    //讓添加的空間生效
         4.mkswap /dev/centos/swap   //建立swap分區
         5.swapon -va /dev/centos/swap   //啓用swap分區

b、   或以下步驟

wKioL1V1XRXxQK-GAAQgqWOAz94112.jpg

wKiom1V1W3Kh7eg-AAKI_PGXWcg156.jpg

至此擴展swap分區大小操作完成,可以多重啓幾次系統,並進入系統檢查驗證。

 

 四、總結:

 1)、LVM的磁盤或其他磁盤在掛載的時候最好使用UUID寫到/etc/fstab文件中進行掛載,

UUID=44ba2667-3757-4a49-b215-698ae1425fc0       /mountdata      ext3    defaults 0 0 (格式)
以避免磁盤開機的時候出現盤符漂移導致系統運行出現錯誤;

 2)、被縮減空間的磁盤必須處於卸載狀態下才能操作,但可以對在使用的磁盤進行在線擴展;

 3)、fsck命令執行是很好的檢查當前磁盤狀態的工具,最好不要省去該步驟;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章