아,, ssh 키를 뭔가 건드린거 같다. 

접속이 아예 안되서 뭐 어떻게 할 방법이 없다. 😭


디스크를 볼륨을 떼서 다른 EC2 인스턴스에 붙여서 처리하는 수밖에 없지.

근데 뒤져보니 User Data기능이 있다.

부팅할 때 내가 원하는 명령을 실행시켜준다.




헛!

그렇다면 이걸로 하면 구지 디스크 볼륨 떼었다 붙였다 안해도 되겠군!

User Data에만 내가 원하는 명령어를 세팅하고

EC2 인스턴스를 껐다 켜기만 하면 해결 되겠군


시작 시 Linux 인스턴스에서 명령 실행

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/user-data.html

이거 적으면서 보니 저거 제목 번역이 잘 못 번역되어있다...

(원문: Running Commands on Your Linux Instance at Launch)

아놔 내 삽질한 아까운 시간들...



아무리 해도 안된다.

#cloud-init으로 하거나 #!/bin/bash

안된다. 😭

 

씩씩 거리면 찾아봤다.

https://stackoverflow.com/questions/27086639/user-data-scripts-is-not-running-on-my-custom-ami-but-working-in-standard-amazo

 

.. 저방식은

말그대로 인스턴스 생성하고 정말 처음 기동할 쓰는거다.

 

행히 훜으로 건드리는 방법이 있다.

아래와 같이 하니까 잘된다.


#cloud-boothook 을 가장 위에 적어주니까 된다.


최초 부팅

 

#!/bin/bash

yum install -y gcc

 

 

이후 재부팅

#cloud-boothook

#!/bin/bash

yum install -y patch;

yum install -y zlib;

yum install -y zlib-devel;

yum -y install openssl-devel;

wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.6p1.tar.gz -P /home/ec2-user;

 

이후 재부팅

#cloud-boothook

#!/bin/bash

gunzip /home/ec2-user/openssh-7.6p1.tar.gz

 


아놔.. 어이없는 문제가 하나 더있다.


tar 명령어가 안 먹힌다.

옵션이 문제인가 싶지만 다 안된다. 😭😭


 

#cloud-boothook

#!/bin/bash

/usr/bin/tar -xf /home/ec2-user/openssh-7.6p1.tar

/usr/bin/tar xf /home/ec2-user/openssh-7.6p1.tar

/usr/bin/tar xopf /home/ec2-user/openssh-7.6p1.tar

 

 


어처구니 없게도 tar 명령 실행하기 전에

change directory 해주면 먹힌다.


#cloud-boothook
#!/bin/bash
cd /home/ec2-user
/bin/tar xf /home/ec2-user/nginx-1.12.2.tar

 




로그 백업하고 있는 디스크 사용량이 80%를 넘어서서

디스크 볼륨 사이즈를 증가하게 되었습니다.

물론 장기 백업은 S3 버켓에 하고 있습니다.


실제와는 달리 테스트 vm이라서 볼륨사이즈가 작긴 하지만

후에 참고하기위해 기록해둡니다.



10G -> 15G로 증가시키기

 

[ec2-user@ip-xxx ~]$ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/xvda2       10G  2.8G  7.3G  28% /

devtmpfs        474M     0  474M   0% /dev

tmpfs           496M     0  496M   0% /dev/shm

tmpfs           496M   13M  483M   3% /run

tmpfs           496M     0  496M   0% /sys/fs/cgroup

tmpfs           100M     0  100M   0% /run/user/1000

 

 

[ec2-user@ip-xxx ~]$ lsblk

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

xvda    202:0    0  10G  0 disk

├─xvda1 202:1    0   1M  0 part

└─xvda2 202:2    0  10G  0 part /

 

아래와 같이 적절하게 사이즈 증가

 

 


 


 

디스크 블락 상태 확인 xvda2

[ec2-user@ip-xxx ~]$ lsblk

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

xvda    202:0    0  15G  0 disk

├─xvda1 202:1    0   1M  0 part

└─xvda2 202:2    0  10G  0 part /

 

 

명령어 growpart 로 증가 시킴

[root@ip-xxx ec2-user]# growpart /dev/xvda 2

CHANGED: disk=/dev/xvda partition=2: start=4096 old: size=20967390,end=20971486 new: size=31453150,end=31457246

 

15G로 증가된것을 확인

[root@ip-xxx ec2-user]# lsblk

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

xvda    202:0    0  15G  0 disk

├─xvda1 202:1    0   1M  0 part

└─xvda2 202:2    0  15G  0 part /

 

명령어 resize2fs로 파티션에 반영 시도 했으나 실패

==> ext2, ext3, ext4 일때 사용가능한 명령

[root@ip-xxx ec2-user]# resize2fs /dev/xvda2

resize2fs 1.42.9 (28-Dec-2013)

resize2fs: Bad magic number in super-block while trying to open /dev/xvda2

Couldn't find valid filesystem superblock.

 

 

xvda2의 파티션 확인 해보니 xfs

[root@ip-xxx ec2-user]# blkid /dev/xvda2

/dev/xvda2: UUID="50axxxxb-3xx0-44d0-ad12-28f205xxxx27" TYPE="xfs" PARTUUID="cc8f8c5a-xxxx-xxxx-aa62-ed173xxxxede"

 

 

xfs는 xfs_growfs 명령을 사용해야함

[root@ip-xxx ec2-user]# xfs_growfs /dev/xvda2

meta-data=/dev/xvda2             isize=512    agcount=7, agsize=393216 blks

         =                       sectsz=512   attr=2, projid32bit=1

         =                       crc=1        finobt=0 spinodes=0

data     =                       bsize=4096   blocks=2620923, imaxpct=25

         =                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal               bsize=4096   blocks=2560, version=2

         =                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

data blocks changed from 2620923 to 3931643

 

 

수행 후 명령어로 확인후 반영 완료

[root@ip-xxx ec2-user]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/xvda2       15G  2.8G   13G  19% /

devtmpfs        474M     0  474M   0% /dev

tmpfs           496M     0  496M   0% /dev/shm

tmpfs           496M   13M  483M   3% /run

tmpfs           496M     0  496M   0% /sys/fs/cgroup

tmpfs           100M     0  100M   0% /run/user/1000

 

 


+ Recent posts