Увеличение размера диска в VMWare

On 25/11/2013, in Linux, by Алексей Волобуев

На одной из виртуальных машин, где крутился Linux (Centos), необходимо было увеличть объем диска. Читаем дальше, как я это делал.

Вначале смотрим объем, который уже есть:

#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_webconf-lv_root   12G  3.2G  7.7G  30% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             485M   64M  397M  14% /boot

Итак, на машине в разделе / 12 Гбайт. В свойствах виртуальной машины увеличиваем объем жесткого диска до 30 Гб. Смотрим, где прибавилось:

 fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003e6f5

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2089    16264192   8e  Linux LVM

Disk /dev/mapper/vg_webconf-lv_root: 12.4 GB, 12423528448 bytes
255 heads, 63 sectors/track, 1510 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/vg_webconf-lv_swap: 4227 MB, 4227858432 bytes
255 heads, 63 sectors/track, 514 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Разбиваем диск

/sbin/fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
switch off the mode (command ‘c’) and change display units to
sectors (command ‘u’).

Смотрим, какие разделы есть на диске

Command (m for help): p

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0003e6f5

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2089    16264192   8e  Linux LVM

Нам нужна вторая партиция, ее надо расширить. Сначало удаляем ее:

Command (m for help): d
Partition number (1-4): 2

Потом создадим новую:

Command (m for help): n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (64-3916, default 64): Оставляем по умолчанию, жмем клавишу Enter
Using default value 64
Last cylinder, +cylinders or +size{K,M,G} (64-3916, default 3916): Оставляем по умолчанию, жмем клавишу Enter
Using default value 3916

Меняем тип файловой системы на LVM:

Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 8e
Changed system type of partition 2 to 8e (Linux LVM)

Записываем таблицу разделов на диск:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

Для применения настроек перезагружаемся:
reboot

Проверим статус группы томов командой vgdisplay:

# vgdisplay
— Volume group —
VG Name               vg_webconf
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  3
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                1
Act PV                1
VG Size               15.51 GiB
PE Size               4.00 MiB
Total PE              3970
Alloc PE / Size       3970 / 15.51 GiB
Free  PE / Size       0 / 0
VG UUID               gnPIcM-A3O3-7zXX-KDw8-K7iK-hzUX-4gx5fx

Что бы расширить том до максимума воспользуемся командой:

# pvresize /dev/sda2
Physical volume «/dev/sda2» changed
1 physical volume(s) resized / 0 physical volume(s) not resized

Еще раз проверим статус группы томов командой vgdisplay:

# vgdisplay
— Volume group —
VG Name               vg_webconf
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  4
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                1
Act PV                1
VG Size               29.51 GiB
PE Size               4.00 MiB
Total PE              7554
Alloc PE / Size       3970 / 15.51 GiB
Free  PE / Size       3584 / 14.00 GiB
VG UUID               gnPIcM-A3O3-7zXX-KDw8-K7iK-hzUX-4gx5fx

Видим, что появилось свободное пространство на томе. Следующей командой увеличиваем размер логического тома на все доступное дисковое пространство:

# lvextend -l +100%FREE /dev/vg_webconf/lv_root
Extending logical volume lv_root to 25.57 GiB
Logical volume lv_root successfully resized

Еще раз проверим статус группы томов командой vgdisplay:

# vgdisplay

— Volume group —
VG Name               vg_webconf
System ID
Format                lvm2
Metadata Areas        1
Metadata Sequence No  5
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                1
Act PV                1
VG Size               29.51 GiB
PE Size               4.00 MiB
Total PE              7554
Alloc PE / Size       7554 / 29.51 GiB
Free  PE / Size       0 / 0
VG UUID               gnPIcM-A3O3-7zXX-KDw8-K7iK-hzUX-4gx5fx

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

#resize2fs -p /dev/vg_webconf/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_webconf/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/vg_webconf/lv_root to 6703104 (4k) blocks.
The filesystem on /dev/vg_webconf/lv_root is now 6703104 blocks long.

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_webconf-lv_root 26G  3.2G   21G  14% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
/dev/sda1             485M   64M  397M  14% /boot

 

Источники:

Tagged with:  

12 Responses to Увеличение размера диска в VMWare

  1. Станислав:

    Спасибо, пол интернера обыскал чтоб это найти: наконец то кто расписал работу с fdisk-ом.

    Пойду пробовать.

  2. Станислав:

    Спасибо, все работает. Забираю в избранное, распецатаю еще до кучи )

  3. Анатолий:

    [root@localhost ~]# vgdisplay
    — Volume group —
    VG Name fedora
    System ID
    Format lvm2
    Metadata Areas 1
    Metadata Sequence No 6
    VG Access read/write
    VG Status resizable
    MAX LV 0
    Cur LV 2
    Open LV 2
    Max PV 0
    Cur PV 1
    Act PV 1
    VG Size 30.51 GiB
    PE Size 4.00 MiB
    Total PE 7810
    Alloc PE / Size 4994 / 19.51 GiB
    Free PE / Size 2816 / 11.00 GiB
    VG UUID Z1fBfZ-qerG-iNOc-8HqO-y2vk-zvI3-8mZwOf
    [root@localhost ~]# lvextend -l +100%FREE /dev/fedora/lv_fedora-root
    Logical volume lv_fedora-root not found in volume group fedora

    подскажите пожалуйста что не так?

  4. Shurik:

    Спасибо за статью!

  5. Dima G.:

    Respect !!! +++

  6. Александр:

    После удаления существующей партиции и добавлении новой, система не видит мою volume group и не грузится. Диск /dev/sda3 (на котором я удалял и добавлял партиции) вообще не видит.
    http://clip2net.com/s/3BasKsa

  7. user:

    После перезагрузки система не грузится.
    Kernel panic — not syncing attempted to kill init.

    Есть варианты исправить?

  8. Alexey:

    echo 1 > /sys/block//device/rescan
    dmesg — смотрим если ругани нет все нормально
    pvresize /dev/ — это расширит LVM

    далее расширяем логический том (например, на 10 Gb)
    lvresize -L +10G VG1/lv1

    в заключении ресайзить файловую систему
    resize2fs /dev/VG1/lv1

  9. Илья:

    Большое спасибо, все подробно изложено даже для неюксоида, коим являюсь 🙂 все получилось! теперь имею представление о файловых системах и работе с командой fdisk. Мой Moodle опять в строю! Еще раз спасибо!

  10. Нуршат:

    Здравствуйте! Подскажите пожалуйста, а как всё вернуть назад? Я изменил размер диска с 50 ГБ на 80 ГБ. Сделал снимок сервера (когда есть снимок, в vmware vsphere client нельзя изменить характеристики, кнопки неактивные). После для теста увеличил размер диска по вашей инструкции. Всё получилось. Потом откатился назад по снимку. Уменьшил размер на 50 ГБ. Удалил снимок. Перезагрузился. После:
    # fdisk -l
    Disk /dev/sda: 85.9 GB, 85899345920 bytes (тут было Disk /dev/sda: 53.7 GB, 53687091200 bytes)
    255 heads, 63 sectors/track, 10443 cylinders (тут было 255 heads, 63 sectors/track, 6527 cylinders)
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0006dcdb

    Device Boot Start End Blocks Id System
    /dev/sda1 * 1 64 512000 83 Linux
    Partition 1 does not end on cylinder boundary.
    /dev/sda2 64 6528 51915776 8e Linux LVM

    Disk /dev/mapper/vg_srvweb01-lv_root: 47.8 GB, 47789899776 bytes
    255 heads, 63 sectors/track, 5810 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000

    Disk /dev/mapper/vg_srvweb01-lv_swap: 5368 MB, 5368709120 bytes
    255 heads, 63 sectors/track, 652 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    • Нуршат:

      «Уменьшил размер на 50 ГБ.» Тут я оказывается после не проверил в свойствах ВМ. Ничего не изменилось. Так же стоит 80 ГБ. Нельзя уменьшить размер диска, можно только увеличить. Помогите с решением.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Яндекс.Метрика