Как изменить размер (в частности, увеличить) размер диска гостевой виртуальной машины Fedora, работающей под VMWare ESXi 4.1?
У меня есть виртуальная машина Fedora 16 с диском в формате lvm2, и я увеличил размер ее диска с помощью клиента vSphere с 50 ГБ до примерно 250 ГБ. Я перезагрузил гостя, и он правильно показывает этот размер с помощью fdisk -l /dev/sda
. Тем не мение, df -H
по-прежнему показывает старый размер.
Я нашел несколько Статьи базы знаний объясняя, как изменить размер разделов для некоторых разновидностей Linux, но ничего для Fedora с ext4. Эта статья, кажется, подразумевает, что я должен создать совершенно новый раздел и что я не могу просто расширить существующий раздел. Используя Gparted, я также не могу просто изменить размер существующего раздела. Разве в Linux это невозможно сделать?
Изменить: оказывается, что диск отформатирован как LVM2, что, по-видимому, не поддерживает большинство инструментов Linux, таких как GParted.
Изменить: раздел в логическом томе, который мне нужно изменить, является корневым разделом. Есть ли способ сделать это без LiveCD?
Это что-то вроде вырезки из документа, который я написал для внутреннего использования, и хотя он, вероятно, чрезмерно отвечает на ваш вопрос, я подумал, что поставлю его здесь на случай, если он будет полезен вам или другим ОК.
Войдите в систему как root или sudo
каждую из следующих команд введите fdisk –l
, вы должны увидеть что-то вроде этого;
Disk /dev/sda: 21.1 GB, 21xxxxxxxxx bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
В этом случае я изменил значения, но, как вы можете видеть, на этой машине есть один корневой виртуальный диск размером ~ 20 ГБ с двумя разделами, sda1 и sda2, sda2 - наш первый физический том LVM, посмотрите, как LVM использует тип раздела «8e».
Теперь введите pvdisplay
, вы увидите такой раздел для этого первого PV (sda2);
--- Physical volume ---
PV Name /dev/sda2
VG Name rootvg
PV Size 19.89 GB / not usable 19.30 MB
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 636
Free PE 0
Allocated PE 636
PV UUID PgwRdY-EvCC-b5lO-Qrnx-tkrd-m16k-eQ9beC
Это показывает, что этот второй раздел (sda2) сопоставлен с «группой томов» с именем «rootvg».
Теперь мы можем увеличить размер виртуального диска с помощью обычного vSphere VSClient, выбрав виртуальную машину, выбрав «изменить настройки», а затем выбрав «Жесткий диск 1». Затем вы можете увеличить число Provisioned Size (если в любом случае нет снимков) и нажать OK. Это займет несколько секунд.
Если вы затем переключитесь обратно на виртуальную машину Linux и введите
echo "- - -" > /sys/class/scsi_host/hostX/scan
где символ X, вероятно, будет нулевым, он выполнит повторное сканирование шины SCSI, а затем запустит fdisk –l
, вы должны увидеть что-то вроде:
Disk /dev/sda: 42.2 GB, 42xxxxxxxxx bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
Вы увидите, что размер диска увеличился, в данном случае до ~ 40 ГБ с ~ 20 ГБ, но таблица разделов осталась прежней.
Теперь нам нужно создать новый раздел LVM, введите parted
, вы должны увидеть что-то вроде этого;
GNU Parted 1.8.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
Теперь вам нужно создать новый раздел для дополнительного нового пространства, введите «p», чтобы увидеть текущую таблицу разделов, такую как эта;
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 107MB 107MB primary ext3 boot
2 107MB 21.5GB 21.4GB primary lvm
Затем введите mkpart
, затем выберите 'p' для 'Primary', для типа файловой системы введите 'ext3', для начала введите число немного выше, чем комбинация обоих 'размеров', перечисленных выше (т.е. 107 МБ + 21,4 ГБ, скажем, 21,6 ГБ) , в качестве конца введите размер диска (т.е. в данном случае 42,9 ГБ). После того, как вы нажмете Enter, будет создан этот новый первичный раздел, введите «p», чтобы отобразить новую таблицу разделов, вы должны увидеть что-то вроде
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 32.3kB 107MB 107MB primary ext3 boot
2 107MB 21.5GB 21.4GB primary lvm
3 21.5GB 42.9GB 21.5GB primary ext3
Вы увидите, что новый раздел начинается после первых двух и заполняет доступное пространство, к сожалению, нам пришлось установить для него тип «ext3», поэтому давайте изменим это.
Введите 't', затем номер раздела (в нашем случае 3, поскольку это третий раздел), затем для 'шестнадцатеричного кода' введите '8e' - как только вы сделаете это снова, введите 'p' и вы увидите, что он изменился. в «Linux LVM»;
Disk /dev/sda: 42.9 GB, 42949672960 bytes
ads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2610 20860402+ 8e Linux LVM
/dev/sda3 2611 5221 20972857+ 8e Linux LVM
Теперь нам нужно создать новый физический том LVM в этом новом разделе, введите pvcreate /dev/sda3
, это должно создать новый LVM PV с именем / dev / sda3, введите pvdisplay
Проверять;
--- Physical volume ---
PV Name /dev/sda3
VG Name
PV Size 20.00 GB / not usable 1.31 MB
Allocatable no
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID gpYPUv-XdeL-TxKJ-GYCa-iWcy-9bG6-tfZtSh
Вы должны увидеть что-то похожее на приведенное выше.
Теперь нам нужно расширить группу томов rootvg или создать новую для некорневой группы томов, введите vgdisplay
чтобы перечислить все «группы томов», вот пример;
--- Volume group ---
VG Name rootvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 19
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 8
Open LV 8
Max PV 0
Cur PV 2
Act PV 2
VG Size 21.3 GB
PE Size 32.00 MB
Total PE 1276
Alloc PE / Size 846 / 26.44 GB
Free PE / Size 430 / 13.44 GB
VG UUID tGM4ja-k6es-la0H-LcX6-1FMY-6p2g-SRYtfY
Если вы хотите расширить тип rootvg Volume Group vgextend rootvg /dev/sda3
, как только вы нажмете Enter, вы должны увидеть сообщение о том, что «группа томов» была расширена.
Если вы хотите создать новую «группу томов», вам нужно будет использовать vgcreate
команда - наверное, лучше позвонить мне, чтобы помочь с этим.
После продления введите vgdisplay
еще раз, чтобы увидеть, что группа томов rootvg действительно была расширена, например, здесь;
--- Volume group ---
VG Name rootvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 19
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 8
Open LV 8
Max PV 0
Cur PV 2
Act PV 2
VG Size 39.88 GB
PE Size 32.00 MB
Total PE 1276
Alloc PE / Size 846 / 26.44 GB
Free PE / Size 430 / 13.44 GB
VG UUID tGM4ja-k6es-la0H-LcX6-1FMY-6p2g-SRYtfY
Вы можете видеть, что размер VG соответствует ожиданиям.
Теперь нам нужно расширить «логический том», введите lvdisplay
чтобы показать наши «логические тома», вы увидите что-то вроде:
--- Logical volume ---
LV Name /dev/rootvg/var
VG Name rootvg
LV UUID NOP1jF-09Xt-LkX5-ai4w-Srqb-xGka-nYbI2J
LV Write Access read/write
LV Status available
# open 1
LV Size 3.00 GB
Current LE 320
Segments 3
Allocation inherit
Read ahead sectors auto
currently set to 256
Block device 253:2
Если мы хотим расширить файловую систему / var с 3 ГБ до 10 ГБ, введите lvextend –L 10G /dev/rootvg/var
, теперь введите lvdisplay
снова вы увидите, что «логический том» вырос до 10 ГБ;
--- Logical volume ---
LV Name /dev/rootvg/var
VG Name rootvg
LV UUID NOP1jF-09Xt-LkX5-ai4w-Srqb-xGka-nYbI2J
LV Write Access read/write
LV Status available
# open 1
LV Size 10.00 GB
Current LE 320
Segments 3
Allocation inherit
Read ahead sectors auto
currently set to 256
Block device 253:2
Теперь последнее, что нам нужно сделать, это расширить фактическую файловую систему, при этом не обязательно использовать все вновь добавленное пространство. Войти df –h
чтобы показать текущие файловые системы, вот пример;
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-root
2.0G 1.4G 495M 74% /
/dev/mapper/rootvg-home
248M 124M 113M 53% /home
/dev/mapper/rootvg-var
3.0G 1.1G 1.8G 30% /var
/dev/mapper/rootvg-usr
3.0G 936M 1.9G 34% /usr
/dev/mapper/rootvg-opt
3.0G 811M 2.0G 29% /opt
Если мы хотим расширить файловую систему / var с 3 ГБ до 10 ГБ, введите resize2fs /dev/mapper/rootvg-var
(или, возможно, на CentOS xfs_growfs /dev/mapper/rootvg-var
или аналогичные команды в зависимости от типа файловой системы). Когда вы нажимаете Enter, фактическая файловая система будет расти, это может занять время, введите df –h
после завершения, чтобы проверить.
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-root
2.0G 1.4G 495M 74% /
/dev/mapper/rootvg-home
248M 124M 113M 53% /home
/dev/mapper/rootvg-var
9.88G 1.1G 8.2G 12% /var
/dev/mapper/rootvg-usr
3.0G 936M 1.9G 34% /usr
/dev/mapper/rootvg-opt
3.0G 811M 2.0G 29% /opt
Вы закончили!
Перед lvextend выполните следующие шаги
#pvcreate / dev / sda3 (для создания нового физического тома, если вы не можете создать, вероятно, вы не перезагружались после создания раздела)
#pvdisplay (чтобы убедиться, что вы создали новый физический том)
#vgcreate VolGroup / dev / sda3 (чтобы назначить VolGroup новому физическому тому)
#lvdisplay (чтобы получить логический путь к разделу, который вы хотите расширить)
#lvcreate -LxxGB -n root_new VolGroup (чтобы назначить логический размер и создать новый логический том)
#lvextend / dev / mapper / VolGroup-lv_root / dev / sda3 (наконец, расширьте корневой (если) раздел)
#lvdisplay (проверить LV размер, если он увеличился или нет)
# resize2fs / dev / mapper / VolGroup-lv_root (для изменения размера фактической файловой системы)
#df -h (затем проверьте, увеличилось ли фактическое значение файловой системы или нет)
тебе нужно изменить его размер сейчас
resize2fs /dev/sda
Вы должны быть на ядре 2.6, сделайте это с смонтированной файловой системой и включенным параметром, позволяющим изменять размер в оперативном режиме. В противном случае вам придется сначала размонтировать устройство, изменить размер, а затем снова подключить устройство.