На одной из виртуальных машин, где крутился 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: 0x0003e6f5Device 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 LVMDisk /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: 0x00000000Disk /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: 0x0003e6f5Device 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
Источники:
Спасибо, пол интернера обыскал чтоб это найти: наконец то кто расписал работу с fdisk-ом.
Пойду пробовать.
Спасибо, все работает. Забираю в избранное, распецатаю еще до кучи )
[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
подскажите пожалуйста что не так?
Спасибо за статью!
Respect !!! +++
После удаления существующей партиции и добавлении новой, система не видит мою volume group и не грузится. Диск /dev/sda3 (на котором я удалял и добавлял партиции) вообще не видит.
http://clip2net.com/s/3BasKsa
После перезагрузки система не грузится.
Kernel panic — not syncing attempted to kill init.
Есть варианты исправить?
echo 1 > /sys/block//device/rescan
dmesg — смотрим если ругани нет все нормально
pvresize /dev/ — это расширит LVM
далее расширяем логический том (например, на 10 Gb)
lvresize -L +10G VG1/lv1
в заключении ресайзить файловую систему
resize2fs /dev/VG1/lv1
Большое спасибо, все подробно изложено даже для неюксоида, коим являюсь 🙂 все получилось! теперь имею представление о файловых системах и работе с командой fdisk. Мой Moodle опять в строю! Еще раз спасибо!
Всегда рад помочь.
Здравствуйте! Подскажите пожалуйста, а как всё вернуть назад? Я изменил размер диска с 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 ГБ. Нельзя уменьшить размер диска, можно только увеличить. Помогите с решением.