Здравейте на всички! Наскоро се сблъсках с проста на пръв поглед задача – да увелича размера на диска на Linux сървър "на живо".
Описание на задачата
Имам облачен сървър. В моя случай това е Google Cloud – Compute Engine. Операционната система е Ubuntu. В момента имам диск с размер 30 Гб. Базата расте, файловете набъбват, затова е нужно да увелича размера на диска, да кажем, до 50 Гб. В този процес нищо не изключваме, нищо не рестартираме.
Внимание! Преди да започнем, направете резервно копие на всяка важна информация!
1. Първо ще проверя колко свободно пространство имам общо. В Linux конзолата пишем:
df -h 
Сложно казано, имам 30 Гб общо и 7.9 Гб в момента свободно. Трябва да увелича.
2. След това отивам и чрез конзолата на хостера си добавям още малко Гб. В Google Cloud се прави лесно, без рестартиране. Влизам в Compute Engine -> Дискове -> Избирам диска на сървъра си – него ще променим размера:

Влизам вътре, натискам "Редактиране" и увеличавам размера на диска до нужните ми размери (в случая до 50 Гб).
3. И така, сега имаме 50 Гб. Нека проверим това на сървър с командата:
sudo fdisk -l 
Виждаме новите си 50 Гб, но засега можем да използваме само 30 Гб.
4. Сега изтриваме текущия дял от 30 Гб и създаваме нов на 50 Гб. Може да имате няколко дяла. Вероятно ще трябва да създадете и няколко нови дяла. За тази операция ще използваме програмата . Също така ще са необходими, която ни позволява да управляваме дяловете на твърдия диск. Също така е важно да разберем какво представляват дяловете и за какво служат – четем . За стартиране на програмата . Също така ще са необходими използваме командата:
sudo fdisk /dev/sda5. В интерактивния режим на програмата . Също така ще са необходими изпълняваме няколко операции.
Първо въвеждаме:
p 
Командата показва списък с нашите текущи дялове. При мен има един дял от 30 Гб и още 20 Гб свободни, ако мога така да кажа.
6. След това въвеждаме:
d 
Изтриваме текущия дял, за да създадем нов на всички 50 Гб. Преди операцията отново проверяваме дали сме направили резервно копие на важната информация!
7. След това указваме на програмата:
n 
Командата създава нов дял. Всички параметри трябва да бъдат зададени по подразбиране – просто може да натискате Enter. Ако имате някакъв особен случай, задавате своите параметри. Както можете да видите от екранната снимка, създадох дял от 50 Гб – точно това, от което имам нужда.
8. Следователно указвам на програмата:
w 
Тази команда записва промените и излиза от . Също така ще са необходими. Не се тревожим, че прочитането на таблицата с дялове не е успяло. Следната команда ще помогне да го поправим. Остава съвсем малко.
9. Излязохме от . Също така ще са необходими и се върнахме в основната Linux команда. Следващата стъпка е да въведем, както ни посъветваха по-рано:
sudo partprobe /dev/sdaАко всичко е минало успешно, няма да видите никакво съобщение. Ако нямате инсталирана програмата partprobe, инсталирайте я. Именно partprobe обновява таблиците с дялове, което ще ни позволи да разширим дяла до 50 Гб в режим на работа. Продължаваме.
Подсказка! Инсталирайте partprobe можете по следния начин:
apt-get install partprobe
10. Сега остава да променим размера на дяла с помощта на програмата resize2fs. Тя ще направи това в режим на работа — дори по това време скриптовете работеха и записваха на диска.
Програма resize2fs презапише метаданните на файловата система. За целта използваме следната команда:
sudo resize2fs /dev/sda1 
Тук sda1 е името на вашия дял. В повечето случаи това е sda1, но могат да има и изключения. Бъдете внимателни. В крайна сметка програмата промени размера на дяла. Мисля, че това е успех.
11. Сега нека се уверим, че размерът на дяла е променен и сега имаме 50 Гб. За това ще повторим първата команда:
df -h 
Източник: habr.com
