Вирощування розмірів об'єму Amazon EBS [закрито]


154

Я дуже вражений послугами EC2 та EBS Amazon. Мені хотілося знати, чи можна збільшити обсяг EBS.

Наприклад: Якщо у мене є об'єм об'ємом 50 ГБ, і мені починає бракувати місця, чи можу я його накопичити до 100 ГБ, коли потрібно?


2
Я написав підручник, щоб збільшити обсяг вашого ebs на - aws-musings.com/how-to-expand-your-ebs-volume
Vaibhav Puranik

8
Чудове запитання (+1). Краще підходить для помилки сервера?
Джонік

1
Будь ласка, підтвердіть цю відповідь, оскільки вона набагато актуальніша: stackoverflow.com/a/15229477/163461
Девід

1
@Jonik Я повністю згоден. Для тих, хто може (і також погодиться), будь ласка, проголосуйте за повторне відкриття цього питання, щоб його можна було перенести. Якщо деякий мод, читаючи це, може зробити те саме?
Юк

Це слід перенести на серверну помилку, якщо не з іншої причини, ніж для отримання більш актуальних відповідей (наприклад, таких, що посилаються на документацію AWS на цю тему на docs.aws.amazon.com/AWSEC2/latest/UserGuide/… )
Єромій французький

Відповіді:


9

Всі чудові рекомендації, і я подумав, що я додам цю статтю, яку я знайшов, і стосується розширення екземпляра Windows Amazon EC2 EBS за допомогою інструментів веб-інтерфейсу Amazon для здійснення необхідних змін. Якщо вам не зручно користуватися CLI, це значно полегшить оновлення.

http://www.tekgoblin.com/2012/08/27/aws-guides-how-to-resize-a-ec2-windows-ebs-volume/

Дякуємо TekGoblin за публікацію цієї статті.


103

Ви можете виростити сховище, але це неможливо зробити на ходу. Вам потрібно буде зробити знімок поточного блоку, додати новий, більший блок і знову прикріпити знімок.

Там просте проходження гри тут заснована на використання інструментів командного рядка EC2 Амазонки


2
Вам також знадобиться змінити розмір файлової системи. Ви, напевно, шукаєте "resize2fs - ext2 / ext3 / ext4 resizer файлової системи".
Джеймс Мур

8
Я просто повинен був це зробити Google. Я вразив це питання і це відео одночасно. Це дійсно чудова хода, тому велика подяка творцю: youtube.com/watch?v=ouYjQ3_I3BA (я все зрозумів самостійно, крім біта резизера, як згадував Джеймс Мур.)
Кріс Аллен Лейн

Існує також спосіб встановити розмір гучності EBS за допомогою AWS-SDK , запитаючи спочатку VolumeSize свого Знімку як одну з гнучких можливостей у програмі The Benefit за допомогою EBS .
Четабахана

Насправді ви можете змінити розмір живої гучності з консолі AWS . Здається, працює лише на екземплярах SSD (gp2, io1), і ви навіть можете переходити від одного типу до іншого. Я не впевнений, коли він був доданий, але це вирішує головну больову точку.
STRML

44

Ви не можете просто "нарізати" більше місця на ходу, якщо вам це потрібно, але ви можете змінити розмір розділу за допомогою знімка.

Кроки для цього:

  1. відключити гучність ebs
  2. створити знімок Ebs
  3. додайте новий об'єм з більшою кількістю місця
  4. відтворити таблицю розділів і змінити розмір файлової системи
  5. змонтуйте нову гучність ebs

Подивіться на http://aws.amazon.com/ebs/ - знімок EBS:

Знімки також можна використовувати для створення декількох нових томів, розширення розміру тому або переміщення томів по зонах доступності. Коли створюється новий том, є можливість створити його на основі наявного знімка Amazon S3. У такому сценарії новий том починається як точна копія початкового тома. За бажанням вказавши інший розмір гучності або іншу зону доступності, ця функціональність може бути використана як спосіб збільшення розміру наявного обсягу або створення дублікатів томів у нових зонах доступності. Якщо ви вирішили використовувати знімки, щоб змінити розмір гучності, вам потрібно бути впевненим, що ваша файлова система чи програма підтримують розмір пристрою.


22

Я стежив за всією відповіддю, у всіх щось не вистачає з усією повагою.

Якщо виконати ці кроки, ви можете збільшити обсяг EBS і зберегти свої дані (це не для кореневого обсягу). Для простоти я пропоную використовувати консоль AWS для створення знімка, ... це можна зробити і за допомогою інструментів командного рядка AWS.

Тут ми не торкаємось кореневого обсягу.

Перейдіть на свою консоль AWS:

  1. Вимкніть свій примірник (це буде лише кілька хвилин)
  2. Від'єднайте обсяг, який плануєте наростити (скажімо / dev / xvdf)
  3. Створіть знімок гучності.
  4. Створіть новий об'єм з більшим розміром, використовуючи щойно створений знімок
  5. Приєднайте новий том до свого примірника
  6. Запустіть свій примірник

SSH для вашого примірника:

 $ sudo fdisk -l

Це дає вам щось на кшталт:

Disk /dev/xvdf: 21.5 GB, 21474836480 bytes
12 heads, 7 sectors/track, 499321 cylinders, total 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
Disk identifier: 0xd3a8abe4

    Device Boot      Start         End      Blocks   Id  System
/dev/xvdf1            2048    41943039    20970496   83  Linux

Запишіть Start і Id . (у цьому випадку 2048 та 83)

За допомогою fdisk видаліть розділ xvdf1 та створіть новий, який починається точно з того ж блоку (2048). Ми дамо йому той самий Id (83):

$ sudo fdisk /dev/xvdf 

Command (m for help): d
Selected partition 1

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
Using default value 1
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
Using default value 41943039

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 83

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

Цей крок добре пояснений тут: http://litwol.com/content/fdisk-resizegrow-physical-partition-without-losing-data-linodecom

Майже зроблено, нам просто потрібно встановити гучність і запустити resize2fs:

Змонтуйте гучність ebs: (міна знаходиться в / mnt / ebs1)

$ sudo mount /dev/xvdf1 /mnt/ebs1

і змініть його розмір:

$ sudo resize2fs -p /dev/xvdf1

resize2fs 1.42 (29-Nov-2011)
Filesystem at /dev/xvdf1 is mounted on /mnt/ebs1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
Performing an on-line resize of /dev/xvdf1 to 5242624 (4k) blocks.
The filesystem on /dev/xvdf1 is now 5242624 blocks long.

ubuntu@ip-xxxxxxx:~$ 

Готово! Використовуйте df -hдля підтвердження нового розміру.


19

Поки ви не в порядку з кількома хвилинами простою, Ерік Хаммонд написав хорошу статтю про зміну кореневого диска на запущеному екземплярі EBS: http://alestic.com/2010/02/ec2-resize-running-ebs -корінь


1
Надихнувшись цим, я почав писати "awscripts", @ github.com/moejay/awscripts, він включає в себе команди Еріка, а також ті, що змінюють типи примірників, у легкому, "crontabbable" скрипті
Jay

5

Тепер це можна зробити через консоль управління AWS. Процес такий же, як і в інших відповідях, але вам більше не потрібно переходити до командного рядка.


7
Чи можете ви розмістити більше інформації про те, як це робиться через веб-консоль? Консоль може змінити розмір гучності, але як вона обробляє розмір розділу всередині тома, особливо якщо він такого типу, як XFS, BRTFS тощо?
Ріяд Калла

Це повинно бути коментарем, оскільки воно лише збільшує наявні відповіді і не додає нічого нового саме по собі.
Юк

1
Інструкції щодо використання веб-консолі доступні тут: docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
Дан Осипов

4

BTW: Як і у випадку з фізичними дисками, може бути зручним використання LVM; колишній:

http://www.davelachapelle.ca/guides/ubuntu-lvm-guide/ http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/

Велика перевага: Це дозволяє динамічно додавати (або видаляти) простір.

Його також можна легко переміщувати між / серед екземплярів.

Застереження:

  • він повинен бути налаштований заздалегідь
  • проста установка JBOD означає, що ви втратите все, якщо втратите один "диск"

4

Мої кроки:

  1. зупинити екземпляр
  2. знайдіть об'єм ebs, приєднаний до екземпляра, і створіть його знімок
  3. створити новий об'єм з більшим простором на диску за допомогою наведеного вище знімка. На жаль, користувальницький інтерфейс на консолі aws для створення знімків майже непридатний, тому що в ньому перелічені всі знімки на aws. Використовувати інструмент командного рядка набагато простіше, як це:

    ec2-create-volume -s 100 --snapshot snap-a31fage -z us-east-1c
    
  4. відірвіть існуючий (менший) об'єм від екземпляра

  5. приєднайте новий (більший) том до примірника та переконайтеся, що приєднайте його до того самого пристрою, який очікує екземпляр (у моєму випадку це / dev / sda1)
  6. запустити екземпляр

Ви закінчили!

Крім кроку 3 вище, ви можете робити все, використовуючи консоль управління aws.

Також ПРИМІТКА, як зазначено тут:

/server/365605/how-do-i-access-the-attached-volume-in-amazon-ec2

пристроєм у вашому екземплярі ec2 може бути / dev / xv *, а веб-консоль aws повідомляє, що це / dev / s *.


2
З листопада 2013 року ви можете вибрати новостворений знімок, а потім просто натиснути «Створити том» у верхній частині сторінки. Це створить об'єм із знімка, і ви можете уникнути виконання кроку 3 вище з командного рядка.
Метт

1
Одне зауваження полягає в тому, що ви повинні переконатися, що ви створюєте том в тій самій зоні доступності, що і екземпляр, інакше ви не зможете приєднати його.
codecowboy

3

Використовуйте команду "diskpart" для ОС Windows, подивіться тут: Використовуйте http://support.microsoft.com/kb/300415 Нижче наведено кроки, які я дотримувався для некореневого диска (базовий не динамічний диск)

Після того, як ви зробили знімок, демонтували старий об'єм EBS (скажімо, 600 ГБ) і створили більший об'єм EBS (скажімо, 1 ТБ) і встановили цей новий об'єм EBS - ви повинні повідомити Windows про зміну розміру (від 600 ГБ до 1 ТБ), так в командному рядку (запустіть як адміністратор)

diskpart.exe

виберіть диск = 9

виберіть гучність = Z

розширити

[мій диск 9, що має мітку Z, був об’ємом розміром 1 Тб, створений на екрані ЕК2 розміром 600 ГБ - я хотів змінити розмір 600 ГБ до 1 ТБ, і тому я міг виконувати вищезазначені кроки, щоб зробити це.]


Відмінно працював у моїй системі Datacenter Win Server 2003 R2. Дякую за пораду!
Джефф Хей

Чудовий пост, багато мені допоміг!
користувач1326293

0

Я настійно рекомендую Logical Volume Manager (LVM) для всіх томів EBS, якщо ваша операційна система підтримує його. Дистрибутиви Linux зазвичай є. Це чудово з кількох причин.

  1. Змінення розміру та переміщення логічних томів можна здійснити наживо, тому замість усієї офлайн-знімки, яка вимагає простоїв, ви можете просто додати ще один більший об'єм EBS, додати його до пулу LVM як фізичний об'єм (PV), перемістити логічний об'єм (LV) до нього, видаліть старий фізичний об'єм з пулу та видаліть старий том EBS. Потім ви просто зміните логічний об'єм і зміните розмір файлової системи на ньому. Це зовсім не вимагає простоїв!

  2. Він абстрагує ваше сховище від ваших "фізичних" пристроїв. Переміщення розділів на пристроях без необхідності простою або змін у точках кріплення / fstab дуже зручно.

Було б добре, якби Amazon дозволив би змінювати розміри обсягів EBS на ходу, але з LVM це не так потрібно.


0

якщо ваш кореневий об'єм - файлова система xfs, тоді запустіть цю команду xfs_growfs /


Це потрібно трохи детальніше, щоб вважатись повною і корисною відповіддю.
Юк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.