Назад | Перейти на главную страницу

Расширение файловой системы LVM: новый раздел или расширение существующего

Мне часто нужно расширить файловую систему в системе RHEL7, которая работает на VMWare-ESX 6. Обычно я изменяю размер существующего виртуального диска и запускаю следующие команды:

  1. echo "1"> / sys / class / scsi_disk / 0: 0: X: X / device / rescan
  2. pvresize / dev / sdX
  3. lvextend -l + 100% БЕСПЛАТНО [VolumeGroup]
  4. resize2fs [MountPoint]

Я думаю, что это удобное решение, но RedHat, VMWare и большинство других найденных мной How2 используют другой способ. Они создают новый раздел и добавляют его в группу томов, а не изменяют размер существующего.

видеть:

https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006371

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

Я не могу предсказать потребность в пространстве, поэтому мне приходилось менять размер довольно часто, но я не хочу каждый раз создавать новый раздел. Должна быть причина, по которой они используют и предпочитают второй метод, который я считаю худшим. Кто-нибудь может сказать мне, почему?

С уважением, Саша

Исходя из ваших команд, вы используете необработанное устройство в качестве физического тома. Хотя это совершенно нормально, Red Hat обычно рекомендует создать защитную MBR (например, разбить базовый диск) и использовать разделы как физические тома.

Общие инструменты как fdisk не могут напрямую увеличить размер раздела, вместо этого они взимают с вас плату за удаление / воссоздание раздела вручную; поэтому онлайн-ответы на часто задаваемые вопросы обычно предлагают более простой подход - создать новый раздел и добавить его как новый физический том. Более того, чтобы гостевая система могла обнаружить расширение раздела, часто требуется его перезагрузка. С другой стороны, добавление раздела не требует перезагрузки.

В любом случае, я согласен с тем, что постоянное добавление разделов для увеличения размера виртуального диска - не лучший подход; Обычно я предпочитаю вручную изменить размер раздела (после создания резервной копии MBR) и перезагрузить гостевую систему, а затем выполнить pvresize против измененного размера раздела.

На самом деле в вашей ссылке на статью RedHat первый шаг говорит:

Создайте физический том из свободный диск или раздел (например, / dev / sdc1 как раздел)

А в ссылке на статью о VMWare вверху есть примечание:

Примечание: Эти шаги применимы только к файловым системам EXT3.

Так что вы можете сделать или / или. Рекомендуемый способ почти во всех случаях (начиная с RHEL7 / GRUB2 - извините, я не могу говорить о VMWare) - НЕ создавать раздел, поскольку вы затем создаете схему, как показано ниже.

Disk
|- MBR
|- |- LVM 
|- |- |- Superblock

Одно время возникали проблемы с выравниванием из-за отсутствия разделения, что приводило к снижению производительности, однако вы можете компенсировать отсутствующий раздел в LVM для систем, которым он предположительно требуется.

Раньше рекомендация о разделении основывалась на том факте, что другие ОС не смогут читать метаданные LVM, и, поскольку раздела нет, диск будет отображаться как неформатированный, а не как имеющий раздел. На самом деле, даже в Linux, если раздел отсутствует, диск кажется неиспользованным для всех инструментов создания разделов (fdisk, gdisk, parted и т. Д.). Это потому, что они предназначены для поиска перегородок.

Если вы работаете с VMware, я предполагаю, что вы работаете с корпоративной средой, где есть элементы управления - у SA не будет причин возиться с разделами, и у вас никогда не будет Windows или каких-либо других ОС »установлена ​​на машине, если машина не перепрофилировалась. Поэтому рекомендация о разделении не применяется.

Лучшей практикой в ​​более старых версиях RHEL было разделение: https://unix.stackexchange.com/questions/76588/what-is-the-best-practice-for-adding-disks-in-lvm

Пересмотренная рекомендация использовать весь диск, конечно же, нова для RHEL 7, так как старые системы используют GRUB вместо GRUB2. В этих старых системах причина сохранения разбиения на разделы связана с тем, что / boot должен находиться на физическом диске.

В вашем случае вы не имеете в виду диски ОС, поэтому даже в старых системах вы можете безопасно хранить метаданные LVM непосредственно на необработанном диске без каких-либо разделов.

Есть один случай, когда вы захотите использовать защитную MBR, и это когда вы используете LVM на физическом диске в гостевой ОС вместо использования vmdk или другого типа файла. Но даже, как отмечает @shodanshok, вы можете использовать фильтр в lvm.conf на гипервизоре, чтобы скрыть их.

Если это физический диск с поддержкой SAN, здесь обсуждается: https://access.redhat.com/discussions/1488023

Администраторы баз данных Oracle также рекомендуют использовать необработанный диск: http://www.dba-oracle.com/real_application_clusters_rac_grid/raw_devices_linux.html

Наконец, на Reddit тоже обсуждают это: https://www.reddit.com/r/sysadmin/comments/292qf2/lvm_physical_disk_vs_partitions/

Практически все согласны, используйте весь диск.

Дополнительная информация о загрузке с диска с LVM-поддержкой, если вам интересно. https://unix.stackexchange.com/questions/136614/how-does-grub2-load-the-kernel-from-an-lvm-volume

http://forums.fedoraforum.org/showthread.php?t=263325

Итак, подведем итог: используйте весь диск. Однажды инструменты разделения могут быть полностью прекращены в * nix в пользу таких вещей, как инструменты zfs, инструменты btrfs, lvm или их комбинация.