2009-02-15 5 views
152

Я очень впечатлен услугами Amazon EC2 и EBS. Я хотел знать, можно ли увеличить объем EBS.Growing Amazon EBS Объемные размеры

Например: Если у меня 50 ГБ тома, и я начинаю бежать из космоса, могу ли я поднять его до 100 ГБ при необходимости?

+8

Большой вопрос (+1). Лучше подходит для Server Fault, хотя? – Jonik

+2

Я написал учебное пособие, чтобы увеличить размер вашего объема ebs - http://aws-musings.com/how-to-expand-your-ebs-volume/ –

+1

Пожалуйста, поддержите этот ответ, поскольку он намного больше date: http://stackoverflow.com/a/15229477/163461 – David

ответ

9

Все великие рекомендации, и я думал, что я хотел бы добавить эту статью, я нашел, что относится к расширению экземпляра Windows, Amazon EC2 EBS с помощью инструменты Amazon Web UI для выполнения необходимых изменений. Если вам неудобно использовать CLI, это значительно упростит ваше обновление.

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

Благодаря TekGoblin для размещения этой статьи.

44

Вы не можете просто «наброситься» на космос на лету, если вам это нужно, но вы можете изменить размер раздела с помощью моментального снимка.

шаги сделать это: объем

  1. размонтировать EBS
  2. создать ЭТ снимок
  3. добавить новый объем с большим количеством пространства
  4. Recreate раздел таблицы и изменить размер файловой системы
  5. смонтировать новый объем ebs

Посмотрите на http://aws.amazon.com/ebs/ - EBS Snapshot:

Снимки также могут быть использованы для создания экземпляра несколько новых томов, увеличить размер тома или переместить объемы по доступности зон. Когда создается новый том, существует возможность создать его на основе существующего моментального снимка Amazon S3 . В этом сценарии новый том начинается как точная копия исходного тома . Путем необязательно указания другого размер тома или другой Наличие зоны, эти функциональные возможности может быть использован как способ увеличить размер существующего тома или создать дубликаты томов в новых Наличие зон. Если вы выбрали , используйте моментальные снимки, чтобы изменить размер вашего объема, вы должны быть уверены, что ваша файловая система или приложение поддерживает изменение размера устройства .

103

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

Там простое прохождение игр here, основанные на использование Amazon's EC2 command line tools

+2

Вам также потребуется изменить размер файловой системы. Вероятно, вы ищете «resize2fs - ext2/ext3/ext4 файловой системы resizer». –

+8

Мне просто нужно было это сделать Google. Я сразу же ударил этот вопрос и это видео. Это действительно замечательная прогулка, поэтому большое спасибо создателю: http://www.youtube.com/watch?v=ouYjQ3_I3BA (я все понял самостоятельно, за исключением бита resizer, как упоминал Джеймс Мур). –

+0

Существует также способ [Установить размер тома EBS с использованием AWS-SDK] (http://stackoverflow.com/a/18852440/4058484), запросив сначала VolumeSize его моментального снимка как одну из гибких возможностей [The Benefit using EBS ] (http://stackoverflow.com/a/38235022/4058484). – hyip

19

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

+1

Вдохновленный этим, я начал писать «awscripts», @ https://github.com/moejay/awscripts, он включает в себя команды Эрика, а также те, которые меняют типы экземпляров, в простом сценарии «crontabable» – jay

3

Используйте команду «DiskPart» для ОС Windows, имеет вид здесь: Использование http://support.microsoft.com/kb/300415 Ниже приведены шаги, которые я затем для внекорневого диска (базовый не динамический диск)

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

diskpart.EXE

выберите диск = 9

выбрать объем = Z

расширить

[мой диск 9, объем меченого Z, был объем размером 1 ТБ создан из ec2-снимок размер 600 ГБ - я хотел изменить размер 600 ГБ на 1 ТБ и поэтому мог бы выполнить описанные выше шаги.]

+0

Работал отлично для моего Win Server 2003 R2 Система центров обработки данных. Спасибо за совет! –

+0

Отличный пост, помог мне много! – user1326293

5

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

+7

Можете ли вы разместить дополнительную информацию о том, как это делается через веб-консоль? Консоль может изменить размер тома, но как она обрабатывает изменение размера раздела внутри тома, особенно если оно относится к типу XFS, BRTFS и т. Д.? –

+0

Это должен был быть комментарий, поскольку он только увеличивает существующие ответы и не добавляет ничего нового сам по себе. – Yuck

+1

Инструкции по использованию веб-консоли можно найти здесь: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html –

4

BTW: Как и в случае с физическими дисками, может быть удобно использовать LVM; например:

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

Большое преимущество: он позволяет добавлять (или удаление) пространство динамически.

Его также можно легко перемещать между/между экземплярами.

Предостережения:

  • он должен быть настроен заранее
  • простая настройка JBOD означает, что вы потеряете все, если вы потеряете один «диск»
0

Я настоятельно рекомендую менеджер логических томов (LVM) для всех томов EBS, если ваша операционная система поддерживает его. Обычно дистрибутивы Linux. Это здорово по нескольким причинам.

  1. Изменение размера и перемещение логических томов может быть сделано в прямом эфире, так что вместо всего автономного моментальной вещь, которая требует времени простоя, можно просто добавить создать еще больший объем EBS, добавить его в LVM бассейне, как физическая volume (PV), переместите к нему логический том (LV), удалите старый физический том из пула и удалите старый том EBS. Затем вы просто изменяете размер логического тома и изменяете размер файловой системы на нем. Это не требует простоев!

  2. Он абстрагирует ваше хранилище с ваших «физических» устройств. Перемещение разделов между устройствами без необходимости простоев или изменений в mountpoints/fstab очень удобно.

Было бы хорошо, если Amazon позволит изменить размеры томов EBS на лету, но с LVM это не то, что нужно.

4

Моих шагов:

  1. остановить экземпляр
  2. найти объем ЭТ, прикрепленный к примеру и создать снимок его
  3. создать новый объем с большим дискового пространства, используя вышеупомянутый снимок. К сожалению, пользовательский интерфейс на консоли aws для создания моментального снимка почти неприменим, потому что он перечисляет все снимки на aws.Используя инструмент командной строки намного проще, например:

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

  5. придает новый (больший) объем к примеру, и убедитесь, что приложить он к тому же устройству экземпляр ожидающей (в моем случае это/DEV/sda1)
  6. запустить экземпляр

вы сделали!

Помимо шага 3 выше, вы можете делать все, используя консоль управления aws.

Примечание Кроме того, как указано здесь:

https://serverfault.com/questions/365605/how-do-i-access-the-attached-volume-in-amazon-ec2

устройство на экземпляр ec2 может быть/DEV/хи * в то время как AWS веб-консоль говорит вам, что/DEV/с *.

+2

С ноября 2013 года вы можете выбрать недавно созданный снимок а затем просто нажмите «Создать том» в верхней части страницы. Это создаст том из моментального снимка, и вы можете избежать выполнения шага 3 выше из командной строки. –

+1

Следует отметить, что вы должны убедиться, что вы создаете том в той же зоне доступности, что и экземпляр, иначе вы не сможете его подключить. – codecowboy

22

Я следил за всем ответом, у всех что-то не хватает со всем уважением.

Если вы выполните следующие шаги, вы можете увеличить объем EBS и сохранить свои данные (это не для корневого тома). Для простоты я предлагаю использовать консул AWS для создания моментального снимка ... вы можете сделать это, используя инструменты командной строки AWS.

Мы не трогаем объем корня здесь.

Goto консоль AWS:

  1. Shutdown ваш экземпляр (это будет только в течение нескольких минут)
  2. Detach объем вы планируете расти (скажем/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 

Запишите Начало и 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: (шахта в/шоссе/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. 

[email protected]:~$ 

Выполнено! Используйте df -h для проверки нового размера.

0

, если ваш объем корень файловой системы XFS, то затем запустить эту команду xfs_growfs/

+0

Для этого нужно более подробно рассмотреть полный и полезный ответ. – Yuck

Смежные вопросы