AWS Services/EBS (Elastic Block Storage)

[AWS EBS] Volume 생성 & 특정 디렉토리 마운트

[앙금빵] 2021. 11. 21.

 

Step 1. Encrypted EBS Volume 생성

 

1-1. EC2 → EBS 카테고리에서 추가

 

1-2. EBS Volume 생성

 

1-3. EBS Volume Attach

(※ 새로운 드라이브에 대하여 리눅스는 /dev/sd[x] 이름을 사용한다.)

 

1-4. Instance에서 추가한 EBS 확인

[root@test ~]# 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  10G  0 disk
💡 /dev/sdf 로 저장을 하였으나 Instance에서 확인했을 때 /dev/xvdf 로 확인이 된다. (Block device의 “xen-blkfront” 드라이버가 sda,sdb … → xvda,xvdb… 로 mapping 을 함)

참조링크: https://stackoverflow.com/questions/12102551/ec2-ebs-device-id-confusion-dev-sdf-vs-dev-xvdf

 

💡 /dev/sdf 는 그저 symbolic link임을 확인할 수 있다. t2.micro 기준 Block Device는 실질적으로 /dev/xvd* 이다.


Step 2. 파일시스템 생성

 

2-1. EBS 볼륨 확인

# 볼륨에 파일 시스템이 있는지 확인.
# data 출력시 디바이스에 파일시스템이 없다.
[root@test ~]# file -s /dev/xvdf
/dev/xvdf: data

# 파일 타입 확인 시 Attach한 EBS 볼륨을 확인할 수 없다. (/dev/xvdf)
[root@test ~]# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  484M     0  484M   0% /dev
tmpfs          tmpfs     492M     0  492M   0% /dev/shm
tmpfs          tmpfs     492M  408K  491M   1% /run
tmpfs          tmpfs     492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1     xfs       8.0G  1.7G  6.3G  22% /
tmpfs          tmpfs      99M     0   99M   0% /run/user/1000
💡 XFS 파일 시스템
  • 2002 년에 누구나 사용할 수 있도록 리눅스 환경에 공개
  • RHEL을 비롯한 주류 리눅스 배포판에서 기본 파일 시스템으로 사용되고 있음
  • 쓰기 저장 저널링 모드 사용.
  • 확장만 가능하며 축소는 할 수 없음.

(+) 고성능 제공
(+) 큰파일을 처리할 때 성능이 우수하다.

(-) 실제 데이터가 저널 파일(임시 파일)에 저장되지 않기에 상당한 위험을 안고 있다.
(-) 작은 파일을 처리할 때 다른 파일시스템 형식보다 성능이 떨어진다.

XFS 파일 시스템은 주로 큰 파일을 처리해야 하는 특정 유형의 서버에 유용할 수 있다.

 

2-2. 파일 시스템 생성

# xfs 타입으로 파일시스템 생성
# /dev/xvdf 볼륨을 xfs type으로 파일시스템 생성 
[root@test ~]# mkfs -t xfs /dev/xvdf
meta-data=/dev/xvdf              isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0
data     =                       bsize=4096   blocks=2621440, 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@test ~] mkdir /data

# /dev/xvdf 의 SSD 파티션을 /data 마운트 포인트(디렉토리)에 마운트(=연결) 
[root@test ~] mount /dev/xvdf /data

# 마운트 확인
[root@test ~]# df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  484M     0  484M   0% /dev
tmpfs          tmpfs     492M     0  492M   0% /dev/shm
tmpfs          tmpfs     492M  404K  491M   1% /run
tmpfs          tmpfs     492M     0  492M   0% /sys/fs/cgroup
/dev/xvda1     xfs       8.0G  1.7G  6.3G  22% /
tmpfs          tmpfs      99M     0   99M   0% /run/user/1000
/dev/xvdf      xfs        10G   43M   10G   1% /data

댓글