Изменение размера дисковых разделов в LINUX
Добавлено: 09 янв 2017, 15:38
Источник: https://blog.eaglenn.ru/izmenenie-razme ... formatsii/
Источник: http://xgu.ru/wiki/LVM
Изменение размера раздела ext2/ext3/ext4 без потери информации
Вследствие неправильного разбиения дисковой системы на разделы или в силу непредвиденного резкого увеличения занимаемого дискового пространства наступает момент, когда места на разделе не хватает. Что же делать в сложившейся ситуации? Переустанавливать систему трудозатратно и не легко. Какой выход? Но выход есть всегда! Причем довольно простой. В современной Linux системе расширение дисковых разделов реализовано достаточно хорошо. В некоторых случаях не потребуется даже перезагрузка системы. Рассмотрим изменение размеров разделов файловых систем ext2, ext3, ext4 операционной системы Linux с помощью утилит fdisk и resize2fs на примерах. Эти методы позволяют сохранить существующую информацию на разделах, но в целях безопасности лучше сделать копии важных данных. Поскольку утилиты работают с от монтированным разделом, то для изменения размера корневого раздела потребуется загрузка с установочного или live-диска. Если же у вас desktop с графической системой, то можно воспользоваться легкой в применении программой gparted с графическим интерфейсом.
Увеличение размера раздела ext2/ext3/ext4 в виртуальной машине
Добавляем объема диску в vmware консоли.
Перезагружаем машину, или включаем, если выключали.
проверяем объем диска
меняем размер раздела
меняем ФС. проверяем результат
Увеличение размера раздела ext2/ext3/ext4 (иной вариант)
И так, предположим, что в нашей системе имеется диск /dev/sdd размером 2 Тб с разделом /dev/sdd1 размером 1 Тб. Попробуем увеличить размер раздела /dev/sdd1 до 2 Тб, т.е. максимально возможного размера. Для этого зайдем используя ssh на консоль сервера, где введем несколько последовательных команд:
от монтируем партицию:
umount /dev/sdd1
выполним проверку партиции:
fsck -f /dev/sdd1
запустим утилиту fdisk
fdisk /dev/sdd
После выполнения последней команды мы попадаем в интерактивную оболочку fdisk. Нажмем клавишу d (удалить раздел):
Команда (m для справки):
d
Выбранный раздел 1
Создаём новый раздел:
Команда (m для справки):
n
Действие команды
e расширенный
p основной раздел (1-4)
p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-2097151, по умолчанию 2048): <жмём Enter>
Последний сектор тоже выбираем по-умолчанию, нажав Enter:
Last сектор, +секторы or +size{K,M,G} (2048-1097151, по умолчанию 1097151):
<жмём Enter>
После этого записываем новую таблицу раздела на диск, нажав w:
Команда (m для справки):
w
Таблица разделов была изменена!
...
Синхронизируются диски
Теперь увеличиваем размер файловой системы до последнего сектора:
resize2fs /dev/sdd1
После этого монтируем раздел обратно:
mount /dev/sdd1 /mnt/data
И проверяем новый размер раздела:
df -h
Уменьшение размера раздела ext2/ext3/ext4
Для уменьшения размера раздела с файловой системой ext2/ext3/ext4 необходимо выполнить те же действия, но в обратном порядке.
Например, уменьшим размер раздела до 100 Мб (главное, чтобы этот размер был больше занятого файлами пространства на разделе).
от монтируем партицию:
umount /dev/sdd1
выполним проверку партиции:
fsck -f /dev/sdd1
выполним команду resize2fs указав в качестве параметра размер новой партиции (100 Мб):
resize2fs /dev/sdd1 100M
запустим утилиту fdisk
fdisk /dev/sdd
Команда (m для справки):
d
Команда (m для справки):
n
Действие команды
e расширенный
p основной раздел (1-4)
p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-2097151, по умолчанию 2048): <жмём Enter>
Последний сектор выбираем не по-умолчанию, а соответственно новому размеру раздела:
Первый сектор (2048-2097151, по умолчанию 2048):
+100M
После этого записываем новую таблицу раздела на диск, нажав w:
Команда (m для справки):
w
Таблица разделов была изменена!
...
Синхронизируются диски
После этого монтируем раздел обратно:
mount /dev/sdd1 /mnt/data
И проверяем новый размер раздела:
df -h
Увеличение размера LVM раздела
После увеличения физического диска делаем рескан
# for x in /sys/class/scsi_disk/*; do echo '1' > $x/device/rescan; done
если рескан не помог, перезагружаем машину
Смотрим что у нас есть в системе по дискам и разделам
lsblk
pvdisplay
vgdisplay
lvdisplay
pvs
vgs
lvs
создаем новый физический раздел
pvcreate /dev/sda4
расширяем VolumeGroup этим разделом
vgextend VolGroup /dev/sda4
Увеличиваем логический раздел на нужные гигабайты или на все свободное место
lvextend -L+850G /dev/VolGroup/lv_root
lvresize -l +100%FREE /dev/VolGroup/lv_root
Увеличиваем файловую систему
resize2fs /dev/VolGroup/lv_root
проверяем что вышло
lsblk
pvdisplay
vgdisplay
lvdisplay
pvs
vgs
lvs
df -h
Увеличение раздела SWAP (LVM)
To extend an LVM2 swap logical volume (assuming /dev/VolGroup00/LogVol01 is the volume you want to extend):
Отключить SWAP механизм на выбранном разделе:
swapoff -v /dev/VolGroup00/LogVol01
Увеличиваем раздел на 256МБ:
lvm lvresize /dev/VolGroup00/LogVol01 -L +256M
Форматируем раздел в SWAP формат:
mkswap /dev/VolGroup00/LogVol01
Включаем механизм SWAP:
swapon -va
Проверяем результат:
cat /proc/swaps
free
Creating an LVM2 Logical Volume for Swap
To add a swap volume group (assuming /dev/VolGroup00/LogVol02 is the swap volume you want to add):
Create the LVM2 logical volume of size 256 MB:
lvm lvcreate VolGroup00 -n LogVol02 -L 256M
Format the new swap space:
mkswap /dev/VolGroup00/LogVol02
Add the following entry to the /etc/fstab file:
/dev/VolGroup00/LogVol02 swap swap defaults 0 0
Enable the extended logical volume:
swapon -va
Test that the logical volume has been extended properly:
cat /proc/swaps
free
Creating a Swap File
To add a swap file:
Determine the size of the new swap file in megabytes and multiply by 1024 to determine the number of blocks. For example, the block size of a 64 MB swap file is 65536.
At a shell prompt as root, type the following command with count being equal to the desired block size:
dd if=/dev/zero of=/swapfile bs=1024 count=65536
Change the persmissions of the newly created file:
chmod 0600 /swapfile
Setup the swap file with the command:
mkswap /swapfile
To enable the swap file immediately but not automatically at boot time:
swapon /swapfile
To enable it at boot time, edit /etc/fstab to include the following entry:
/swapfile swap swap defaults 0 0
The next time the system boots, it enables the new swap file.
After adding the new swap file and enabling it, verify it is enabled by viewing the output of the command cat /proc/swaps or free.
Источник: http://xgu.ru/wiki/LVM
Изменение размера раздела ext2/ext3/ext4 без потери информации
Вследствие неправильного разбиения дисковой системы на разделы или в силу непредвиденного резкого увеличения занимаемого дискового пространства наступает момент, когда места на разделе не хватает. Что же делать в сложившейся ситуации? Переустанавливать систему трудозатратно и не легко. Какой выход? Но выход есть всегда! Причем довольно простой. В современной Linux системе расширение дисковых разделов реализовано достаточно хорошо. В некоторых случаях не потребуется даже перезагрузка системы. Рассмотрим изменение размеров разделов файловых систем ext2, ext3, ext4 операционной системы Linux с помощью утилит fdisk и resize2fs на примерах. Эти методы позволяют сохранить существующую информацию на разделах, но в целях безопасности лучше сделать копии важных данных. Поскольку утилиты работают с от монтированным разделом, то для изменения размера корневого раздела потребуется загрузка с установочного или live-диска. Если же у вас desktop с графической системой, то можно воспользоваться легкой в применении программой gparted с графическим интерфейсом.
Увеличение размера раздела ext2/ext3/ext4 в виртуальной машине
Добавляем объема диску в vmware консоли.
Перезагружаем машину, или включаем, если выключали.
проверяем объем диска
Код: Выделить всё
root@noc-monitor:~# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xa161d587
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 1953791 1951744 953M 83 Linux
/dev/sda2 1953792 9766911 7813120 3.7G 82 Linux swap / Solaris
/dev/sda3 9766912 25163775 15396864 7.4G 83 Linux
Код: Выделить всё
root@noc-monitor:~# parted
GNU Parted 3.2
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: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1000MB 999MB primary ext4 boot
2 1000MB 5001MB 4000MB primary linux-swap(v1)
3 5001MB 12.9GB 7883MB primary ext4
(parted) resize
Error: The resize command has been removed in parted 3.0
(parted) resizepart
Partition number? 3
Warning: Partition /dev/sda3 is being used. Are you sure you want to continue?
Yes/No? Y
End? [12.9GB]? 21.5GB
(parted) p
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 1000MB 999MB primary ext4 boot
2 1000MB 5001MB 4000MB primary linux-swap(v1)
3 5001MB 21.5GB 16.5GB primary ext4
(parted) q
Information: You may need to update /etc/fstab.
root@noc-monitor:~#
Код: Выделить всё
root@noc-monitor:~# resize2fs /dev/sda3
resize2fs 1.42.12 (29-Aug-2014)
Filesystem at /dev/sda3 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/sda3 is now 4022016 (4k) blocks long.
root@noc-monitor:~#
root@noc-monitor:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 15G 6.6G 7.8G 46% /
udev 10M 0 10M 0% /dev
tmpfs 405M 11M 395M 3% /run
tmpfs 1012M 0 1012M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 1012M 0 1012M 0% /sys/fs/cgroup
/dev/sda1 922M 30M 829M 4% /boot
root@noc-monitor:~#
Увеличение размера раздела ext2/ext3/ext4 (иной вариант)
И так, предположим, что в нашей системе имеется диск /dev/sdd размером 2 Тб с разделом /dev/sdd1 размером 1 Тб. Попробуем увеличить размер раздела /dev/sdd1 до 2 Тб, т.е. максимально возможного размера. Для этого зайдем используя ssh на консоль сервера, где введем несколько последовательных команд:
от монтируем партицию:
umount /dev/sdd1
выполним проверку партиции:
fsck -f /dev/sdd1
запустим утилиту fdisk
fdisk /dev/sdd
После выполнения последней команды мы попадаем в интерактивную оболочку fdisk. Нажмем клавишу d (удалить раздел):
Команда (m для справки):
d
Выбранный раздел 1
Создаём новый раздел:
Команда (m для справки):
n
Действие команды
e расширенный
p основной раздел (1-4)
p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-2097151, по умолчанию 2048): <жмём Enter>
Последний сектор тоже выбираем по-умолчанию, нажав Enter:
Last сектор, +секторы or +size{K,M,G} (2048-1097151, по умолчанию 1097151):
<жмём Enter>
После этого записываем новую таблицу раздела на диск, нажав w:
Команда (m для справки):
w
Таблица разделов была изменена!
...
Синхронизируются диски
Теперь увеличиваем размер файловой системы до последнего сектора:
resize2fs /dev/sdd1
После этого монтируем раздел обратно:
mount /dev/sdd1 /mnt/data
И проверяем новый размер раздела:
df -h
Уменьшение размера раздела ext2/ext3/ext4
Для уменьшения размера раздела с файловой системой ext2/ext3/ext4 необходимо выполнить те же действия, но в обратном порядке.
Например, уменьшим размер раздела до 100 Мб (главное, чтобы этот размер был больше занятого файлами пространства на разделе).
от монтируем партицию:
umount /dev/sdd1
выполним проверку партиции:
fsck -f /dev/sdd1
выполним команду resize2fs указав в качестве параметра размер новой партиции (100 Мб):
resize2fs /dev/sdd1 100M
запустим утилиту fdisk
fdisk /dev/sdd
Команда (m для справки):
d
Команда (m для справки):
n
Действие команды
e расширенный
p основной раздел (1-4)
p
Номер раздела (1-4, по умолчанию 1): 1
Первый сектор (2048-2097151, по умолчанию 2048): <жмём Enter>
Последний сектор выбираем не по-умолчанию, а соответственно новому размеру раздела:
Первый сектор (2048-2097151, по умолчанию 2048):
+100M
После этого записываем новую таблицу раздела на диск, нажав w:
Команда (m для справки):
w
Таблица разделов была изменена!
...
Синхронизируются диски
После этого монтируем раздел обратно:
mount /dev/sdd1 /mnt/data
И проверяем новый размер раздела:
df -h
Увеличение размера LVM раздела
После увеличения физического диска делаем рескан
# for x in /sys/class/scsi_disk/*; do echo '1' > $x/device/rescan; done
если рескан не помог, перезагружаем машину
Смотрим что у нас есть в системе по дискам и разделам
lsblk
pvdisplay
vgdisplay
lvdisplay
pvs
vgs
lvs
создаем новый физический раздел
pvcreate /dev/sda4
расширяем VolumeGroup этим разделом
vgextend VolGroup /dev/sda4
Увеличиваем логический раздел на нужные гигабайты или на все свободное место
lvextend -L+850G /dev/VolGroup/lv_root
lvresize -l +100%FREE /dev/VolGroup/lv_root
Увеличиваем файловую систему
resize2fs /dev/VolGroup/lv_root
проверяем что вышло
lsblk
pvdisplay
vgdisplay
lvdisplay
pvs
vgs
lvs
df -h
Увеличение раздела SWAP (LVM)
To extend an LVM2 swap logical volume (assuming /dev/VolGroup00/LogVol01 is the volume you want to extend):
Отключить SWAP механизм на выбранном разделе:
swapoff -v /dev/VolGroup00/LogVol01
Увеличиваем раздел на 256МБ:
lvm lvresize /dev/VolGroup00/LogVol01 -L +256M
Форматируем раздел в SWAP формат:
mkswap /dev/VolGroup00/LogVol01
Включаем механизм SWAP:
swapon -va
Проверяем результат:
cat /proc/swaps
free
Creating an LVM2 Logical Volume for Swap
To add a swap volume group (assuming /dev/VolGroup00/LogVol02 is the swap volume you want to add):
Create the LVM2 logical volume of size 256 MB:
lvm lvcreate VolGroup00 -n LogVol02 -L 256M
Format the new swap space:
mkswap /dev/VolGroup00/LogVol02
Add the following entry to the /etc/fstab file:
/dev/VolGroup00/LogVol02 swap swap defaults 0 0
Enable the extended logical volume:
swapon -va
Test that the logical volume has been extended properly:
cat /proc/swaps
free
Creating a Swap File
To add a swap file:
Determine the size of the new swap file in megabytes and multiply by 1024 to determine the number of blocks. For example, the block size of a 64 MB swap file is 65536.
At a shell prompt as root, type the following command with count being equal to the desired block size:
dd if=/dev/zero of=/swapfile bs=1024 count=65536
Change the persmissions of the newly created file:
chmod 0600 /swapfile
Setup the swap file with the command:
mkswap /swapfile
To enable the swap file immediately but not automatically at boot time:
swapon /swapfile
To enable it at boot time, edit /etc/fstab to include the following entry:
/swapfile swap swap defaults 0 0
The next time the system boots, it enables the new swap file.
After adding the new swap file and enabling it, verify it is enabled by viewing the output of the command cat /proc/swaps or free.