4주차. 스토리지 서비스 (실습)
CloudFormation으로 환경 배포
CloudFormation 검색 > 스택생성 > 새 리소스 생성
[템플릿 등록하기]
- 준비된 템플릿 선택
- 템플릿 소스 : Amazon S3 URL
- 파일 주소 : https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/STORAGE/Storage.yaml
[스택 세부 정보 지정]
- 스택이름 : StorageLab
- 파라미터 : SSH key 연결
[스택 옵션 구성]
- Default
AWS CloudFormation에서 사용자 지정 이름으로 IAM 리소스를 생성할 수 있음을 승인
체크 하기
- 선택하지 않으면 스택 생성이 중간에 되다가 롤백됨
배포 완료!!!
EBS 생성, 부착, 변경
- EBS를 생성
- 생성한 EBS를 EC2 에 연결, mount 및 파일시스템 생성으로 사용할 수 있게 만들기
- EC2 작동중인 상황에서 EBS 변경하고 적용하기(파티션 확장, 파일시스템 확장)
[SSH로 EC2-STG1 연결]
[EBS 볼륨 확인하기]
# df(disk free) 디스크 여유 공간 출력
[root@ST1 ~]# df -hT /dev/xvda1
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 xfs 8.0G 1.8G 6.3G 23% /
# lsblk 사용 가능한 디스크 디바이스와 마운트 포인트(해당하는 경우)를 출력
[root@ST1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
# file -s 볼륨에 파일 시스템이 있는지 확인, data만 출력 시 파일시스템이 없으므로 생성해야함
[root@ST1 ~]# file -s /dev/xvda
/dev/xvda: x86 boot sector; partition 1: ID=0xee, starthead 0, startsector 1, 16777215 sectors, extended partition table (last)\011, code offset 0x63
# 파일 시스템이 있으면 파일 시스템의 유형에 관한 정보를 출력
[root@ST1 ~]# file -s /dev/xvda1
/dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
# 디바이스의 UUID 찾기
[root@ST1 ~]# blkid
/dev/xvda1: LABEL="/" UUID="55da5202-8008-43e8-8ade-2572319d9185" TYPE="xfs" PARTLABEL="Linux" PARTUUID="591e81f0-99a2-498d-93ec-c9ec776ecf42"
# 디바이스의 탑재 지점 확인
[root@ST1 ~]# cat /etc/fstab
UUID=55da5202-8008-43e8-8ade-2572319d9185 / xfs defaults,noatime 1 1
[EBS 볼륨 생성]
EC2 > Elastic Block Storage > 볼륨 생성 버튼 클릭
- 볼륨 유형 : gp2
- 크기 : 20 GiB
- 가용영역 : ap-northeast-2a
- 부착하려는 EC2 와 같은 가용영역을 사용해야함
- 키-값 : Name : Data1
왜 생성한 볼륨은 in-use 상태가 아닌가요?
생성은 완료했지만 아직 볼륨 연결 및 mount되지 않아 사용할 수 없습니다.
[볼륨 연결]
EBS와 같은 가용영역을 가지는 EC2만 표기되어지는 것을 확인할 수 있습니다.
[볼륨 마운트]
- 추가된 볼륨 확인
# lsblk 사용 가능한 디스크 디바이스와 마운트 포인트(해당하는 경우)를 출력
[root@ST1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdf 202:80 0 20G 0 disk
- 볼륨 마운트
# 관리자 권한으로 변경
sudo su -
# file -s 볼륨에 파일 시스템이 있는지 확인, data만 출력 시 파일시스템이 없으므로 생성해야함 - 현재는 파일 시스템이 없음
[root@ST1 ~]# file -s /dev/xvdf
/dev/xvdf: data
# 볼륨을 포맷하여 파일시스템을 생성
[root@ST1 ~]# mkfs -t xfs /dev/xvdf
meta-data=/dev/xvdf isize=512 agcount=4, agsize=1310720 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=0
data = bsize=4096 blocks=5242880, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
# 디렉터리를 생성 후 마운트(data 라는 위치에)
[root@ST1 ~]# mkdir /data
[root@ST1 ~]# mount /dev/xvdf /data
# 파일을 생성 후 확인
[root@ST1 ~]# echo "EBS Test" > /data/memo.txt
[root@ST1 ~]# cat /data/memo.txt
EBS Test
# 디바이스 확인
[root@ST1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdf 202:80 0 100G 0 disk /data
[root@ST1 ~]# df -hT /dev/xvdf
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvdf xfs 100G 135M 100G 1% /data
[루트 볼륨 용량 변경하기]
Elastic Block Storage > 볼륨 > 볼륨 수정
- 유형 : gp3
- 크기 : 16 Gib
볼륨 사이즈가 변경된 것을 확인할 수 있습니다. (8G > 20G)
[root@EC2-STG1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 20G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdf 202:80 0 20G 0 disk /data
[파티션 확장]
현재 루트 볼륨이 20G로 반영되어 있는데 아직 xvda1 파티션 크기가 8G이므로 파티션 확장이 필요합니다.
# growpart 명령어로 파티션을 늘린다
[root@ST1 ~]# growpart /dev/xvda 1
CHANGED: partition=1 start=4096 old: size=16773087 end=16777183 new: size=33550303 end=33554399
# 늘린 파티션으로 반영됨을 확인
[root@EC2-STG1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 16G 0 disk
└─xvda1 202:1 0 16G 0 part /
xvdf 202:80 0 20G 0 disk /data
# 하지만 파일시스템은 아직 여전히 8G
[root@EC2-STG1 ~]# df -hT /dev/xvda1
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 xfs 8.0G 1.8G 6.2G 23% /
[파일 시스템 확장]
# xfs_growfs 명령어로 볼륨의 파일 시스템을 확장한다
[root@EC2-STG1 ~]# xfs_growfs -d /
meta-data=/dev/xvda1 isize=512 agcount=4, agsize=524159 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1 spinodes=0
data = bsize=4096 blocks=2096635, 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 2096635 to 4193787
# 최종적으로 파일시스템까지 16G 용량으로 확장되었다
[root@EC2-STG1 ~]# df -hT /dev/xvda1
Filesystem Type Size Used Avail Use% Mounted on
/dev/xvda1 xfs 16G 1.9G 15G 12% /
------------(심화 메모)---------------
# ext4 볼륨의 경우 아래 명령어로 확장한다
resize2fs /dev/xvda1
Author And Source
이 문제에 관하여(4주차. 스토리지 서비스 (실습)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hyun0820/4주차.-스토리지-서비스-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)