AWS에 EC2를 모노리틱 구조로 (monolithic architecture) 사용하고 있는 서버가 있다.
어느날 서버 서비스가 잘 돌지 않아서 확인해 보니 루트(/) 경로의 disk 사이즈가 440M만 남아있는 상태 이다.
AWS의 경우 EC2에 마운트(mount) 되어 있는 볼륨을 동적으로 변경 가능다.
보통 일반적인 단일 서버의 물리적인 서버인 온프레미스 on premise 서버의 경우 디스크 용량을 늘리기 위해서는 reboot을 해야한다.
1. 현재 서버의 디스크 / 파티션 상태 확인 명령어 df -h 통해 가용 용량을 확인할 수 있다.
ubuntu@ip-172-31-34-92:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 769M 81M 688M 11% /run
/dev/nvme0n1p1 31G 31G 440M 99% /
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/loop3 34M 34M 0 100% /snap/amazon-ssm-agent/3552
tmpfs 769M 0 769M 0% /run/user/0
/dev/loop2 56M 56M 0 100% /snap/core18/2074
/dev/loop0 100M 100M 0 100% /snap/core/11420
/dev/loop5 25M 25M 0 100% /snap/amazon-ssm-agent/4046
/dev/loop4 56M 56M 0 100% /snap/core18/2128
/dev/loop1 100M 100M 0 100% /snap/core/11606
tmpfs 769M 0 769M 0% /run/user/1000
AWS EC2에서 디스크 용량 확인 시 32G 상태
로그 파일이 계속 남는 상태에서 가용 디스크 용량이 얼마 남지 않았다.
그러나 클라우드 환경의 AWS의 장점으로 재부팅하지 않고 시스템을 유지한 상태로 실시간으로 디스크 용량을 늘릴 수 있다.
EC2 대쉬보드 왼쪽 탭에서 Elastic Block Store > 볼륨 선택
작업 > 볼륨 수정 선택
볼륨수정 > 크기 > 원하는 사이즈로 변경
최소 1GiB에서 최대 16384GiB 까지 변경 가능하다.
참고로 볼륨 크기는 확대만 가능하고 축소할 수 없다.
EC2 대쉬보드에서 볼륨 크기가 32GiB 에서 64GiB로 변경됨을 확인할 수 있다.
shell 접속하여 실제 디스크 / 파티션 사이즈가 증가했는지 확인해 보면 실제로 사이즈는 64GiB로 변경되지 않는다.
root@ip-172-31-34-92: /log/fota/amcp]df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs tmpfs 769M 81M 688M 11% /run
/dev/nvme0n1p1 ext4 31G 31G 5.4M 100% /
tmpfs tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/loop3 squashfs 34M 34M 0 100% /snap/amazon-ssm-agent/3552
/dev/loop2 squashfs 56M 56M 0 100% /snap/core18/2074
/dev/loop0 squashfs 100M 100M 0 100% /snap/core/11420
/dev/loop5 squashfs 25M 25M 0 100% /snap/amazon-ssm-agent/4046
/dev/loop4 squashfs 56M 56M 0 100% /snap/core18/2128
/dev/loop1 squashfs 100M 100M 0 100% /snap/core/11606
tmpfs tmpfs 769M 0 769M 0% /run/user/1000
2. 리눅스 디바이스 정보 확인하는 명령어 lsblk 를 사용하여 확인
nvme0n1p1 의 늘러난 파티션 사이즈는 있지만 활성화되어 사용할 수 없는 상태로 있다.
즉 EC2 대쉬보드 Elastic Block Store 볼륨 설정에서 늘린 사이즈는 마운트(mount) 형태로 늘어나 있다.
그러나 아직 활성화되어있지 않은 상태이다.
root@ip-172-31-34-92: /log/fota/amcp]lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 99.4M 1 loop /snap/core/11420
loop1 7:1 0 99.4M 1 loop /snap/core/11606
loop2 7:2 0 55.5M 1 loop /snap/core18/2074
loop3 7:3 0 33.3M 1 loop /snap/amazon-ssm-agent/3552
loop4 7:4 0 55.4M 1 loop /snap/core18/2128
loop5 7:5 0 25M 1 loop /snap/amazon-ssm-agent/4046
nvme0n1 259:0 0 64G 0 disk
`-nvme0n1p1 259:1 0 32G 0 part /
3. growpart 명령어로 파티션 / 디스크를 확장
root@ip-172-31-34-92: /log/fota/amcp]sudo growpart /dev/nvme0n1 1
CHANGED: partition=1 start=2048 old: size=67106783 end=67108831 new: size=134215647,end=134217695
root@ip-172-31-34-92: /log/fota/amcp]lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 99.4M 1 loop /snap/core/11420
loop1 7:1 0 99.4M 1 loop /snap/core/11606
loop2 7:2 0 55.5M 1 loop /snap/core18/2074
loop3 7:3 0 33.3M 1 loop /snap/amazon-ssm-agent/3552
loop4 7:4 0 55.4M 1 loop /snap/core18/2128
loop5 7:5 0 25M 1 loop /snap/amazon-ssm-agent/4046
nvme0n1 259:0 0 64G 0 disk
`-nvme0n1p1 259:1 0 64G 0 part /
파티션 사이즈는 아직 늘어나지 않았다.
root@ip-172-31-34-92: /log/fota/amcp]df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 769M 81M 688M 11% /run
/dev/nvme0n1p1 31G 31G 4.9M 100% /
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/loop3 34M 34M 0 100% /snap/amazon-ssm-agent/3552
/dev/loop2 56M 56M 0 100% /snap/core18/2074
/dev/loop0 100M 100M 0 100% /snap/core/11420
/dev/loop5 25M 25M 0 100% /snap/amazon-ssm-agent/4046
/dev/loop4 56M 56M 0 100% /snap/core18/2128
/dev/loop1 100M 100M 0 100% /snap/core/11606
tmpfs 769M 0 769M 0% /run/user/1000
4. 사용하고 있는 파일시스템 확인 방법 cat /etc/fstab
cat /etc/fstab에서 사용 파일시스템이 xfs 인지 ex4 인지 먼저 확인 후 해당 명령어 실행
ubuntu@ip-172-31-34-92:~$ cat /etc/fstab
LABEL=cloudimg-rootfs / ext4 defaults,discard 0 0
XFS 파일시스템을 사용하지 않는데 xfs_growfs 명령어 실행 시 Error 표시 내용
root@ip-172-31-34-92: /log/fota/amcp]sudo xfs_growfs -d /
xfs_growfs: / is not a mounted XFS filesystem
5. 파일 시스템에 대해 해당하는 xfs_growfs / resize2fs 명령어로 확장
현재 나의 사용 서버의 파일시스템 정보를 기준으로 사이즈 증가 시키는 명령어가 다르다.
xfs 파일 시스템인지 ex4 파일 시스템인지 먼저 확인이 필요하다.
파일시스템 | 명령어 |
XFS |
xfs_growfs |
ex4 |
resize2fs |
ex4 파일 시스템임으로 resize2fs 명령어로 시스템 사이즈를 증가 시키자.
root@ip-172-31-34-92: /log/fota/amcp]sudo resize2fs /dev/nvme0n1p1
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 4
The filesystem on /dev/nvme0n1p1 is now 16776955 (4k) blocks long.
사용한 명령어로 파티션 사이즈 확인 df -h 명령어로 확인
root@ip-172-31-34-92: /log/fota/amcp]df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.8G 0 3.8G 0% /dev
tmpfs 769M 81M 688M 11% /run
/dev/nvme0n1p1 62G 31G 32G 50% /
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/loop3 34M 34M 0 100% /snap/amazon-ssm-agent/3552
/dev/loop2 56M 56M 0 100% /snap/core18/2074
/dev/loop0 100M 100M 0 100% /snap/core/11420
/dev/loop5 25M 25M 0 100% /snap/amazon-ssm-agent/4046
/dev/loop4 56M 56M 0 100% /snap/core18/2128
/dev/loop1 100M 100M 0 100% /snap/core/11606
tmpfs 769M 0 769M 0% /run/user/1000
'SW Developer > Server' 카테고리의 다른 글
포트 스캔 네트워크 스캔 이란 관련 기술 및 보안 설정 (0) | 2021.10.12 |
---|---|
AWS SMTP 설정 메일 발신 안되는 문제 해결 방법 Redmine 다우 오피스 dao office sendmail 에러 (0) | 2021.10.01 |
[AWS][Lightsail] 윈도우 Windows 서버 세팅 생성 파일 전송 공유 방법 및 EC2와 차이점 (0) | 2021.06.30 |
[Ubuntu][ELK] metricbeat index 1개 또는 한번에 전체 삭제 방법 (0) | 2021.05.06 |
[Ubuntu][ELK] APM metricbeat 설정 관련 명령어 및 제거 방법 (0) | 2021.05.06 |
댓글