programing tip

Amazon EBS 볼륨 크기 증가

itbloger 2020. 6. 8. 21:04
반응형

Amazon EBS 볼륨 크기 증가


Amazon의 EC2 및 EBS 서비스에 깊은 인상을 받았습니다. EBS 볼륨을 늘릴 수 있는지 알고 싶었습니다.

예를 들어, 볼륨이 50GB이고 공간이 부족한 경우 필요할 때 최대 100GB까지 충돌시킬 수 있습니까?


모든 훌륭한 권장 사항과 Amazon Web UI 도구를 사용하여 필요한 변경을 수행하는 Windows Amazon EC2 EBS 인스턴스 확장과 관련된이 기사를 추가 할 것이라고 생각했습니다. CLI를 사용하는 데 불편한 경우 업그레이드가 훨씬 쉬워집니다.

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

이 기사를 게시 한 TekGoblin에게 감사합니다.


스토리지를 확장 할 수는 있지만 즉시 수행 할 수는 없습니다. 현재 블록의 스냅 샷을 찍고 더 큰 새로운 블록을 추가 한 후 스냅 샷을 다시 첨부해야합니다.

여기Amazon EC2 명령 줄 도구 를 사용한 간단한 연습이 있습니다.


필요한 경우 더 많은 공간을 즉석에서 '충돌'할 수는 없지만 스냅 샷으로 파티션 크기를 조정할 수 있습니다.

단계는 다음과 같습니다.

  1. ebs 볼륨 마운트 해제
  2. ebs 스냅 샷 생성
  3. 더 많은 공간을 가진 새로운 볼륨 추가
  4. 파티션 테이블 재 작성 및 파일 시스템 크기 조정
  5. 새로운 ebs 볼륨을 마운트

http://aws.amazon.com/ebs/ - EBS 스냅 샷 :

또한 스냅 샷을 사용하여 여러 개의 새 볼륨을 인스턴스화하거나 볼륨 크기를 확장하거나 가용 영역간에 볼륨을 이동할 수 있습니다. 새 볼륨이 생성되면 기존 Amazon S3 스냅 샷을 기반으로 생성하는 옵션이 있습니다. 이 시나리오에서 새 볼륨은 원래 볼륨의 정확한 복제본으로 시작합니다. 선택적으로 다른 볼륨 크기 또는 다른 가용 영역을 지정하면이 기능을 기존 볼륨의 크기를 늘리거나 새 가용 영역에서 중복 볼륨을 생성하는 방법으로 사용할 수 있습니다. 스냅 샷을 사용하여 볼륨 크기를 조정하도록 선택한 경우 파일 시스템 또는 응용 프로그램이 장치 크기 조정을 지원하는지 확인해야합니다.


나는 모든 대답을 따랐으며, 모든 것을 존중하지 않고 무언가를 놓쳤다.

이 단계를 수행하면 EBS 볼륨을 늘리고 데이터를 유지할 수 있습니다 (루트 볼륨 용이 아님). 편의상 AWS consule을 사용하여 스냅 샷을 생성 할 것을 제안하고 있습니다. 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

아래로 쓰기 시작 하고 아이디 값을. (이 경우 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 볼륨을 마운트합니다 : (mine은 / 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새 크기를 확인하는 데 사용하십시오 .


Eric Hammond는 가동 중단 시간이 몇 분이면 문제가없는 한 실행중인 EBS 인스턴스의 루트 디스크 크기 조정에 대한 유용한 기사를 작성했습니다. http://alestic.com/2010/02/ec2-resize-running-ebs -뿌리


이제 AWS Management Console을 통해이를 수행 할 수 있습니다. 프로세스는 다른 답변과 동일하지만 더 이상 명령 줄로 이동할 필요가 없습니다.


BTW: As with physical disks, it might be handy to use LVM; ex:

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

Big advantage: It allows adding (or removing) space dynamically.

It can also easily be moved between/among instances.

Caveats:

  • it must be configured ahead of time
  • a simple JBOD setup means you lose everything if you lose one "disk"

My steps:

  1. stop the instance
  2. find the ebs volume attached to the instance and create a snapshot of it
  3. create a new volume with bigger disk space using the above snapshot. Unfortunately the UI on the aws console to create a snapshot is almost unusable because it's listing all the snapshots on aws. Using command line tool is a lot easier, like this:

    ec2-create-volume -s 100 --snapshot snap-a31fage -z us-east-1c
    
  4. detach the existing ebs (smaller) volume from the instance

  5. attach the new (bigger) volume to the instance, and make sure attach it to the same device the instance is expecting (in my case it is /dev/sda1)
  6. start the instance

You are done!

Other than step 3 above, you can do everything using the aws management console.

Also NOTE as mentioned here:

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

the device on your ec2 instance might be /dev/xv* while aws web console tells you it's /dev/s*.


Use command "diskpart" for Windows OS, have a look here : Use http://support.microsoft.com/kb/300415 Following are the steps I followed for a non-root disk (basic not dynamic disk)

Once you have taken a snapshot, dismounted the old EBS volume (say 600GB) and created a larger EBS volume (say 1TB) and mounted this new EBS volume - you would have to let Windows know of the resizing (from 600GB to 1TB) so at command prompt (run as administrator)

diskpart.exe

select disk=9

select volume=Z

extend

[my disk 9,volume labelled Z, was a volume of size 1TB created from an ec2-snapshot of size 600GB - I wanted to resize 600GB to 1TB and so could follow the above steps to do this.]


I highly recommend Logical Volume Manager (LVM) for all EBS volumes, if your operating system supports it. Linux distributions generally do. It's great for several reasons.

  1. Resizing and moving of logical volumes can be done live, so instead of the whole offline snapshot thing, which requires downtime, you could just add create another larger EBS volume, add it to the LVM pool as a physical volume (PV), move the logical volume (LV) to it, remove the old physical volume from the pool, and delete the old EBS volume. Then, you simply resize the logical volume, and resize the filesystem on it. This requires no downtime at all!

  2. It abstracts your storage from your 'physical' devices. Moving partitions across devices without needing downtime or changes to mountpoints/fstab is very handy.

It would be nice if Amazon would make it possible to resize EBS volumes on-the-fly, but with LVM it's not that necessary.


if your root volume is xfs file system then then run this command xfs_growfs /

참고URL : https://stackoverflow.com/questions/550790/growing-amazon-ebs-volume-sizes

반응형