4주차. 스토리지 서비스 (실습)

송현아·2021년 10월 5일
0
post-thumbnail

CloudFormation으로 환경 배포

CloudFormation 검색 > 스택생성 > 새 리소스 생성

[템플릿 등록하기]

[스택 세부 정보 지정]

  • 스택이름 : 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

0개의 댓글