그리드 ftp 서비스 구축을 위한 설치 가이드

전체 글

(1)

ISBN 978-89-6211-033-3 93560

(2)

목 차

1. Introduction ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․1 2. GridFTP 메카니즘의 이해 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․1 가. GridFTP를 통한 파일 전송 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․1 나. Direction of control ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․2 다. 3rd-party transfer ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․2 라. GridFTP 성능 높이기 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․3 3. GridFTP 구축 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․5 가. 가상머신 소프트웨어를 이용한 리눅스 환경 구축[선택사항] ․․․․․․․․․․․․․․․․․․․․5 나. DNS 설치하기[선택사항] ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․25 다. GridFTP 설치 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․30 (1) 설치 전 작업 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․30 1) 계정 만들기 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․30 2) 글로버스 툴킷 구하기 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․30 (2) GridFTP server 설치하기 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․32 (3) GridFTP 사용하기 ․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․․35

(3)
(4)

Date channel은 데이터 이동을 위한 high-bandwidth 통신 링크이며 기본적으로 인증절차를 거치며 옵션으로 암호화와 무결성 보호기능이 제공된다. control channel은 명령어와 호출에 대한 반응을 담당하는 low-bandwidth TCP 링크이며 기본적으로 암호화와 무결성 보호되어 있다.

나. Direction of control

(5)

3 -라. GridFTP의 성능 높이기

- 병렬 스트림

single 데이터 채널 대신 병렬 스트림을 사용 할 수 있다.

- Striped 전송

(6)
(7)

5 -3 GridFTP 구축 “가.” 와 “나” 항목은 선택사항이며 이미 구성되어 있거나 설치 방법에 대하여 안 다면 건터 뛰어도 마방하다. 가. 가상 머신 소프트웨어를 이용한 리눅스 환경 구축[선택사항] GridFTP를 테스트 해 보기 위해서는 여러 대의 리눅스 머신이 필요하다. 물리적 으로 여러 대를 준비할 수 있으면 가장 좋은 경우이겠으나 보통 1-2대나 1대도 준비하지 못할 수 도 있다, 리눅스를 설치하는 방법 중에 지금 사용하는 PC를 멀티 부팅을 통해 윈도우 또 는 리눅스로 부팅하는 방법이 있다, 이 방법은 초보자가 설치를 잘못하는 경우 기존에 사용하던 윈도우를 모두 날려 버리는 실수를 할 수 있다는 단점이 있다. 이러한 단점을 극복하고 리눅스를 설치하는 좋은 방법으로 가상의 PC를 만들어 주는 가상 머신 소프트웨어를 이용하여 리눅스를 설치하는 것이다. 가상 머신 소프트웨어로는 MS사에서 개발 중인 VirtualPC와 VMWare사의 VMWare를 들 수 있다. 두 가지 모두 상용이지만 VMWare는 사용자 등록을 하 면 시험판을 정해진 기간 동안 쓸 수 있다.

(8)

최근에 VMWare GSX Server가 VMWare Server로 명칭이 바뀌면서 무료로 공개 되었다. 이 외에도 VWware Player가 있는데 역시 무료로 공개 되어 있고 VMWare Workstation이나 VMWare Server처럼 가상 머신 이미지를 만드는 기능 은 없고 가상 머신 이미지를 구동시키는 역할만 한다.

VMWare 사용 시 주의할 점은 Workstation에서 만든 이미지가 Server에서는 구 동이 안 된다는 것이다. Workstation의 경우에도 상위 버전에서 만든 이미지는 하위 버전에서 인식하지 못한다. 그리고 VMWare 제품은 위의 여러 가지 중 한 가지만 한 PC에 인스톨 된다. 만일 VMWare Workstation를 사용 중에 VMWare Server나 VWware Player의 인스톨을 시도하게 되면 기존에 사용 중인 VMWare Workstation을 지우라는 메시지를 받게 된다.

VMWare를 사용하는 가장 좋은 방법은 상용 버전을 구입하는 것이지만 차선책으 로 VMWare Workstation 평가판을 설치하고, 가상머신 이지지를 생성하여 리눅 스를 설치한 후에 평가판 사용기간까지(약 30일) 열심히 사용하다가 사용기간 이 만료 되면 VMWare Workstation을 지우고 VWware Player를 설치하여 기존에 만 든 가상 머신 이미지를 불러서 사용하는 것이다. VMWare Workstation을 지운다 고 해서 만들어 논 가상 머신 이미지가 지워지는 것이 아니다.

(9)
(10)

-VMWare Workstation을 설치했으면 환경 설정을 시작한다.

(1) [File] → [New] → [Virtual Machine]을 선택

(11)

9

-(3) 가성 머신을 직접 결정할 수 있도록 [Custom]을 선택하고 [다음(N)>]을 선택

(12)

(5) Guest operating system에서 [Linux]를 선택하고 Version에서는 [Other Linux 2.6.x kernel]을 선택

(13)

11

(14)

(8) 가상 머신이 사용할 메모리 크기를 지정한다. VMWare는 메모리 크기에 대해서 최저 권장 크기, 권장 크기, 최대 권장 크기와 같이 표시한다. 이 값은 사용 중인 시스템의 메모리에 따라 다르며 VMWare는 최대한 많은 메모리를 할당한다. 예제의 경우는 기본 메모리 2기가 중 256메가 를 자동 할당하였다. 대부분 사용하는 시스템의 메모리에 따라 자동 할당 되지만 상황에 따라 크기를 직접 입력할 수 있다. (9) 가상머신에서 사용할 네트워크 방식을 결정한다.

[Use bridged networking]은 회사 같은 곳에서 사용할 수 있는 실제 IP가 있는 경우에 사용한다. [Use network address translation (NAT)]는 가상의 IP를 가상 머신에 할당하고, 가상 머신은 실제 PC(host PC)의 인터넷 연결을 공휴하게 된 다. 즉 회사나 연구실 등 실제 IP를 여러 개 할당 할 수 있는 곳에서는 [Use bridged networking]을 선택하고 ADSL 같은 서비스를 이용하고 있으면 별도의 IP를 부여할 수 없기 때문에 [Use network address translation (NAT)]을 선택한 다.

(15)

13

(16)

(11) 다음은 가상 하드디스크를 만드는 것으로 VMWare에서 만드는 하드디스크 는 하나의 파일로 만들어진다. [Create a new virtual disk]는 새로운 가상 디스크 를 만드는 것이고 [Use an exiting virtual disk]는 기존의 가상 머신에서 사용하던 가상 하드디스크 파일을 재사용하는 경우에 적합하다. [Use a physical disk]는 고급 사용자를 위한 것으로 파일이 아닌 하드디스크 파티션을 직접 사용하는 경 우에 사용한다. 여기에서는 [Create a new virtual disk]를 선택한다.

(17)

15

(18)
(19)

17

(20)

(16) 플로피 디스크를 제거하기 위해 [Device]에서 [Floppy]를 선택하고, [Remove] 버튼을 클릭한다.

(21)

19 -이것으로 VMWare에서의 가상 머신 설정은 마쳤다, 여기에서 제거한 하드웨어는 다음에라도 추가 할 수 있다. 다음은 리눅스 설치 과정을 설명한다. 리눅스를 설치하려면 먼저 해당 배포판을 구해야 한다. GridFTP를 설치할 배포 판은 fedora 7로 http://fedoraproject.org/에서 구할 수 있다. iso 파일은 CD 크기에 맞게 약 600G로 나누어져서 4개의 파일로 구성된 것이 있고 DVD 크기에 맞게 한 파일로 만들어 진 것이 있다. 둘 중 아무것이나 사용 가능하지면 DVD 버전이 훨씬 편리하기 때문에 여기서는 fedora 7 DVD iso를 사 용한다.

(1) fedora 7 DVD 이미지를 CD-ROM으로 인식시키기 위해 VMWare 설정을 변 경한다. 기본 화면에서 [VM] → [Settings]를 선택한다.

(22)
(23)

21

(24)

(5) 아이콘 모음에서

를 클릭하여 가상 머신을 부팅한다.

(25)
(26)

-- 무료 공개 소프트웨어인 VMWare player 사용하기

VMware player은 VMware Workstation처럼 이미지 만드는 기능은 없고 만들어진 이미지를 구동시키는 역할을 한다.

VWWare player의 초기 화면은 다음과 같다

(27)
(28)

다음은 /var/named/chroot/var/named/gridftp.zone 파일을 만든다. 이 파일을 만들 기 전에 편리를 위해 템플렛 파일을 활용한다.

/var/named/chroot/var/named>cp named.local gridftp.zone /var/named/chroot/var/named>vi gridftp.zone

$TTL 86400

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ; Minimum IN NS localhost. 1 IN PTR localhost. 이것을 다음과 같이 수정한다. $TTL 86400

@ IN SOA ns.gridftp.test. root.ns.gridftp.test. (

(29)

27

-test02 IN A 192.168.0.2 test03 IN A 192.168.0.3

다음은 /var/named/chroot/var/named/gridftp.rev 파일을 만든다. 이 파일을 만들기 전에 편리를 위해 템플렛 파일을 활용한다.

/var/named/chroot/var/named>cp named.local gridftp.rev /var/named/chroot/var/named>vi gridftp.rev

$TTL 86400

@ IN SOA localhost. root.localhost. (

1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ; Minimum IN NS localhost. 1 IN PTR localhost. 이것을 다음과 같이 수정한다. $TTL 86400

@ IN SOA ns.gridftp.test. root.ns.gridftp.test. (

(30)

gridftp.zone과 gridftp.rev 파일을 만들고 저장하였으면 다음 작업을 수행한다. /var/named>ln -s /var/named/chroot/var/named/gridftp.zone gridftp.zone /var/named>ln -s /var/named/chroot/var/named/gridftp.rev gridftp.rev 그리고 링크가 잘되었는지 확인한다.

/var/named>ls -al

lrwxrwxrwx 1 root root 39 8월 29 16:59 gridftp.zone -> /va/name/chroot/var/named/gridftp/zone

lrwxrwxrwx 1 root root 39 8월 29 16:59 gridftp.rev -> /va/name/chroot/var/named/gridftp/rev

마지막으로 named 데몬을 재가동한다. #service named restart

(31)

29 -또는 HOSTNAME=test02.gridftp.test 또는 HOSTNAME=test03.gridftp.test 다음 /etc/host.conf는

order hosts, bind

이 파일은 위와 같이 이미 설정되어 있을 수 도 있다. 그리고 마지막으로 /etc/hosts 파일에 다음을 추가한다. test01,gridftp.test 192.168.0.1

(32)

다. GridFTP 설치 (1) 설치 전 작업

1) 계정 만들기

GridFTP 설치를 위한 계정은 root와 globus 두 가지 이다. 일단 globus 계정을 만들어 본다. 물론 계정을 만들기 위해서는 root 권한을 갖는 것이 필요하다 root 계정으로 다음을 실행 한다

#groupadd globus

(33)

31

-“Full Toolkit Source Download"를 클릭하면 두 종류의 압축방법으로 만들어진 tarball 소스를 볼 수 있는 데 둘 중 아무거나 다운받아도 된다. 다운 받는 장소 는 globus의 홈 디렉터리로 한다.

그리고 다음 중 한 가지 방법으로 압축을 푼다

~globus $ tar -jxf gt4.0.5-all-source-installer.tar.bz2 또는

(34)

(2) GridFTP server 설치하기

root 계정으로 다음을 수행한다. {globus_location} 은 사용자가 임으로 지정한다. 보통 gt4로 쓸 수 있다.

#mkdir /usr/local/{globus_location}

#chown globus:globus /usr/local/{globus_location}

globus 계정으로 /home/globus 디렉터리에서 다음을 수행

$ tar -zxf gt{version}-all-source-installer.tar.gz

$ export GLOBUS_LOCATION=/usr/local/{globus_location} $ cd gt{version}-all-source-installer

$ ./configure --prefix=/usr/local/{globus_location} $ make gridftp 2>&1 | tee build.log

$ make install globus 계정으로 $GLOBUS_LOCATION/setup/globus 디렉터리에서 다음을 수행 $./setup-simple-ca root 계정으로 $GLOBUS_LOCATION/setup/globus_simple_ca_(ca-hash)_setup 디 렉터리에서 다음을 수행 #export GLOBUS_LOCATION=/usr/local/(globus_location) #./setup-gsi -default 다음은 host certification을 하는 과정이다 root 계정으로 $GLOBUS_LOCATION/bin 디렉터리에서 다음을 수행

(35)

33 -/etc/grid-security/hostkey.pem

/etc/grid-security/hostcert_request.pem /etc/grid-security/hostcert.pem (empty file)

globus 계정으로 $GLOBUS_LOCATION/bin 디렉터리에서 다음을 수행

$ ./grid-ca-sign -in /etc/grid-security/hostcert_request.pem -out hostsigned.pem

root 계정으로 $GLOBUS_LOCATION/bin 디렉터리에서 다음을 수행 # mv hostsigned.pem /etc/grid-security 이상으로 GridFTP 서버와 관련된 설치는 모두 마친다 다음은 GridFTP를 사용하는 사용자에 대한 설정이다. 유저의 홈 디렉터리에서 다음을 수행 ~$USER/GLOBUS_LOCATION/bin/grid-cert-request 하면 유저의 홈 디렉터리 밑의 .globus 디렉터리에 다음의 3개 파일 생성 ~$USER/.globus/userkey.pem ~$USER/.globus/usercert_request.pem ~$USER/.globus/usercert.pem (empty file)

이중 usercert_request.pem 을 다음과 같이 인증한다.

일단 usercert_request.pem를 $GLOBUS_LOCATION/bin에 복사 한다. globus 계정으로 $GLOBUS_LOCATION/bin에서 다음을 실행

(36)

# cp signed.pem to ~$USER/.globus then rename signed.pem to usercert.pem

유저가 GridFTP 전송 명령어를 사용하려면 다음과 같이 proxy가 생성 되어야 한다. 유저의 홈에서 다음을 실행 ~$USER/grid-proxy-init 한 다음 ~$USER/grid-proxy-info 하게 되면 다음과 같이 결과가 나온다 subject /O=Grid/OU=GridFTPTest/OU=simleCA-gridftpfrontend.fulcrum.mig29/OU=localdom ain/CN=Mr. HPSS/CN=1051000527 issuer : /O=Grid/OU=GridFTPTest/OU=simleCA-gridftpfrontend.fulcrum.mig29/OU=localdom ain/CN=Mr. HPSS identity : /O=Grid/OU=GridFTPTest/OU=simleCA-gridftpfrontend.fulcrum.mig29/OU=localdom ain/CN=Mr. HPSS

(37)

35 -등록된 mapfile의 consistency 체크는 다음과 같다 $ grid-mapfile-check-consistency 마지막으로 GridFTP server 데몬을 올린다. root 계정으로 $GLOBUS_LOCATION/sbin에서 다음을 실행 $globus-gridftp-server -p 2811 (3) GridFTP 사용하기 유저 계정으로 유저 홈 디렉터리에서 다음과 같이 실행한다. ~USER$/globus-url-copy [sourceURL] [destURL]

Syntax: globus-url-copy [-help | -usage] [-version[s]] [-vb] [-dbg] [-b | -a] [-q] [-r] [-rst] [-f <filename>]

[-s <subject>] [-ds <subject>] [-ss <subject>] [-tcp-bs <size>] [-bs <size>] [-p <parallelism>] [-notpt] [-nodcau] [-dcsafe | -dcpriv]

<sourceURL> <destURL>

예1>

(38)

- 36 -< 부록 > GridFTP Server 설치 Qui ck 가이 드 us e r lo c a ti o n ins tr u ction comm e n t root any #user add globus #passwd globus #gr oupadd globus - Building only Gr idF T P and Utilit ies root any #m kdir /usr /local /( globus_locat ion)

#chown globus:globus /usr

/l ocal/( globus_location) globus /home/ globus $t ar -z xf gt( v ersion) -a ll- source-installer. tar .gz $expor t GLOB US_LOCATION=/ us r/ local/( g lobus_location) $cd gt{ver sion}-all-s our ce-inst a ller $. /configur e --pr efix=/us r/ local/ (globus_locat ion) $m ake gr idft p

2>&1 | tee build.log

(39)

37

-참 고 자 료

수치

Updating...

참조

Updating...

관련 주제 :