Показать страницуИстория страницыСсылки сюдаЭкспорт в PDFНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Увеличиваем LVM корневого раздела ====== ===== Вариант 1. Начальные условия ===== Виртуальный сервер на Ubuntu Server 14.04 LTS поднятый на VMware ESXi 5.5. Жесткий диск всего 10 Гб, LVM, все настройки по умолчанию. Требуется: расширить диск до требуемого размера без создания дополнительных дисков. Все найденные решения начинаются с совета "добавляем новый диск". Это, конечно, здорово, но не то что нужно. ===== Решение ===== ==== Увеличиваем диск в VMware ==== Как обычно - заходим в настройки виртуальной машины и увеличиваем диск. ==== CentOS 7 ==== Чтобы CentOS увидел новый диск надо дать команду (в данном примере для sda): <code> # echo 1 > /sys/block/sda/device/rescan </code> Смотрим разделы и тип FS: <code> # lsblk -a -o +FSTYPE NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT FSTYPE sda 8:0 0 200G 0 disk ├─sda1 8:1 0 512M 0 part /boot ext4 └─sda2 8:2 0 159.5G 0 part LVM2_member ├─vg_os-lv_root 253:0 0 157.5G 0 lvm / ext4 └─vg_os-lv_swap 253:1 0 2G 0 lvm [SWAP] swap sr0 11:0 1 1024M 0 rom </code> ==== Red Hat Enterprise Linux ==== Чтобы Red Hat Enterprise Linux увидел новый диск надо дать команду <code> # echo "- - -" > /sys/class/scsi_host/host#/scan </code> ==== Увеличиваем диск в Linux ==== Все действия выполняем с правами root === Добавляем раздел === До начала работы у меня есть три раздела: <code> # fdisk -l Device Boot Start End Blocks Id System /dev/sda1 * 2048 499711 248832 83 Linux /dev/sda2 501758 20969471 10233857 5 Extended /dev/sda5 501760 20969471 10233856 8e Linux LVM </code> А места всего 10 ГБ, из них под корневой раздел отведено 8.5 Гб, а свободно после установки системы всего 7.1 Гб: <code> # df -h | grep G /dev/mapper/store00--vg-root 8.5G 1.1G 7.1G 13% / </code> Добавляем новый раздел: <code> # fdisk /dev/sda n (новый раздел) p (раздел будет primary) 3 (номер раздела 3) 20971519 (номер первого сектора, высчитывается как последний сектор 20969471 плюс 2048) <Enter> (автоматически подставляется последний сектор) t (изменяем тип вновь созданного раздела) 3 (номер нашего нового раздела) 8e (тип раздела Linux LVM) w (сохранить изменения в таблице разделов и закрыть fdisk) </code> Запускаем partprobe (kpartx) или перезагружаем сервер (обязательно!) === Работаем с LVM === Для начала инициализируем раздел в качестве физического тома в LVM: <code> # pvcreate /dev/sda3 </code> и добавляем его в группу store00-vg: <code> # vgextend store00-vg /dev/sda3 </code> Теперь расширяем логический том на все доступное пространство: <code> # lvextend -l +100%FREE /dev/mapper/store00--vg-root </code> И осталось только увеличить "на лету" файловую систему (внимание, далеко не каждая ФС умеет это делать!): <code> # resize2fs /dev/mapper/store00--vg-root </code> Готово, проверяем что получилось: <code> # df -h | grep G /dev/mapper/store00--vg-root 48G 1.1G 45G 13% / </code> Все, раздел увеличен. ===== Вариант 2. Начальные условия ===== Виртуальный сервер на CentOS 7. LVM собран из 3-х дисков sda, sdb, sdc. Файловая система: XFS. Задача: увеличить место путем расширения диска sdc. ==== Решение ==== * Планируем работы: смотрим сколько места есть, сколько нужно, нет ли каких-то особенностей * (опционально) Выключаем ВМ * Расширяем (увеличиваем) существующий диск sdc в системе виртуализации * Загружаемся в ОС * Если увеличивали диск без выключения VM, даем команду: <code># echo 1 > /sys/block/sda/device/rescan</code> * <code># pvdisplay</code> не должен показывать что есть свободное место (ноли в "Free PE / Size") * Смотрим: <code># parted /dev/sdc unit MB print free</code> * Расширяем: <code># parted /dev/sdс resizepart 2 100%</code> с правильным номером раздела (в примере это 2) * Расширяем physical volume до максимума: <code># pvresize /dev/sdc2</code> * Проверяем изменился ли размер тома: <code># pvdisplay</code> (должно появиться место в "Free PE / Size") * Изменяем размер logical volume, используя максимум доступного места: <code># lvextend -l +100%FREE /dev/os/root</code> * Изменяем размер файловой системы с учётом появившегося места. Если у нас XFS: <code># xfs_growfs /</code> или в старых версиях: <code>xfs_growfs /dev/mapper/os_vg_root</code> * Если EXT4: <code># resize2fs /dev/mapper/store00--vg-root</code> * Проверяем появилось ли место: <code># df -h</code> * Все должно быть ОК ===== Вариант 3. Простой случай ===== Начальные условия: виртуалка с Ubuntu 18.04, LVM нет, файловая система ext4 ==== Решение ==== * Проверяем текущее свободное место командой: <code>df -h</code> * Увеличиваем в гипервизоре размер диска (расширяем) * Запускаем рескан чтобы система увидела новый размер диска: <code>echo 1 > /sys/class/block/sda/device/rescan</code> * Смотрим реальный текущий размер диска: <code>lsblk</code> * Увеличиваем размер командой (необходимо изменить имя диска и номер партиции на свои): <code>growpart /dev/sda 2</code> * Раширяем файловую систему: <code>resize2fs /dev/sda2</code> * Проверяем текущее свободное место командой: <code>df -h</code> ===== Вариант 4. Начальные условия ===== Свежеустановленный сервер на Ubuntu. LVM собран автоматически инсталлятором. Задействован не весь объем диска. Задача: увеличить место путем расширения диска sdc. ==== Решение ==== * Проверяем текущее свободное место командой: <code>df -h</code> * Смотрим свободное место на LVM: <code>pvs && vgs && lvs</code> * Изменяем размер logical volume, используя максимум доступного места: <code># lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv</code> * Изменяем размер файловой системы с учётом появившегося места: <code>resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv</code> * Проверяем текущее свободное место командой: <code>df -h</code> {{tag>linux ubuntu centos lvm increase_disk_size растянуть_диск увеличиваем_раздел}} ubuntu/lvm-increase.txt Последнее изменение: 2024/12/04 12:38 — fireball