program tip

실행중인 인스턴스의 EBS 볼륨 크기를 늘리려면 어떻게해야합니까?

radiobox 2020. 11. 8. 09:44
반응형

실행중인 인스턴스의 EBS 볼륨 크기를 늘리려면 어떻게해야합니까?


Canonical의 최신 Ubuntu AMI를 실행하는 서버가 있습니다. EBS 부팅 볼륨의 크기는 8GB입니다. 스냅 샷을 생성하고 새 볼륨을 생성 한 다음 파티션을 확장하여 EBS 볼륨의 크기를 조정할 수 있다는 것을 알고 있습니다. 머신이 실행되는 동안 볼륨의 크기를 어떻게 늘릴 수 있습니까? 이것이 가능하지 않은 경우 가동 중지 시간을 최소화하면서 부팅 볼륨 크기를 늘리는 데 선호되는 방법은 무엇입니까?


안타깝게도 Amazon EC2 인스턴스가 실행되는 동안 Amazon EBS 루트 디바이스 스토리지 볼륨 의 크기를 늘릴 수 없습니다. Eric Hammond는 루트 디스크 크기 조정에 대한 자세한 기사를 작성했습니다. 실행중인 EBS 부팅 EC2 인스턴스에서 :

EC2 인스턴스에서 약간의 다운 타임 (몇 분)이 괜찮다면 새 인스턴스를 시작할 필요없이 더 큰 사본으로 루트 EBS 볼륨을 변경할 수 있습니다.

그가 설명하는 단계를 적절하게 준비했다면 (프로 시저에 익숙해지기 위해 먼저 폐기 된 EC2 인스턴스로 테스트하는 것이 좋습니다) 실제로 몇 분의 다운 타임으로 프로세스를 완료 할 수 있습니다.

행운을 빕니다!


새로운 EBS 기능 탄력적 볼륨으로 볼륨 크기를 늘릴 수 있습니다. 여기에 표시된대로 크기 증가를 사용하려면 다음 단계를 따라야합니다.

볼륨이 16G이고 32GB로 늘렸다 고 가정합니다.

    $lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
└─xvda1 202:1    0  16G  0 part /

xvda1을 16GB t0 32GB에서 확장하려면 growpart가 필요합니다. growpart는 의 한 부분으로 볼 수 있습니다 cloudutils

sudo apt install cloud-utils

cloud-utils 설치 후 growpart 명령을 실행합니다.

sudo growpart /dev/xvda 1

이제 lsblk가 표시됩니다.

    $ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  32G  0 disk
└─xvda1 202:1    0  32G  0 part /

그러나 df -h는 16GB 만 표시합니다.

xvda1을 32GB로 확장하는 마지막 명령은 다음과 같습니다.

sudo resize2fs /dev/xvda1

XFS 파일 시스템의 경우

sudo xfs_growfs /dev/xvda1고마워요 계란


이 5 년 된 질문에 대한 늦은 답변

AWS는 볼륨 을 사용하는 동안 볼륨 크기를 늘리거나 성능을 조정하거나 볼륨 유형을 변경할 수있는 Elastic Volumes 라는 새로운 EBS 기능을 방금 발표했습니다 .

여기 에서 AWS 블로그 에서 자세한 내용을 확인할 수 있습니다 .


먼저 스냅 샷을 생성하고 해당 스냅 샷에서 다른 볼륨을 생성하고 새 볼륨이 준비되면 인스턴스에서 이전 볼륨을 분리하고 새 볼륨을 연결하면됩니다. 이 프로세스를 시작하기 전에 인스턴스를 중지하고 완료되면 인스턴스를 다시 시작하십시오.

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html을 참조 하십시오.


이것은 xfs 파일 시스템에서 작동합니다.이 명령을 실행하십시오. xfs_growfs /


centos6에서 / dev / xvda1로보고 된 루트 파티션 / dev / sda1을 늘리려 고 할 때 파티션을 확장하기 위해 볼륨을 마운트 해제 할 수 없음을 발견했습니다.

원래 볼륨을 / dev / sda1로 마운트하고 스냅 샷을 / dev / sdb로 마운트하여이 문제를 해결했습니다. 그런 다음 이미지를 다시 시작하고 parted를 사용하여 / dev / sdb1 파티션의 크기를 조정했습니다.

파티션 / dev / sdb1의 크기가 조정되면 두 볼륨을 분리하고 새 볼륨을 / dev / sda1에 다시 연결하고 resize2fs / dev / xvda1을 실행했습니다.


너는 이것을 못해. 그러나 다운 타임에 더 집중하고 비용이 발생한다면 메인 인스턴스를 복제하고 더 큰 EBS 스토리지 디바이스를 시스템에 마운트하고 데이터를 복사 한 다음 트래픽을 새 인스턴스로 리디렉션 할 수 있습니다.

원하는 경우 최근에 S3를 사용하는 방법에는 백업 및 다른 시스템에 배포하는 매체가 있습니다. 예를 들어, 기존 시스템을 실행 중입니다 .. N 분 / 시간 / 일마다 데이터를 s3에 업로드하는 스크립트를 설정 한 다음 해당 데이터를 다운로드하기 위해 새 인스턴스를 시작할 때 사용할 스크립트를 작성합니다. 데이터가 지속적으로 업데이트되는 것과 같은 것이 아니라면 제대로 작동 할 것입니다 (데이터 자체가 ec2 데이터베이스 서버에서 관리되는 동안 업데이트 된 버전의 코드베이스를 배포하는 데 사용합니다).

도움이되기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/9604337/how-do-i-increase-the-ebs-volume-size-of-a-running-instance

반응형