Дано: Ubuntu, диск `sda`, с разделом `sda1` 30 Гб и не размеченной областью в 20 гигов.
Имея несколько VPS серверов на Ubuntu, сталкнулся с проблемой, когда стало не хватать места. Перешел на более жирный тариф с большим размером диска. Но вот незадача, размер диска стал больше, а раздел остался того же размера.
Надо: сделать раздел `sda1` 50 Гб, те увеличить раздел на 20 гигов. Перезагружать убунту нельзя
Решение:
Было 30 Гб, раздел `sda1`, надо добавить 20Гб. Доступа в resque нет, так что нужно делать без перезагрузки.
Решение проблемы оказалось простым: используя **fdisk**, **partprobe** и **resize2fs** - изменить размер раздела.
!!! warning
Перед тем как начать, делаем бекап всей важной информации!
## fdisk - пересоздаем раздел
Первым делом посмотрим какие диски у нас есть в системе
Первым делом посмотрим какие диски у нас есть в системе и удостоверимся, что будет работать с нужным диском. А то мало ли..
```
sudo fdisk -l
```
Теперь надо удалить текущий раздел диска на 30 гигов и создать новый на 50.
Теперь надо удалить текущий раздел диска на 30 гигов и создать новый на 50:
```
sudo fdisk /dev/sda
```
Внутри интерактивного режима программы **fdisk** выполняем несколько операций.
Сначала вбиваем **p** - вывод таблицы разделов
```
p
```
Затем **d** удаление раздела
```
d
```
Далее **n** добавление нового раздела
```
n
```
Далее указываем какой будет создаваемый раздел
```
Действие команды
e расширенный
p основной раздел (1-4)
```
Указываем как основной раздел, вводим `p`
Внутри интерактивного режима программы **fdisk** выполняем несколько операций:
```
Номер раздела (1-4, по умолчанию 1):
```
1. Сначала вбиваем `p` - вывод таблицы разделов
2. Затем `d` удаление раздела
3. Далее `n` добавление нового раздела
4. Далее указываем какой будет создаваемый раздел
`e` расширенный
`p` основной раздел (1-4)
Указываем как основной раздел, вводим `p`
5. Номер раздела (`1-4`, по умолчанию `1`):
6. Первый сектор (2048-1048575999, по умолчанию 2048)
7. Последний сектор или прото enter, если используем весь диск
8. После всех проделанных действий вводим `w` что означает сохранить настройки и выйти.
Задаем номер раздела или нажимаем Enter чтобы использовать значение по умолчанию (1), если 1 уже занят, то вводим другое значение.
```
Первый сектор (2048-1048575999, по умолчанию 2048):
```
Нажимаем Enter используя значение по умолчанию, но можно и в ручную указать значение первого сектора.
```
Last сектор, +секторы or +size{K,M,G} (2048-1048575999, по умолчанию 1048575999):
```
Нажимаем Enter используя значение по умолчанию, но можно и в ручную указать значение последнего сектора.
После всех проделанных действий вводим `w` что означает сохранить настройки и выйти.
```
Команда (m для справки): w
Таблица разделов была изменена!
Вызывается ioctl() для перечитывания таблицы разделов.
Синхронизируются диски.
```
## partprobe - обновление таблицы раздела
Далее надо обновить таблицу раздела онлайн, используя **partprobe**. Если программки нет, то нужно установить её (`sudo apt-get install partprobe`).
@ -86,6 +46,8 @@ Last сектор, +секторы or +size{K,M,G} (2048-1048575999, по умо
sudo partprobe /dev/sda
```
## resize2fs - переопределение рамзера раздела
Теперь осталось переопределить размер раздела с помощью программы **resize2fs**. Она сделает это в режиме онлайн. Программа **resize2fs** перезапишет метаданные файловой системы. Для этого используем следующую команду: