移除 LVM-SWAP

Share on:

自己一開始在安裝 CentOS7 的時候, 懶得動腦, 而在磁區劃分時, 就選用 讓我自訂磁區劃分, 然後再選擇使用 預設方式規劃檔案系統, 於是就被分配了 512M 的 swap 現在問題來了, 512MB 的空間我不想要用在 swap 之上, 怎麼把它從系統上要回來勒!? 一開始想得很單純, 先把 swap 拿掉, 再從 fstab 移除, 最後再把 Logical Volume 移除即可, 但悲劇就發生了... 無法開機 ><

Prerequest

  • mount
  • LVM
  • grub2
  • swap
  • fstab

如果以上的東西你看不懂 或 看了無感, 請勿浪費您寶貴的時間繼續往下看~

本章節操作若有閃失, 可能導致將來無法正常開機

Implementation

  1. 從 fstab 取消掛載 swap
  2. 從 grup 取消使用 swap

1. 從 fstab 取消掛載 swap

 1$# free -m
 2              total        used        free      shared  buff/cache   available
 3Mem:           2782         448        1983           7         351        2234
 4Swap:           511           0         511
 5# 一開始大概 0.5G 的 swap 在那邊
 6
 7$# lsblk -f
 8NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
 9sda
10├─sda1                       xfs               84a28da6-b8d7-4c78-898e-c52959cf9c7d   /boot
11└─sda2                       LVM2_member       gFK1m6-tGsh-1Ekz-yN3N-PPt4-7dNp-0tQbzb
12  ├─centos_5720--pw2215-root xfs               cee53bff-d4f5-41c5-8a4e-8f1e8de25003   /
13  ├─centos_5720--pw2215-swap swap              077873c2-f581-46ed-aa12-1f5f9f4df22b   [SWAP]    # 準備把它拔掉
14  └─centos_5720--pw2215-var  xfs               907ff2d3-12f3-49d1-bb6e-9de6eb97943c   /var
15
16$# swapoff /dev/mapper/centos_5720--pw2215-swap # 卸載 swap
17
18$# free -m
19              total        used        free      shared  buff/cache   available
20Mem:           2782         449        1981           7         351        2232
21Swap:             0           0           0
22# 拔掉了
23
24$# vim /etc/fstab
25/dev/mapper/centos_5720--pw2215-root /                       xfs     defaults        0 0
26UUID=84a28da6-b8d7-4c78-898e-c52959cf9c7d /boot                   xfs     defaults        0 0
27/dev/mapper/centos_5720--pw2215-var /var                    xfs     defaults        0 0
28# /dev/mapper/centos_5720--pw2215-swap swap                    swap    defaults        0 0    # 然後我把這行註解掉
29
30# 緊接著, 移除 logical volume
31$# lvremove /dev/centos_5720-pw2215/swap
32Do you really want to remove active logical volume centos_5720-pw2215/swap? [y/n]: y
33  Logical volume "swap" successfully removed
34
35$# vgs
36  VG                 #PV #LV #SN Attr   VSize  VFree
37  centos_5720-pw2215   1   2   0 wz--n- 12.50g 512.00m  # ← 512m 的空間已經釋放出來了~
38# 耶~  我就以為我完成了!!
39
40$# systemctl reboot     # 等等!!! 現在重啟, 電腦就居居惹~

第一次作業時, 重新開機後, 就沒辦法正常開機了...

上述的作法, 跟 小紅帽官網 的解法一樣

爬文後, 才意識到我忽略到一個重要的細節!!

我還不確定該怎麼正確的解釋, 但概念大概就是

系統開機時, 會依照 開機選單(grub) 先幫我把 swap 掛載上去了~ 結果導致找不到, 然後就 Do-Until-Die!!!

(疑! 原來 swap 的掛載動作也被寫入到 grup!?)

所以, 另外得把 swap 從開機選單中移除

2. 從 grup 取消使用 swap

 1$# vim /etc/default/grub
 2GRUB_TIMEOUT=5
 3GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
 4GRUB_DEFAULT=saved
 5GRUB_DISABLE_SUBMENU=true
 6GRUB_TERMINAL_OUTPUT="console"
 7# GRUB_CMDLINE_LINUX="rd.lvm.lv=centos_5720-pw2215/root rd.lvm.lv=centos_5720-pw2215/swap rhgb quiet audit=1" # 原本
 8GRUB_CMDLINE_LINUX="rd.lvm.lv=centos_5720-pw2215/root rhgb quiet audit=1"  # 改成這樣
 9GRUB_DISABLE_RECOVERY="true"
10# 存檔後離開
11
12# 重建 grub.cfg(grub2的 主設定檔)
13$# grub2-mkconfig -o /boot/grub2/grub.cfg
14Generating grub configuration file ...
15Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
16Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
17Found linux image: /boot/vmlinuz-0-rescue-18fe822a5d51433d99a546058606962a
18Found initrd image: /boot/initramfs-0-rescue-18fe822a5d51433d99a546058606962a.img
19done
20
21$# systemctl reboot

重新開機之後

 1# Volume Group 有新鮮的 512m 可以用了
 2$# vgs
 3  VG                 #PV #LV #SN Attr   VSize  VFree
 4  centos_5720-pw2215   1   2   0 wz--n- 12.50g 512.00m
 5
 6# Logical Volume 也確實移除了~
 7$# lvs
 8  LV   VG                 Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
 9  root centos_5720-pw2215 -wi-ao---- 11.00g
10  var  centos_5720-pw2215 -wi-ao----  1.00g
11
12# 不再有 swap 了
13$# free -m
14              total        used        free      shared  buff/cache   available
15Mem:           2682         433        1907           7         341        2151
16Swap:             0           0           0
17
18# 確實也沒 swap 掛載著了~
19$# lsblk -f
20NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
21fd0
22sda
23├─sda1                       xfs               84a28da6-b8d7-4c78-898e-c52959cf9c7d   /boot
24└─sda2                       LVM2_member       gFK1m6-tGsh-1Ekz-yN3N-PPt4-7dNp-0tQbzb
25  ├─centos_5720--pw2215-root xfs               cee53bff-d4f5-41c5-8a4e-8f1e8de25003   /
26  └─centos_5720--pw2215-var  xfs               907ff2d3-12f3-49d1-bb6e-9de6eb97943c   /var
comments powered by Disqus