Как сжать файловую систему XFS? [закрыто]

11

У нас есть сервер RHEL 7 с 2 дисками ( sdaа sdb). Наши /, /var/logи swapнаходятся на sda, /varна sdb. Мы используем LVM и XFS.

sdaслишком большой (160 ГБ), и мы хотели бы уменьшить его до 40 ГБ. Затем мы можем использовать бесплатные 120 ГБ для расширения 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
EsTeGe
источник
2
Вопрос не имеет смысла. / dev / sda и / dev / sdb - жесткие диски. Их размер определяется тем, как они изготовлены и не может быть изменен.
psusi
1
@psusi Теоретически у вас может быть жесткий диск без таблицы разделов, который вы затем используете как один раздел, но я сомневаюсь, что это то, что OP делает здесь.
phk

Ответы:

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

cbiddey
источник
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