Увеличение диска в CentOS на ESXi — различия между версиями

Материал из База знаний
Перейти к: навигация, поиск
 
(не показано 10 промежуточных версий этого же участника)
Строка 1: Строка 1:
 
'''Увеличение диска в CentOS на ESXi'''
 
'''Увеличение диска в CentOS на ESXi'''
 
[[category:Linux]]
 
[[category:Linux]]
 +
[[category:vmware]]
  
Одним из решений проблемы с "резиновым" диском, может стать использование Thin Provision в ESXi и LVM + ReiserFS в клиентской системе ан базе CentOS (как один из вариантов и рассмотренных здесь).
+
Схожая статья: [[Изменение_размера_диска_в_Linux_без_потери_данных|Изменение размера диска в Linux без потери данных]]
 +
 
 +
Одним из решений проблемы с "резиновым" диском, может стать использование Thin Provision в ESXi и LVM + ReiserFS(либо xfs) в клиентской системе ан базе CentOS (как один из вариантов и рассмотренных здесь).
  
 
Итак, имеем:
 
Итак, имеем:
Строка 26: Строка 29:
 
Создание Logical Volume на vg1 размером 2Гб с именем lv1:
 
Создание Logical Volume на vg1 размером 2Гб с именем lv1:
 
  lvcreate -n lv1 -L2G vg1
 
  lvcreate -n lv1 -L2G vg1
 +
Либо занять все доступное место:
 +
lvcreate -n lv1 -l 100%FREE vg1
 
Форматирование lv1 в файловую систему reiserfs:
 
Форматирование lv1 в файловую систему reiserfs:
 
  mkfs.reiserfs /dev/sdb
 
  mkfs.reiserfs /dev/sdb
Строка 32: Строка 37:
 
# '''for scsi_device in /sys/class/scsi_device/*; do echo 1 > $scsi_device/device/rescan; done''' - перечитаем свойства дисков
 
# '''for scsi_device in /sys/class/scsi_device/*; do echo 1 > $scsi_device/device/rescan; done''' - перечитаем свойства дисков
 
# '''pvresize /dev/sdb''' - увеличиваем размер PV до максимального размера
 
# '''pvresize /dev/sdb''' - увеличиваем размер PV до максимального размера
 +
# '''vgdisplay''' - смотрим значение Free, допустим, оно равно 2 Гб
 
# '''lvresize -L +2G /dev/vg1/lv1''' - увеличиваем LV1 на 2 Гб
 
# '''lvresize -L +2G /dev/vg1/lv1''' - увеличиваем LV1 на 2 Гб
 +
# либо так: '''lvresize -l +100%FREE /dev/vg1/lv1''' - увеличение LV1 до максимума
 
# '''resize_reiserfs /dev/vg1/lv1''' - увеличиваем файловую систему на LV1
 
# '''resize_reiserfs /dev/vg1/lv1''' - увеличиваем файловую систему на LV1
 +
# либо, если файловая система xfs, так: '''xfs_growfs /dev/vg1/lv1'''
 
Проверяем:
 
Проверяем:
 
  df -k
 
  df -k
Можно еще проверить с помощью chkdsk, но тогда надо размонтировать раздел.
+
Можно еще проверить с помощью fsck, но тогда надо размонтировать раздел.
 +
 
 +
-------------------
 +
Можно сделать все то же самое, только на ext4 файловой системе.
 +
Вот скрипт для увеличения файловой системы, после ее увеличения в ESXi:
 +
before=`df -k|grep export`
 +
for scsi_device in /sys/class/scsi_device/*;do echo 1 > $scsi_device/device/rescan; done
 +
pvresize /dev/sdb
 +
lvresize -l +100%FREE /dev/vg1/disk1
 +
resize2fs /dev/vg1/disk1
 +
now=`df -k|grep export`
 +
echo -en "\n---------------\n\tSize,Kb Used,kb Avail,kb Use% Mounted\nBefore:\t"
 +
echo $before
 +
echo -en "Now: \t"
 +
echo $now

Текущая версия на 02:47, 14 марта 2019

Увеличение диска в CentOS на ESXi

Схожая статья: Изменение размера диска в Linux без потери данных

Одним из решений проблемы с "резиновым" диском, может стать использование Thin Provision в ESXi и LVM + ReiserFS(либо xfs) в клиентской системе ан базе CentOS (как один из вариантов и рассмотренных здесь).

Итак, имеем:

  1. ESXi host,
  2. VM с CentOS
  3. Один или несколько дисков в Thin Provision (имеется возможность динамически увеличивать размер диска на горячую)

Предполагаем, что на клиентской ОС уже установлен VMWare Tools и поддержка ReiserFS. VMWare Tools не является обязательным условием, но желательно чтобы был. Лучше устанавливать поддержку ReiserFS после установки VMWare Tools.

Можно подключить диск на горячую, здесь написано как.

Просмотр существующих PV:

pvdisplay

Создание PV (если диск /dev/sdb):

pvcreate /dev/sdb

Лучше создавать прямо на диске, не прибегая к помощи fdisk, т.к. передвигать разделы значительно сложнее и без перезагрузки не реально (я не нашел как). Просмотр VG:

vgdisplay

Создание VG (имя Volume Group - vg1, PV - /dev/sdb):

vgcreate vg1 /dev/sdb

Просмотр LV:

lvdisplay

Создание Logical Volume на vg1 размером 2Гб с именем lv1:

lvcreate -n lv1 -L2G vg1

Либо занять все доступное место:

lvcreate -n lv1 -l 100%FREE vg1

Форматирование lv1 в файловую систему reiserfs:

mkfs.reiserfs /dev/sdb

Далее, предположим, что на виртуальном хосте увеличился диск /dev/sdb, скажем на 2 Гб, для примера. Что делаем для увеличения файловой системы на виртуальной машине, под управлением CentOS:

  1. for scsi_device in /sys/class/scsi_device/*; do echo 1 > $scsi_device/device/rescan; done - перечитаем свойства дисков
  2. pvresize /dev/sdb - увеличиваем размер PV до максимального размера
  3. vgdisplay - смотрим значение Free, допустим, оно равно 2 Гб
  4. lvresize -L +2G /dev/vg1/lv1 - увеличиваем LV1 на 2 Гб
  5. либо так: lvresize -l +100%FREE /dev/vg1/lv1 - увеличение LV1 до максимума
  6. resize_reiserfs /dev/vg1/lv1 - увеличиваем файловую систему на LV1
  7. либо, если файловая система xfs, так: xfs_growfs /dev/vg1/lv1

Проверяем:

df -k

Можно еще проверить с помощью fsck, но тогда надо размонтировать раздел.


Можно сделать все то же самое, только на ext4 файловой системе. Вот скрипт для увеличения файловой системы, после ее увеличения в ESXi:

before=`df -k|grep export`
for scsi_device in /sys/class/scsi_device/*;do echo 1 > $scsi_device/device/rescan; done
pvresize /dev/sdb
lvresize -l +100%FREE /dev/vg1/disk1
resize2fs /dev/vg1/disk1
now=`df -k|grep export`
echo -en "\n---------------\n\tSize,Kb Used,kb Avail,kb Use% Mounted\nBefore:\t"
echo $before
echo -en "Now: \t"
echo $now