如何缩小XFS文件系统?[关闭]


11

我们有一个带有2个磁盘(sdasdb)的RHEL 7服务器。我们//var/logswap是上sda/varsdb。我们使用LVM和XFS。

sda太大(160 GB),我们希望将其缩小到40 GB。然后,我们可以使用120 GB的免费扩展空间sdb

[root@foo ~]# pvs
  PV         VG        Fmt  Attr PSize   PFree
  /dev/sda2  rhel      lvm2 a--  134.77g 9.77g
  /dev/sdb1  vg_var    lvm2 a--  200.00g    0


[root@foo ~]# lvs
  LV        VG        Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root      rhel      -wi-ao---- 117.19g
  swap      rhel      -wi-ao----   3.91g
  var_log   rhel      -wi-ao----   3.91g
  lv_var    vg_var    -wi-ao---- 200.00g

[root@foo ~]# fdisk -l

Disk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x3235298e

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   419430399   209714176   8e  Linux LVM

Disk /dev/sda: 161.1 GB, 161061273600 bytes, 314572800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x0009b153

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   283656191   141315072   8e  Linux LVM

Disk /dev/mapper/rhel-root: 125.8 GB, 125829120000 bytes, 245760000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/rhel-swap: 4194 MB, 4194304000 bytes, 8192000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/vg_var-lv_var: 214.7 GB, 214744170496 bytes, 419422208 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes


Disk /dev/mapper/rhel-var_log: 4194 MB, 4194304000 bytes, 8192000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

我们如何安全地实现这一目标?我已经在测试机上尝试过,但是失败了:

  1. 添加新磁盘
  2. 创建一个LVM分区,pvcreate并在其上添加一个新的LV。
  3. 使用应急磁盘启动
  4. 安装sda/mnt/sysimage新磁盘的LV并将其安装到/mnt/sdb
  5. cp -ax /mnt/sysimage/* /mnt/sdb
  6. 更新/mnt/sysimage/etc/fstab使用/dev/mapper/rhel-lv_root
  7. 最终由于以下原因重启失败 INT18 boot failure

2
问题没有道理。/ dev / sda和/ dev / sdb是硬盘。它们的大小取决于它们的制造方式,并且不能更改。
psusi

1
@psusi从理论上讲,您可以拥有一个没有分区表的硬盘,然后像单个分区一样使用它,但是我怀疑这是OP在这里所做的。
phk

Answers:


15

当前[2019] XFS文件系统无法缩小。

http://xfs.org/index.php/Shrinking_Support

RH网站上是这样说的:

  • 当前无法使用xfs文件系统减小分区或逻辑卷的大小。如果您对此功能感兴趣,请联系Red Hat支持并参考Red Hat bugzilla 1062667,并提供您需要减少/缩小XFS的用例。
  • 作为某些环境中的一种可能的解决方法,可以将精简配置的LVM卷视为XFS文件系统下方的附加层。

https://access.redhat.com/solutions/540013


2
解决方法的更多细节将非常受欢迎。非订阅者无法访问redhat.com的链接。
乔纳斯·康斯伦德

-12

我觉得您可以如下调整LVM的大小

  1. 使用应急磁盘启动
  2. 使用resize2fs缩小文件系统
  3. 使用lvresize缩小逻辑卷
  4. 使用pvresize缩小物理体积
  5. 在此阶段,您可能必须使用分区工具来减少分区以创建可用空间
  6. 创建新分区后,请使用pvcreate创建新卷
  7. 使用vgextend在/ dev / sdb上扩展卷
  8. 使用lvextend扩展/ var文件系统

我建议在试用系统上尝试此操作,以避免可能的数据丢失。

请让我知道此过程是否有帮助。


13
XFS文件系统的大小无法减小。resize2fs用于ext文件系统。
TopHat
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.