У меня есть виртуальная машина CentOS 5, и я добавил еще 20 ГБ к размеру диска. Как мне инициализировать и расширить доступное пространство?
Я также попытался загрузить GParted, но диск заблокирован. Как его разблокировать?
решение1
Вы не сможете использовать GParted, поскольку файловая система находится на LVM, а GParted ее не поддерживает.
Сначала СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ ВМ. Затем выполните следующее как "root" из командной строки.
Похоже, вы уже перезагрузились, но на всякий случай убедитесь, что ядро распознает больший диск.
echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
Измените размер второго раздела с помощью fdisk
fdisk /dev/sda p # print current d # delete - 2 n # create - p # primary partition 2 # partition number - default first/last cylinders t # change partition id - 2 - 8e (hex code) p # print the current again to verify it's expanded w # write changes
Перезагрузите виртуальную машину.
shutdown -r now
После создания резервной копии измените размер физического тома LVM.
pvresize /dev/sda2
Теперь измените размер логического тома LVM (ПРИМЕЧАНИЕ:Я не могу расшифровать имя вашего логического тома на основе снимков экрана и поэтому предполагаю
LogVol00
. Вы можете определить это, запустивlvdisplay
.)lvresize -l +100%FREE /dev/VolGroup00/LogVol00
Наконец, давайте изменим размер файловой системы.
resize2fs -p /dev/VolGroup00/LogVol00
Убедитесь, что файловая система больше
df -h
Сделанный
решение2
Приведенные ниже шаги позволили расширить мой раздел с 12 ГБ до 26 ГБ на VMWare EXSi 5.5 под управлением Centos 6 EXT4 VPS.
1) Определите имя устройства, которое по умолчанию /dev/sda, и подтвердите новый размер, выполнив команду:
# fdisk -l
2) Получить список разделов для устройства /dev/sda:
# ls -al /dev/sda*
brw-rw---- 1 root disk 8, 0 Dec 29 15:32 /dev/sda
brw-rw---- 1 root disk 8, 1 Dec 29 15:32 /dev/sda1
brw-rw---- 1 root disk 8, 2 Dec 29 15:32 /dev/sda2
3) Создать новый основной раздел
# fdisk /dev/sda
Then type:
n (enter) [create new partition]
p (enter) [primary partition]
3 (enter) [next available number from listed /dev/sda partitions in 2)
(enter) [start cylinder]
(enter to use all available physical space) or specify size in +cylinders, +size{K,M,G}
t (enter) [change partition type]
3 (enter) [selecting /dev/sda3 partition]
8e (enter) [this sets partition type to Linux LVM or type L then enter to see list of types]
w (enter)
The partition table has been altered!
4) Перезагрузите Centos 6.X, затем войдите в систему с правами root.
# reboot
5) Проверьте готовность нового раздела и введите «8e»:
# fdisk -l
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
/dev/sda3 2089 3916 14678054 8e Linux LVM
6) Создать физический объем:
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
7) Узнайте имя группы томов:
# vgdisplay
--- Volume group ---
VG Name vg_app1
...
8) Расширить физический объем:
# vgextend vg_app1 /dev/sda3
Volume group "vg_app1" successfully extended
9) Расширьте существующую группу томов до нового физического тома (+100%FREE можно изменить до желаемого размера). Поскольку мы расширяем корневой раздел, то указываем на lv_root в группе томов vg_app1.
# lvextend -l +100%FREE /dev/vg_app1/lv_root
Size of logical volume vg_app1/lv_root changed from 11.63 GiB (2978 extents) to 25.63 GiB (6561 extents).
Logical volume lv_root successfully resized
10) Измените размер логического корневого тома:
# resize2fs /dev/vg_app1/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_app1/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_app1/lv_root to 6718464 (4k) blocks.
The filesystem on /dev/vg_app1/lv_root is now 6718464 blocks long.
Примечание: используйте ext2online вместо resize2fs, если это виртуальная машина Red Hat.
11) Проверьте наличие свободного места:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_app1-lv_root
26G 10G 14G 42% /
tmpfs 9.8G 0 9.8G 0% /dev/shm
/dev/sda1 477M 88M 364M 20% /boot
решение3
Легко. Зайдите в свою виртуальную машину как root. Введите "fdisk -l" — если вы уже видите новый размер диска — хорошо.
Если нет - попробуйте partprobe
- если вы все еще не видите новый размер диска - перезагрузите компьютер.
Сейчасfdisk /dev/sda
- Запишите начальный цилиндр для второго раздела.
- «Удалить» второй раздел
- Воссоздайте второй раздел, тот же начальный цилиндр, последний цилиндр для конца
- установите тип воссозданного раздела на 8e (LVM)
- запишите изменения и выйдите из fdisk
partprobe
pvresize /dev/sda2
Теперь в вашем VG VolGroup00 на 20 ГБ больше места. Делайте с ним все, что хотите. Точно так же, как вы бы делали это в физической системе (например, изменяйте размер LV, а затем изменяйте размер FS).
решение4
Здесь я беру пример раздела для расширения диска с 5 ГБ до 7 ГБ без потери данных. Вы можете изменить в соответствии с имеющимся у вас свободным пространством.
Перед тем, как увеличить размер диска, я взял следующие данные с виртуальной машины Linux:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 5.0G 39M 4.7G 1% /mnt/test
# fdisk -s /dev/sdb
Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 83 Linux
Завершите работу виртуальной машины прямо сейчас.
Теперь я собираюсь увеличить существующий виртуальный диск ( /dev/sdb
) из командной строки VMware. Примечание: эта задача должна выполняться только при выключенной виртуальной машине.
Перейдите к месту расположения виртуального диска.
# vmware-vdiskmanager -x 7Gb RedHatEnterprise_Linux_4-0.vmdk
Теперь он увеличит виртуальный диск до 7Гб.
Теперь вам нужно включить виртуальную машину. Войдите в виртуальную машину с помощью PuTTY или консоли как пользователь root.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 5.0G 39M 4.7G 1% /mnt/test
Он все еще показывает старый размер. Отмонтируйте раздел, который вы собираетесь увеличить.
# umount /dev/sdb1
Запустите восстановление файловой системы на диске.
# fsck -n /dev/sdb1
Теперь нам предстоит удалить журнал с диска, чтобы превратить его в файловую систему ext2.
# tune2fs -O ^has_journal /dev/sdb1
Теперь начните разбиение на разделы /dev/sdb
, чтобы назначить увеличенное пространство для /dev/sdb1
. Примечание: не паникуйте, вы не потеряете данные здесь.
Я удаляю существующее /dev/sdb1
и создаю заново вместе с доступным свободным пространством.
# fdisk /dev/sdb
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 652 5237158+ 83 Linux
Command (m for help): d
Selected partition 1
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-913, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-913, default 913):
Using default value 913
Command (m for help): p
Disk /dev/sdb: 7516 MB, 7516192768 bytes
255 heads, 63 sectors/track, 913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 913 7333641 83 Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
Теперь перезагрузите машину Linux, чтобы изменения вступили в силу (мы также можем использовать partprobe
, настоятельно рекомендуется перезагрузить машину).
# shutdown now -r
Теперь еще раз проверьте расширенную файловую систему, если вы пропустите этот шаг, resize2fs
команда порекомендует запустить ее.
# e2fsck -f /dev/sdb1
e2fsck 1.35 (28-Feb-2004)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 13/655360 files (7.7% non-contiguous), 22121/1309289 blocks
Теперь измените размер файловой системы.
# resize2fs /dev/sdb1
resize2fs 1.35 (28-Feb-2004)
Resizing the filesystem on /dev/sdb1 to 1833410 (4k) blocks.
The filesystem on /dev/sdb1 is now 1833410 blocks long.
Теперь проверьте файловую систему.
# fsck -n /dev/sdb1
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdb1: clean, 13/917504 files, 30538/1833410 blocks
Теперь пересоздайте раздел в формате ext3.
# tune2fs -j /dev/sdb1
tune2fs 1.35 (28-Feb-2004)
Creating journal inode: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Перезагрузите компьютер Linux один раз, чтобы эффективно использовать файловую систему ext3.
# shutdown -r now
Снова заходите в Linux box, используя привилегии root. Теперь вы можете обнаружить, что раздел увеличен до 7 ГБ.
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 2.1G 4.5G 32% /
/dev/sda1 99M 12M 83M 13% /boot
none 252M 0 252M 0% /dev/shm
/dev/sdb1 6.9G 39M 6.7G 1% /mnt/test