首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LVM:收缩/scratch,扩展交换

LVM:收缩/scratch,扩展交换
EN

Unix & Linux用户
提问于 2020-05-14 20:00:41
回答 2查看 137关注 0票数 1
代码语言:javascript
复制
kamals@poc02:~$ sudo lvs
  LV                     VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root                   vg_system -wi-ao----  63.98g
  scratch                vg_system -wi-ao---- 465.66g
  .
  .
  swap                   vg_system -wi-ao----  16.00g
  var                    vg_system -wi-ao----  31.99g
kamals@poc02:~$ sudo vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  vg_system   1   6   0 wz--n- 930.51g 296.88g
kamals@poc02:~$ df -h /scratch/
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-scratch  459G  726M  435G   1% /scratch
kamals@poc02:~$ sudo umount /scratch

kamals@poc02:~$ sudo e2fsck -f /dev/mapper/vg_system-scratch
e2fsck 1.42.13 (17-May-2015)
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
scratch: 25/30523392 files (16.0% non-contiguous), 2134330/122070016 blocks
kamals@poc02:~$ sudo resize2fs /dev/mapper/vg_system-scratch 450G
resize2fs 1.42.13 (17-May-2015)
Resizing the filesystem on /dev/mapper/vg_system-scratch to 117964800 (4k) blocks.
The filesystem on /dev/mapper/vg_system-scratch is now 117964800 (4k) blocks long.
kamals@poc02:~$ sudo lvreduce -L -9G /dev/mapper/vg_system-scratch
  WARNING: Reducing active logical volume to 456.66 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce scratch? [y/n]: y
  Size of logical volume vg_system/scratch changed from 465.66 GiB (119209 extents) to 456.66 GiB (116905 extents).
  Logical volume scratch successfully resized.
kamals@poc02:~$ sudo mount /dev/mapper/vg_system-scratch /scratch/
kamals@poc02:~$ lsblk | grep scratch
  ├─vg_system-scratch                252:4    0 456.7G  0 lvm  /scratch
kamals@poc02:~$
kamals@poc02:~$ df -h /scratch/
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-scratch  443G  727M  420G   1% /scratch
kamals@poc02:~$


SWAP Space extend:
===================

kamals@poc02:~$ lsblk | grep swap
  ├─vg_system-swap                   252:1    0    16G  0 lvm  [SWAP]
kamals@poc02:~$ sudo swapoff /dev/vg_system/swap
kamals@poc02:~$
kamals@poc02:~$ sudo lvresize -L+9G /dev/vg_system/swap
  Size of logical volume vg_system/swap changed from 16.00 GiB (4095 extents) to 25.00 GiB (6399 extents).
  Logical volume swap successfully resized.
kamals@poc02:~$ sudo mkswap /dev/vg_system/swap
mkswap: /dev/vg_system/swap: warning: wiping old swap signature.
Setting up swapspace version 1, size = 25 GiB (26839347200 bytes)
no label, UUID=5fbefbfc-b0fc-46d5-8d5e-b547c184ac14
kamals@poc02:~$ sudo swapon /dev/vg_system/swap
kamals@poc02:~$
kamals@poc02:~$ free -th | grep -i swap
Swap:           24G          0B         24G
kamals@poc02:~$
kamals@poc02:~$ lsblk | grep swap
  ├─vg_system-swap                   252:1    0    25G  0 lvm  [SWAP]

在这里,我试图通过/scratch缩小9G数据磁盘,并将其增加到SWAP空间。

我在这里看到,/scratch的LVM减少与预期的(465.66G-9G ~= 456.7G)一样工作,但是为什么df -h中的FS大小只是通过减少9G而从459G获得443G

我再次执行了减少1G的操作,我看到df值降为428G

代码语言:javascript
复制
kamals@poc02:~$ df -h /scratch/
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-scratch  428G  727M  405G   1% /scratch
kamals@poc02:~$

我有几个问题,

我在这里做错什么了吗?

这些步骤正确吗?我是否可以通过停机在生产服务器中实现它们?

这些步骤是否有丢失数据的可能性?

有没有更好的解决办法?

非常感谢!

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2020-05-14 20:12:38

文件系统大小使用了450 g:

$ sudo resize2fs /dev/mapper/vg_system-scratch 450 g

但是你的LV比那个(456.66G)大:

$ sudo -9G /dev/mapper/filesystem scratch警告:将活动逻辑卷减少到456.66 GiB,这可能会破坏您的数据(文件系统等)。

因此,您可以进一步减少LV (到450 g),或者通过再次调用resize2fs将文件系统扩展到实际LV大小。否则6.66G仍未使用。

实际上,lvreduce--resizefs选项来处理文件系统大小的调整。

即使手动执行,也不需要使文件系统小于LV大小。如果文件系统使用450 g,那么LV也可以使用450 g。不过,用圆周数代替分数很有帮助。如果您实际上希望它是456.66GiB,那么最好用MiB来表示。

对于其他缺少的空间,请检查该文件系统是否有根保留( tune2fs -l != 0),如果有,则使用tune2fs -m更改它。这是如果您不需要/希望为这个文件系统保留一个根的话。

票数 1
EN

Unix & Linux用户

发布于 2020-05-14 23:45:41

lvreduce--resizefs治疗后,恢复17G。

代码语言:javascript
复制
kamals@poc02:~$ sudo lvs
scratch                vg_system -wi-ao---- 454.66g

kamals@poc02:~$ df -h /scratch/
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-scratch  428G  727M  405G   1% /scratch
kamals@poc02:~$ sudo e2fsck -f /dev/mapper/vg_system-scratch
.
.
scratch: 25/28442624 files (16.0% non-contiguous), 2003774/113770496 blocks

kamals@poc02:~$ sudo lvreduce --resizefs -L -3G /dev/mapper/vg_system-scratch
fsck from util-linux 2.27.1
scratch: clean, 25/28442624 files, 2003774/113770496 blocks
resize2fs 1.42.13 (17-May-2015)
Resizing the filesystem on /dev/mapper/vg_system-scratch to 118400000 (4k) blocks.
The filesystem on /dev/mapper/vg_system-scratch is now 118400000 (4k) blocks long.

  Size of logical volume vg_system/scratch changed from 454.66 GiB (116393 extents) to 451.66 GiB (115625 extents).
  Logical volume scratch successfully resized.

kamals@poc02:~$ sudo mount /dev/mapper/vg_system-scratch /scratch/
kamals@poc02:~$ df -h /scratch/
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg_system-scratch  445G  727M  422G   1% /scratch
kamals@poc02:~$

kamals@poc02:~$ sudo lvs
  scratch                vg_system -wi-ao---- 451.66g
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/586698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档