Disk

如何縮小/使用邏輯卷並將其用作交換

  • June 16, 2021

我如何能夠減少 /var/lib/vz 邏輯卷 (/dev/vg/data) 並使用它/增加目前交換大小?

/etc/fstab

UUID=c4408a1c-aa5b-4ce2-a9e8-1673660331e9       /       ext4    defaults        0       1
LABEL=EFI_SYSPART       /boot/efi       vfat    defaults        0       1
UUID=c90b3083-1b43-427c-8016-1d2406c36417       /var/lib/vz     ext4    defaults        0       0
UUID=e585755c-9908-4c01-a89b-d7fb1880b8f8       swap    swap    defaults        0       0
UUID=aea8f278-23a8-4ce0-97ca-4354720ca602       swap    swap    defaults        0       0

顯示器

 --- Volume group ---
 VG Name               vg
 System ID
 Format                lvm2
 Metadata Areas        1
 Metadata Sequence No  3
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                1
 Open LV               1
 Max PV                0
 Cur PV                1
 Act PV                1
 VG Size               386.97 GiB
 PE Size               4.00 MiB
 Total PE              99065
 Alloc PE / Size       99065 / 386.97 GiB
 Free  PE / Size       0 / 0
 VG UUID               e2YzU3-HzQe-DIqH-HGNr-tFqc-cWO1-K92uOR

液晶顯示器 | grep “LV 路徑|LV 大小”

 LV Path                /dev/vg/data
 LV Size                386.97 GiB

容易:lvresize比如說,350 GB(我假設df -h /var/lib/vz給你 340GB 之類的東西;如果它少得多,你當然可以用這種方式縮小更多!):

由於您需要縮小文件系統,因此您首先必須解除安裝它:

umount /var/lib/vz

然後,調整邏輯卷的大小;我們可以要求 LVM 工具正確調整底層文件系統的大小:

lvresize -L 350G -r /dev/vg/data
         |  |   |  |
new size in  |   |  |
     bytes  |   |  |
            |   |  |
      350GB-/   |  |
                |  |
resize the under-  |
lying  file  sys-  |
tem automatically  |
                   |
  which LV to resize

這當然只有在 /var/lib/vz 中有足夠的可用空間時才有效,這樣 ext4 文件系統才能成功收縮。

如果沒有:運氣不好!不能憑空變出空間:(

你現在mount /var/lib/vz 又可以了。

之後,創建交換以耗盡所有可用空間:

       lvcreate -l 100%FREE -n swaplv vg
                |   |        |  |     |
size in extents-/   |        |  |     |
                    |        |  |     |
100% of the available        |  |     |
space  in the  volume        |  |     |
                group        |  |     |
                             |  |     |
         name of the new LV -/--/     |
                                      |
               volume group in which to
               create  the  new  volume

當然請注意,-l 100%FREE您當然也可以指定大小(例如-L 16G)。-l注意和之間的區別-L

將其“格式化”為交換設備:

mkswap /dev/vg/swaplv

最後,您想將該新交換添加到 /etc/fstab:

/dev/vg/swaplv       swap    swap    defaults        0       0

並立即啟用它:

swapon -a

引用自:https://unix.stackexchange.com/questions/654538