ㅍㅍㅋㄷ

AWS Storage Gateway 설치 본문

IT/AWS

AWS Storage Gateway 설치

클쏭 2016. 4. 28. 14:21

AWS Storage Gateway


이게 뭔지는 지난 포스트에 설명 했으니 참고


( AWS Storage Gateway )




일단 Storage Gateway 설치를 해보자.ㅎ


참고로 이 포스트에서 설치할 타입은 Gateway-Cached volumes 방식 이며, 

appliance를 올릴 인프라가 따로 없는 관계로, 그냥 EC2에 올릴 예정이다. 


메뉴에서 Storage Gateway를 선택-

Hybrid Storage Integration 이라고 멋지게 써 있다. (캬-) 



클릭하면 gateway를 관리할 수 있는 console 화면이 뜬다. 

(점점 AWS는 IaaS를 넘어 PaaS와 SaaS 형태로 진화하는 느낌이다.)



Deploy a new Gateway on Amazon EC2 클릭! 



EC2에 배포하겠다고 선택하면 아래와 같이 설치 방법을 안내해 준다. 


Gateway 방식은 EC2에 설치할 경우 두가지 방식을 지원하는데, Gateway-Cached volumes 방식과 Gateway-Virtual Tape Library (VTL) 방식이다.

이 중 Gateway-Cached volumes 방식으로 해보겠다.


Gateway appliance 이미지는 AWS Marketplace에 있다고 안내 해 준다.




걸려 있는 link 중 "Launch Gateway AMI" 클릭하면 바로 AWS Marketplace로 이동한다.





AWS는 이런 eco system이 참 잘되있는거 같다. AWS 이전에, 누가 과연 인프라 환경을 위한 이런 Market system을 상상했겠는가.

게다가 정말 편리하게도, Market place에서 제공한 이미지를 배포만 하면 바로 사용 가능하다. (AWS쩔어)



일단 continue를 누르고 설치를 시작해보자.





위와 같이 appliance 배포를 두가지 스타일로 가능한데, 

간편하게 제공되는 1 click 방식과, 원하는 방식으로 설치하는 Manual 방식을 지원한다.


주의할 점은, Gateway 방식 중 Cached volumes 방식으로 사용하고자 할때는 반드시 1 click launch 를 선택하지 말고 manual launch 선택하자.


설정하다보니 Cached volumes 방식으로 사용하려면, appliance에 EBS 볼륨이 두개 이상 필요한데 (upload buffer, cache 최소 한개씩), 1 click launch의 경우에는 swap disk용 EBS 볼륨이 하나만 붙어서 생성된다. 그러면 cache 용 볼륨 이나 upload buffer 용 볼륨을 지정할 수 없다. (뭐야 이거ㅋ)


아무튼, manual launch를 선택한 후, 적당한 region을 고른다. 

이후에는 기존에 익숙한 EC2 배포 절차 대로 선택하면 된다. 


주의할 점은 instance type은 m3, m4, i2, c3, c4, r3, d2 타입만 배포되며, 최소 xlarge 이상으로 배포해야 한다. 


그리고 중요한게 security group 설정이다. 

아래는 사용하는 Port list 이니, 해당 포트는 반드시 security group 에 룰을 적용해 주도록 한다.


Protocol 

 Port

 Source

Destination 

How Used 

 TCP

 443

 Storage Gateway

 Internet

 Storage Gateway 와 AWS 서비스 endpoint간 통신

 TCP

 80

 Local Networks

 Storage Gateway

 local 시스템에서 Storage Gateway 의 activation key를 위한 포트

 TCP

 3260

 Local Networks

 Storage Gateway

 local 시스템의 iSCSI 연결을 위한 포트

 UDP

 53

 DNS 서버

 Storage Gateway

 Storage Gateway 와 DNS 통신

 TCP

 22

 Storage Gateway Local console

 Storage Gateway support channel

 Gateway에 생기는 issue troubleshooting을 위한 support 포트

 



그리고 또 한가지 주의 할 점은 추가 EBS 볼륨 선택 부분.


위에서 얘기한대로 Cached volumes 방식으로 구축하고자 할 경우, 반드시 cache 용 볼륨과 upload buffer 용 불륨을 2개 이상 추가하도록 한다. 

cache 용과 upload buffer 용으로 사용될 볼륨의 size 또한 guideline이 있다.

  • cache용 볼륨 사이즈는 전체 저장될 사이즈의 20% 수준으로 지정
  • cache용 볼륨 사이즈는 반드시 upload buffer용 보다 크게 지정할 것
가이드는 저렇지만, 난 그냥 테스트로 구축함으로 걍 10G씩으로 설정했다. ( 원래 잘 모르면 용감하다. )



  암튼, 이렇게 설정하고 VM을 배포한다. 다 만들어질 때까지 잠깐 wait.

  

  잠시 숨을 고르는 동안 appliance 설치가 완료되어 있을 것이다. 이때 생성 완료된 VM의 Public IP를 복사해서 처음 생성할때 화면으로 돌아가 IP를 입력해 준다.


     


  Proceed to Activation 을 클릭하면 Gateway 설정이 시작된다. 


 

Gateway 이름은 내맘대로 정하고,

 Timezone은 Seoul로 하고.. 기다리면


 volume Gateway에 생성이 되어 있다. ㅋ 오예-

 



 그 다음으로, 아까 appliance 배포 할때 추가로 붙였던 

 cache 용 볼륨과 upload buffer 용 볼륨의 용도를 설정해 주자.


 Gateway 탭을 선택 후 Configure Local Storage를 클릭.

 두개는 Cache 용으로 한개는 upload 용으로 선택 ㅋ

 



  이제 실제로 사용할 volume을 만들어보자.

  volume 탭 클릭 후 create volume! 

 


  

 Local storage 용도는 아까 위에서 지정 했으니 넘어가고..



 알람 지정도 된다. ㅋ

 upload buffer 사용용량이 일정 퍼센트 이상이 되었을때 지정한 메일 주소로 알람이 오도록 설정한다. 

 cache도 동일하게 설정 가능

 



 이제 마지막으로 volume 에 대한 설정을 한다. 


 Gateway-Cached volume 타입은 volume 한개당 최대 32TB 크기로 생성이 가능하고, 최대 갯수는 32개까지 가능하다. 

 그러므로 최대 지원 가능한 용량은 1PB 이다. 


 테스트로 30GB volume 생성해보자.

 


 create volume을 클릭하면, 생성완료!

 생성 완료와 함께 iSCSI 인증과 관련된 CHAP 설정 화면이 뜬다. 

 어차피 테스트 이므로 과감히 skip ㅋ


 ( success 메세지는 언제봐도 기분이 좋다 ㅋ)

  


  

  

드디어 설정을 완료 했다.

아래와 같이 volume 정보와 iSCSI 타겟 정보도 확인이 가능하다.







VM에 Volume을 붙여보자 (iSCSI)



이제 Gateway쪽 설정은 끝났으니 volume을 붙일 VM을 설정해 보자. VM도 편의상 EC2에서 하나 만들어서 테스트 해보았다. 


iSCSI 를 이용해 Volume을 붙이려면 먼저 관련 package 설치부터 하자. 


1. Package 설치


root@~~# yum install iscsi-initiator-utils



2. iscsid.conf 설정


 node.startup을 자동으로 설정한다. 


 root@~~# vim /etc/iscsi/iscsid.conf


... (중략)


node.startup = automatic


... (중략)


  

3. iSCSI Target 검색


root@~~# iscsiadm -m discovery -t st -p <ISCSI_TARGET_HOST_IP>

<ISCSI_TARGET_HOST_IP>:3260,1 iqn.XXXXXXXXcom.amazon:myvolume01


 위와 같이 iscsi target 이 한개 검색 된다. volume 명을 보니 아까 만든 volume 이다. 

 


4. iSCSI Target 로그인


root@~~# iscsiadm -m node --targetname "iqn.XXXXXXXcom.amazon:myvolume01" --portal "<ISCSI_TARGET_HOST_IP>:3260" --login

Logging in to [iface: default, target: iqn.XXXXXXcom.amazon:myvolume01, portal: <ISCSI_TARGET_HOST_IP>,3260] (multiple)

Login to [iface: default, target: iqn.XXXXXXXamazon:myvolume01, portal: <ISCSI_TARGET_HOST_IP>,3260] successful.


fdisk로 확인 해 보자

아래와 같이 /dev/sda 디바이스로 32GB disk가 보인다. 

root@~~# fdisk -l

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.


Disk /dev/xvda: 8589 MB, 8589934592 bytes, 16777216 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: gpt



#         Start          End    Size  Type            Name

 1         4096     16777182      8G  Linux filesyste Linux

128         2048         4095      1M  BIOS boot parti BIOS Boot Partition


Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes



5. disk 파티셔닝 및 마운드


 먼저 파티셔닝 부터.. 


root@~~# fdisk /dev/sda

Welcome to fdisk (util-linux 2.23.2).


Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.


Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0xc69d9b02.


Command (m for help): n

Partition type:

   p   primary (0 primary, 0 extended, 4 free)

   e   extended

Select (default p): p

Partition number (1-4, default 1): 1

First sector (2048-62914559, default 2048): 

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559): 

Using default value 62914559

Partition 1 of type Linux and of size 30 GiB is set


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.


fdisk로 다시 확인해 보면, /dev/sda1 확인된다.


root@~~# fdisk -l

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.


Disk /dev/xvda: 8589 MB, 8589934592 bytes, 16777216 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: gpt



#         Start          End    Size  Type            Name

 1         4096     16777182      8G  Linux filesyste Linux

128         2048         4095      1M  BIOS boot parti BIOS Boot Partition


Disk /dev/sda: 32.2 GB, 32212254720 bytes, 62914560 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0xc69d9b02


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1            2048    62914559    31456256   83  Linux


mkfs 로 파일 시스템 생성하고..


root@~~# mkfs.ext4 /dev/sda1

mke2fs 1.42.12 (29-Aug-2014)

Creating filesystem with 7864064 4k blocks and 1966080 inodes

Filesystem UUID: 29f645be-f2af-4648-b4e2-01ae22ccf911

Superblock backups stored on blocks: 

32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 

4096000


Allocating group tables: done                            

Writing inode tables: done                            

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done    


mount할 디렉토리 생성 하고, mount 해보자


root@~~# mkdir -p /volume01

root@~~# mount /dev/sda1 /volume01


df 로 확인해 보면, /volume01 디렉토리에 30G 용량의 볼륨이 붙어 있는것을 볼 수 있다. 


root@~~# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/xvda1      7.8G  1.6G  6.1G  21% /

devtmpfs        490M   64K  490M   1% /dev

tmpfs           498M     0  498M   0% /dev/shm

/dev/sda1        30G   44M   28G   1% /volume01


잘된다 ㅋ 굳굳



Comments