Категорії
Linux

[Linux] Resize корневого раздела без потери данных

После того, как физически вы его расширили, нужно рассказать об этом ФС. И так, текущий размер 32Gb

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           396M   41M  356M  11% /run
/dev/sda1        32G  1.3G   29G   5% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           396M     0  396M   0% /run/user/0

Для расширения будем применять утилиту parted (на старых версиях до 3.0 вместо resizepart нужно было использовать resize):

# parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  34.4GB  34.4GB  primary  ext4         boot

(parted) resizepart 1
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
Yes/No? Yes                                                               
End?  [34.4GB]? 107G                                                      
(parted) p                                                                
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  107GB  100GB  primary  ext4         boot                                                                   
(parted) quit                                                             

Там же можно узнать, на сколько мы можем увеличить раздел (подсказка при выводе разделов: в данном примере 107Gb)

Делаем resize ФС:

# resize2fs /dev/sda1
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
old_desc_blocks = 6, new_desc_blocks = 7
The filesystem on /dev/sda1 is now 26855212 (4k) blocks long.

Проверяем (перезагрузка не нужна):

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           396M  5.6M  390M   2% /run
/dev/sda1        98G  1.3G   93G   2% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
tmpfs           396M     0  396M   0% /run/user/0

Нашёл на просторах сети, ещё такой проект, но не пробовал.

 

Примечание.

Если по какой-то причине налету не удается изменить размер, а перезагружать сервер нельзя и у вас SCSI-диск, можно попробовать сделать rescan. Необходимый диск определяем через lsscsi (ставится отдельно из пакетов) и выполняем для него rescan (в качестве примера используется /dev/sdd):

# lsscsi -s
[0:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR00 1.00  /dev/sr0        -
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda   32.2GB
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb    107GB
[3:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sdc    107GB
[3:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdd    214GB
[3:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sde   53.6GB
[3:0:3:0]    disk    VMware   Virtual disk     1.0   /dev/sdf   53.6GB
[3:0:4:0]    disk    VMware   Virtual disk     1.0   /dev/sdg    161GB
# echo 1 > /sys/bus/scsi/devices/3\:0\:1\:0/rescan

Дополнительно можно использовать и такие методы:

# partprobe
# hdparm -z /dev/sda
# blockdev --rereadpt /dev/sda
# echo 1 > /sys/block/sda/device/rescan

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff