Ниже вы узнаете как быстро увеличить диск Linux, это особенно актуально, если система работает на виртуальной машины.
Первым делом увеличиваем диск непосредственно в гипервизоре и перезагружаем VM.
Вне зависимости от того, используете вы обычную разбивку или LVM, следующие шаги одинаковы в обоих вариантах:
Первым шагом заставляем ОС найди новый диск и просканировать его:
# ls /sys/class/scsi_host host0 host1 host2 echo "- - -" > /sys/class/scsi_host/host0/scan echo "- - -" > /sys/class/scsi_host/host1/scan echo "- - -" > /sys/class/scsi_host/host2/scan Или просто: for host in /sys/class/scsi_host/*; do echo "- - -" | sudo tee $host/scan; ls /dev/sd* ; done
parted p
Далее вводим resizepart <номер тома>
, который нужно увеличить. Я увеличиваю /, поэтому раздел номер два:
resizepart 2
На этом всё, выходим командой quit
Следующий шаг зависит от того, как разбит диск
Смотрим список логических дисков
vgdisplay
pvresize /dev/sdb (Расширить physical volume до максимума) pvdisplay (Проверить, изменился ли размер тома) lvextend -r -l +100%FREE /dev/mapper/vgroup1-root lvextend -r centos/root /dev/vda2 # Актуально для CentOS 7
и увеличиваем нужный.
Далее необходимо увеличить саму файловую систему, напимер
resize2fs /dev/mepper/cl-root # для ext4 xfs_growfx /dev/mapper/cl-root # для xfs
Обычные тома:
Если используются обычные тома, воспользуйтесь resize2fs
resize2fs /dev/sda2
Добавление новых дисков в LVM
fdisk -l # необходимо найти новый диск и посмотреть его назвавние fdisk /dev/sdb # подключение на примере /dev/sdb vgcreate vl_backup /dev/sdb1 lvcreate --name vl_backup -l +100%FREE vl_backup # создание LVM на примере имени vl_1 mkfs.xfs /dev/vl_backup/vl_backup # создание файловой системы XFS mkdir /backup # создание точки монтирования echo "/dev/vl_backup/vl_backup /backup xfs rw,noatime,attr2,inode64,noquota 0 0" >> /etc/fstab # монитрование в fstab mount -a # перечитать fstab df -Th # проверка места
Увеличение декущего диска
Если Вы просто увеличили виртуальный диск в системе и хотите увидеть изменения в VLM:
for host in /sys/class/scsi_host/*; do echo "- - -" | sudo tee $host/scan; ls /dev/sd* ; done echo 1 > /sys/block/sda/device/rescan # Альтернативный вариант pvresize /dev/sdb lvdisplay # посморите путь к диску lvextend -r -l +100%FREE /dev/vg_db/vl_db
Увеличение физического диска
Первым делом нужно пересканировать диски:
echo 1 > /sys/block/sda/device/rescan
В случае увеличения диска, который не входит в VLM понадобится утилита growpart из набора cloud-utils-growpart
sudo yum -y install cloud-utils-growpart
Далее увиличиваем нужный диск, например:
growpart /dev/sdc 2
После этого resize2fs
resize2fs /dev/sdb2