44
From NT to Linux NT에서 Linux 로의 마이그레이션 가이드 An application migration guide(2004. 03)

From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

From NT to Linux

NT에서Linux로의

마이그레이션가이드

An application migration guide(2004. 03)

Page 2: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

From NT to Linux

Page 3: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

NT에서Linux로의마이그레이션 가이드

Page 4: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

3

4

1. 왜 Linux로마이그레이션해야하는가 4

1.1 Linux의사용상장점 6

유연성 6

안정성 6

보안성 7

확장성 7

하드웨어최적화로부담없는리소스요구사항 7

가격 8

폭넓은기술지원및서비스가능 8

급속도로성장하는시장 8

개발리소스로접근가능 8

1.2 왜Linux가NT를대체하는OS인가 9

2. 애플리케이션마이그레이션전략및고려사항 10

2.1 마이그레이션이전에고려할문제들 12

하드웨어환경 12

소프트웨어환경 12

기술준비사항 12

2.2 계획및준비 13

마이그레이션계획 13

준비작업 13

2.3 포팅 14

가능한프로그래밍모델마이그레이션 14

주의해야하는사항 15

포팅과정 18

포팅툴 18

2.4 검사 19

2.5 성능튜닝 20

2.6 구축 21

목차

Page 5: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

0 2+0 3

3. 미들웨어마이그레이션 22

3.1 MS Exchange 서버에서Domino 마이그레이션 24

사전평가 24

포팅 25

검정및검사 26

성능튜닝 28

레퍼런스 28

3.2 SQL 서버에서DB2 마이그레이션 30

사전평가 30

포팅 31

검정및검사 32

성능튜닝 33

4. NT 서비스마이그레이션 36

4.1 마이그레이션고려사항 38

4.2 유저인증 39

4.3 파일및프린트공유서비스 40

4.4 그밖의기본네트워크서비스 41

Page 6: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

• 1

2

3

4

1

Page 7: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

다양한 애플리케이션을 위한 매력적인 운 체제인

Linux는 다양한 비즈니스 이점을 제공한다.

Window NT에서 Linux 마이그레이션에 관한 세부

적인논의에들어가기앞서, Linux 운 체제의여러

장점을소개하고자한다.

Why move toLinux?

왜Linux로마이그레이션해야하는가?

Page 8: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

• 1

2

3

4

1 . 1

L i n u x 의 사용상 장점

유연성

Linux는 소스가 공개된 운 체제이다. Linux 커널 및 Linux 배포판에 포함된 대부분의

소프트웨어구성요소들은GPL 혹은LGPL에의해라이선스를받는다.

모든프로그래머들은GPL/LGPL 조항에동의할경우Linux 소스코드를보고변경할수

있다. 이러한자율성은더욱쉽고빠른문제해결로이어진다. 소프트웨어버그가발견되

었을때, 업체가제공하는패치프로그램을오랫동안기다릴필요없이사용자혹은커뮤

니티의다른개발자와의대화를통한오류부분에대한즉각적인해결이가능하다. 이 사

실은단순히이론상의장점만을이야기하는것은아니다. SAP와같은많은 ISV 업체들은

자사의제품을Linux 기반에서안정적사용할수있도록하기위하여소스코드를최적화

하 다. 따라서, 솔루션업체들이소스코드를리눅스기반에서안정적으로구현하도록수

정할수있는유연성및개방성이 Linux가 확산되는가장중요한이유중의하나로생각

하고있다.

설령사용자가 Linux 기반의공개소프트웨어모델에서소스코드를자유롭게수정할수

있는기능을사용하지못한다할지라도, 유연성에관련된여러다른혜택들을얻을수있

다. Linux는 PDA를비롯하여, 워크스테이션에서부터 IBM zSeries에이르는거의모든

CPU 아키텍처(x86, PowerPC, SPARC, Alpha, PA-RISC, Itanium, Arm 등)를 지원

한다. Linux는 TCP/IP 스택, IP 라우팅및Firewall 기능과 IPv6가 Linux 커널에절묘

하게 통합된 아주 강력한 네트워크 운 체제이다. Linux는 또한 Ext3, ReiserFS, JFS,

BFS, NFS, FAT32, NTFS 등을포함하는수많은파일시스템을지원하며, 이러한지원

기능은Linux를다른플랫폼에비해경쟁우위에올려놓는다.

안정성

Linux는Linux에포함된여러훌륭한기능들로격찬을받아왔다. Gartner Group이발표

한OS 평가리포트에의하면, Linux는 안정성면에서Windows NT 및 Window 2000을

훨씬능가하는RISC UNIX와함께안정성부분에서“Excellent”어워드를수상하 다.

Page 9: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

0 6+0 7

보안성

Linux 개방형 표준의 특징은 폐쇄적 운 체제보다 더욱 훌륭한 보안 기능을 제공한다.

Linux 코드는 수천명의개발자에의해서수정및보완이되었으며, 심지어 개발도중에

도문제점및버그의발견및조기수정이가능하다. 또한, Unix와유사한OS인 Linux는

외부공격에큰내성을지니는기능을탑재하고있다. 그예로“chroot”을들수있다.

확장성

이전 Linux는 SMP(symmetric multi-processor) 지원에 있어 일반 기업체에서 발표한

UNIX 운 체제에 뒤처진 OS 다. 그러나 커널 2.4의 도입과 함께, Linux는 4-Way

SMP를강력히지원하며8-Way 웹서버지원에도안정적이면서뛰어난성능을보이고있

다. Linux는클러스터링기술과함께사용되면서강력한연산작업을통한많은워크로드

를처리할수있게되었다. Shell의지구물리학분석을위한1024 노드클러스터시스템과

8000 노드인Google의Linux 검색엔진은Linux 클러스터링의좋은사용사례이다.

하드웨어 최적화로 부담 없는 리소스 요구 사항

Linux 소프트웨어는일반운 체제보다크기가더욱작고속도는더욱빠르다. Linux는

대용량의메모리및빠른 CPU를잘이용할수도있지만, 이들없이도 Linux 애플리케이

션은잘실행이되고, Intel 486과같은CPU에서도실행된다. 또한, 서버에서사용시에

Linux는 GUI 및 X 서버를사용하지않는편리한구성이가능하다. 그러므로, 많은시스

템리소스가절약되고, 성능이해당하드웨어에서최적화된다,

Page 10: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

• 1

2

3

4

가격

“공개소프트웨어”는그어떤비용도부과되지않음을의미하지는않지만, Linux를 사용

함으로써예산에는여유가생길것이다. Linux는 저렴한가격에구입할수있으며시트

비용(Seat Fee)이부과되지않는다. 추가비용없이다양한애플리케이션및툴패키지를

CD 배포판과함께제공받을수있으며, 개발자커뮤니티에서제공되는공개패키지를꾸

준히다운받을수있다. 이러한공개소프트웨어를무상으로사용할수있는것이 Linux

사용시의비용적인가장큰매력이다.

폭넓은 기술 지원 및 서비스 가능

많은업체들은관리/개발컨설팅, 강의, 프로그래밍훈련등을포함하는 Linux 지원서비

스를 제공하고 있다. 이러한 업체들은 단지 Redhat, SuSe, TurboLinux 및 그 밖의

Linux 배포 업체뿐만아니라 IBM, HP, Dell 및 세계적혹은해당국가의 Linux 단체와

같은다양한 로벌시스템업체들을포함한다. 다양한 Linux 기술관련문서들을인터넷

상에서입수할수있다. 또한, 수천 명의 Linux 기술 보유자들은여러뉴스그룹및메일

리스트를통하여각사용자의연락을기다리고있다.

급속도로 성장하는 시장

Linux는 가장 빠르게 성장하는 서버 운 체제이다. 이러한 사실은 리서치 전문기관인

IDC, Gartner 및여러 IT 컨설팅업체에의해계속적으로보고되고있다.

개발 리소스로 접근 가능

Linux 프로그래머들은 Low-End Linux 플랫폼상에서 애플리케이션을 개발하여 High-

End 대용량 서버로 이전하여 사용할 수 있다. 게다가, OSDL 및 IBM은 수많은 Open

Source 프로젝트를후원하고있고이로인해수많은프로그래머들은 High-End 상용 서

버환경하에서리눅스를구현하고있다.

Page 11: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

0 8+0 9

Microsoft는 2004년 12월 31일부로Window NT 지원을공식적으로중단할것이다. 마이

그레이션은모든Window NT 유저들에게심각하게고려해야만하는사항이된셈이다

이가이드도입부분에서많은 Linux 특장점에 대하여설명하 다. 그러나, 이것은 아무

것도 없는 백지 상태에서 애플리케이션을 구축할 때 Linux가 최상의 선택임을 입증하는

것이다. 마이그레이션에대하여논의할때, 마이그레이션에관한결정을내리는고객의관

점에서비용을고려해야만한다. 물론, 고객은당연히단기간및장기간에걸친상황에대

한비용을고려할것이다.

아래의내용은Window NT 최고의대안인Linux를지지하는 IBM의의견이다.

1. Linux는 Window 운 체제보다더욱안정적인 OS이다.

보안성은비즈니스의종류에상관없이고려해야하는중요한문제임에틀림없다. 악의적

인공격에의해시스템이충돌하면, 비즈니스가방해받는것뿐만아니라크리티컬한비즈

니스데이터역시도난당하거나파괴된다. 결과는 회사에치명적일것이며, 공공기관인

경우국가의이익이위험에처하게된다. 첫번째장에서언급되었듯이, Linux는독점적

OS보다기본적으로더욱안정적이다. 또한, 보안취약점이드러났을때도빠르고잦은패

치제공은시스템이더욱내성을갖추도록만든다.

2. 독점적 솔루션에 비해 더욱 저렴한 Linux 기반 솔루션은 총소유비용(Total Cost of

Ownership)을낮춘다.

Linux는사유솔루션에비해저렴한라이선스비용을요구한다.

훌륭한안정성및보안성은비즈니스비용을절약한다.

유비쿼터스지원플랫폼은기존하드웨어를더욱잘활용할수있게해주며새로운투

자비용을줄인다.

Unix 기술의사용은애플리케이션개발및시스템유지/보수비용을줄인다.

개방형플랫폼은업체의이탈방지(Lock-in) 전략을피할수있으며, 그 결과장기간의

비즈니스비용을줄일수있다.

1 . 2

왜 L i n u x 가

N T를 대체하는 OS인가

Page 12: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

• 2

3

4

2

Page 13: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

ApplicationMigrationstrategy andconsiderations?

애플리케이션마이그레이션전략

및고려사항

Page 14: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

• 2

3

4

애플리케이션코드의마이그레이션전에, 몇가지고려해야할사항이있다.

하드웨어 환경

어떠한 하드웨어 플랫폼으로 마이그레이션하고자 하는가? Linux는 Alpha, x86,

Itanium 64, IBM zSeries/pSeries/iSeries와같은수많은CPU 아키텍처에서지원된

다.

애플리케이션마이그레이션이32비트에서64비트로의이동인가아니면그반대인가?

현재 하드웨어 환경이 충분한가? 고성능 네트워크 프린터 혹은 고속 Fiber Channel

디스크어레이와같은새로운장치들을추가하고싶은가?

소프트웨어 환경

사용자의애플리케이션개발및실행에필요한모든개발툴, 라이브러리및미들웨어

가대상Linux 플랫폼에사용가능한가?

사용자의애플리케이션아키텍처상에서구성요소들의변동사항이있는가? (예, 데이

터베이스시스템이MS SQL에서DB2로변경예정)

RedHat, SuSe, TurboLinux 등과같이다양한Linux 배포업체들중에서, 어느배포

판을선택할것인가?

사용자가 선택한 Linux 배포판이 사용자의 애플리케이션에 필요한 모든 하드웨어 장

치를지원할수있는가? 예를들어, 선택한Linux 배포판커널이귀사의이더넷네트워

크인터페이스, 내부RAID 카드및화상캡처장치를지원할수있는최신의드라이버

를갖추고있는가?

사용자의싱 애플리케이션소스가하나이상의플랫폼을지원할계획인가?

C/S혹은 n-Tier 모델과같은애플리케이션아키텍처모델의목표는무엇인가? 그리고

아키텍처상의어떠한요소가우선마이그레이션대상인가?

기술 준비 사항

현개발자들이애플리케이션포팅을위하여 어떤기술교육을받아야하는가?

현시스템운 자들이마이그레이션될시스템을위하여필요한기술은무엇인가?

현애플리케이션유저들이마이그레이션될애플리케이션을위하여필요로한교육이무

엇인가?

2 . 1

마이그레이션 이전에 고려할 문제들

Page 15: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

1 2+1 3

마이그레이션 계획

마이그레이션 계획은 마이그레이션 사전 평가 후에 준비되어야 한다. 마이그레이션 계획

은마이그레이션프로젝트의중요관점에관한조정및스케줄을잡는것을의미한다. 보

통, 회사의마이그레이션계획은아래의사항을포함하여야한다.

마이그레이션예산—각각의프로젝트에얼마의비용이필요한가?

마이그레이션진행스케줄—마이그레이션의각단계에서어떠한목표가달성되어야하

는가? 프로젝트는어떻게나누어지는가?

설비리스트—마이그레이션관련모든하드웨어및소프트웨어리스트작성

예상치 못한 상황 대처 — 마이그레이션 도중 예상치 못한 상황의 발생이 가능하다. 이

역시사전고려대상이다.

준비 작업

하드웨어환경—마이그레이션준비에필요한모든하드웨어장비가준비되어야한다.

소프트웨어환경—마이그레이션준비에필요한모든소프트웨어(개발툴, 버전컨트롤

툴등)가준비되어야한다.

인적자원—개발자들교육을통하여애플리케이션포팅에준비할수있도록대비하라.

2 . 2

계획 및 준비

Page 16: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

• 2

3

4

가능한 프로그래밍 모델 마이그레이션

포팅과정은각각의단일애플리케이션관련프로그래밍모델과아주 접한관계에있다.

보통, 애플리케이션아키텍처상의상이한부분들은다른프로그래밍언어혹은 API를 사

용하면서 구축된다. 아래의 내용은 Window NT에서 Linux로 포팅 시, 각각의 애플리케

이션구성요소와관련된프로그래밍모델의변화를기술하고있다.

1. C/S 아키텍처상의 특정 클라이언트 측 소프트웨어. 이것은 보통 Visual C++ 혹은

Window Workstation상의 Visual Basic을 사용하여 프로그램화되며 GUI(Graphic

User Interface) 환경에서 실행된다. Linux에서 C/C++는 소프트웨어를 코드화하

기위하여사용되며GUI는GTK 혹은QT 라이브러리가될수있다. GTK가 LGPL에

라이선스를 받은 반면, QT는 GPL의 라이선스를 받았다. 그리고 GTK는 C 라이브러

리를통하여제공되는반면, QT는C++ 클래스라이브러리를통하여제공된다. 이두

API는그래픽기능을완성할수있다. 그결과, 코드가사적으로보호되어야만한다면

GTK가 추천된다. 그리고 GTK 장치를캡슐화하기위하여 C++ 클래스로정의할수

있다. 이와는 별개로, 너무나 많은 GUI 작업이 들어왔을 때, 코드를 대규모로 새롭게

쓰는방법이요구된다. 비용을고려하자면, 이러한포팅은마이그레이션전체에는필요

치않을수도있다. Windows Workstation을계속사용할수있고만들어지는애플리

케이션 구성 요소(예: 임베디드 SQL)가 요구하는 변경 사항들만을 계속해서 사용할

수도있다.

2. C/S 아키텍처의서버측소프트웨어. 이것은Window NT 서버상의 Visual C++ 혹

은 Visual Basic을 사용하여프로그래밍되며 GUI는 포함하지않는다. Linux상에서,

C/C++는소프트웨어코딩을위하여사용된다. 이러한포팅은클라이언트측포팅보

다상대적으로쉽다. Windows NT에서사용되는각각의API를위하여, 이것들을매칭

하는 API(예: WinSock에서 BSD 소켓, Winthread에서 Pthread)가 Linux상에 있

다. 그리고, 의미상의작은차이점들이있다. 우리가기억해야할것은이러한차이점들

에주의를기울이는것이다.

2 . 3

포팅

Page 17: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

1 4+1 5

3. Java 코드화된클라이언트/서버애플리케이션. 이 포팅방법은아주쉽다. Java 플랫

폼이독립적이기때문에변경사항을만들필요가거의없을것이다. 이방법에필요한

것은귀사의Linux상에요구되는모든Java 클래스라이브러리를얻는것이다.

4. n-Tier 아키텍처상의미들레이어. 이것은ASP에서 JSP로, COM에서EJB로와같이

변경사항을요구할수도있다.

5. C/C++ 혹은 Java로쓰인소프트웨어툴. 이러한툴은보통싱 워크스테이션혹은

서버에서사용되며시스템상의다른구성요소들과상호작용을거의하지않는다. 이러

한툴의마이그레이션은순수Windows NT에서Linux C/C++로의포팅이다.

주의해야 하는 사항

이가이드에서는, 일반C/C++ 프로그램의NT에서Linux 포팅에관한토론사항만을제

공한다. 그 이유는 이러한 경우가 가장 일반적이기 때문이다. C/C++에서는 특정

Window API와 Linux API의 차이점이 코드의 변화를 야기하는 이유이다. 그러나, 일반

운 체제에의한API는아주복잡하다. 여기서우리는이러한차이점들에관한토론을접

기로한다. 자세한사항은관련Windows NT 및 Linux 문서를참고바란다. 아래의리스

트는숙련된포팅프로그래머의견지에서바라본고려대상이다.

1. CPU 의존문제점

머신단어길이변화 각기다른하드웨어아키텍처는머신단어길이를가지고있

지않다. Int 혹은 long은항상4바이트라고단정하지말라. 변수의길이혹은오프셋과

연관시, sizeof(..)를사용하라.

Endian 타입의차이점 예를들어, x86과같은몇몇아키텍처는 small-endian이

고, SPARC와같은몇몇아키텍처는big-endian이다. 두아키텍처사이에서복합데이

터구조가서로교환될때, 사전정의된 endian은 전송매개로서사용되어야한다. 예

를 들어, 애플리케이션 프로토콜을 원거리 노드로 전송하고 프레임 헤더가 많은“int”

Page 18: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

• 2

3

4

데이터를가지고있을때, 프레임전송전에이러한데이터를Network 바이트순서로

변환해야하며, 데이터전송후에는데이터를 Network endian에서 로컬 endian으로

바꾸어야한다.

2. 운 체제차이점

파일시스템액세스인터페이스간의차이점 Windows NT상에서, 각각의물리적파

일은디스크C, D, E 등(논리구획)과같이할당되며, 각각의디스크파일은각디스크

첫번째문자로시작하는완전경로로구분된다(예: C:\download\ guide.pdf). Linux

상에서는각각의파일시스템파티션이독특한루트파일시스템에직접적혹은간접적

으로마운트된다. 그러므로모든디스크파일들은항상유니폼루트에서시작하는완전

경로를 통하여 구분된다. NT에서 Linux 포팅 시, 파일 구별에 관련된 코드들은 전부

변경되어야한다.

내부-프로세스커뮤니케이션 Windows NT 프로세스 간의 상호작용은 메시지-구

동형이다. 하나의Windows NT 과정은외부메시지들을수용하여다른프로세스에

향을받기위하여메시지대기열에반복적으로폴(poll) 하여야한다. Linux에서도또

한 메시지 대기열 커뮤니케이션을 위한 메커니즘이 있다. 그러나, 그것은 선행조건이

아니다. 그리고, Linux는순수비동기커뮤니케이션방법인Signal을가지고있다.

3. GUI 차이점

Windows GUI 및Linux GUI의구축은완전히다르다. Windows NT GUI 애플리케이

션은Linux에서GTK 혹은QT 등의GUI 라이브러리를사용하여다시쓰여져야한다.

4. 다른차이점들

API상의차이점 이러한타입의종류는보통엄청나다. 그리고, 똑같은업무를위

한 도입 방법, 기능의 이름 혹은 파라미터 포맷의 차이에 의해 표현된다. 예를 들어,

Windows NT에서파일을열기위해서는OpenFile()이 사용된다. 반면, Linux에서는

Page 19: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

1 6+1 7

open() 혹은 fopen()이사용된다.

개발또는컨트롤툴 Window NT에서프로젝트셋업시일반적으로Makefiles이

보통 IDE에의해자동으로생성된다. 그러나, 이러한Makefile은 Linux에서작동하지

않을 수도 있다. GNU가 Linux상에서 올바르게 인식하기 위하여 Makefile을 변경해

야만한다.

개발혹은컨트롤툴 Windows NT에서 Visual SourceSafe는버전컨트롤을위

해사용된다. 그러나, Linux상에서는버전컨트롤로CVS가주로사용된다. 그리고이

것은 GUI 기반이 아니다. 그러므로, 위의 사실은Windows NT 프로그래머들이이러

한툴에적응하는데약간의시간을필요로할수있다.

Line end 바이트차이점 이것은그다지큰문제점이아닐수도있다. 그러나이것

은 모든 소스 파일들을 NT에서 Linux로 옮길 때 문제를 일으킬 수도 있다.

Dos/Windows상에서, 텍스트파일상의Line end는‘\n\d’의 2바이트로마크된다. 그

러나 Linux/Unix에서는“\n”의 오직 1바이트 밖에 없다. Windows 소스 파일들을

Linux로옮길때, 이들파일들은몇몇에디터툴이정확하게인식하지못할경우도있

다. 각각의NT 소스파일들을Linux 포맷으로변경하기위하여“dos2unix”툴을사용

할수있다.

컴파일러차이점 Linux상의GCC는Window NT상의Virtual C++와상당히많

은차이점을가지고있다. 그예로, GCC는케이스민감하지만, VC++는그렇지않다.

성공적으로링크된 C 프로그램은 Linux와 연결되지않을수도있고, “미해결심벌”과

같은메시지를받을수있기에혼란스러울수있다. 이것은원래동일한변수/기능이케

이스차이로인하여GCC에의해다르게보여지기때문이다. 컴플라이어의차이점을보

여주는또다른예는타입변경식이다. Virtual C++에서타입변경식은“unsigned

long (i)”와같이될수있다. 그러나 GCC에서는“(unsigned long ) i”만이사용가능

하다.

Page 20: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

• 2

3

4

포팅 과정

1. 소스코드를 Linux로옮겨라. GNU상에서수행될수있도록애플리케이션Makefiles

를변경하라.

2. 코드와헤더파일을포함하는것들을정리하라. 하드웨어아키텍처에심하게의존하는

코드포인트와비형식코딩방법들을제거하라.

3. 모든경고표시들을켜놓은상태에서코드를반복적으로컴파일하라. 전체소스트리가

올바르게컴파일되고경고혹은에러메시지가뜨지않을때까지경고와에러를교정하

라.

4. 실행가능한애플리케이션을실행하라. 만약프로그램이시작하지않거나곧충돌하면,

보통 NULL 포인터레퍼런스, 세그먼트장애등과같은명백한문제점들이있는것이

다. 문제점들을빠르게수정하고3단계로이동하라.

5. 만약프로그램이문제없이실행되는것같다면, 테스터에게애플리케이션검사를위하

여애플리케이션을건네준다.

포팅 툴

1. Mainwin(http://mainsoft.com/products/mainwin.html) Mainwin은

Windows 플랫폼상에서Unix/Linux 코드를컴파일하는개발툴이다. 이러한툴은마

이그레이션을 훨씬 수월하게 하며 마이그레이션에 걸리는 시간을 현저하게 감소시킨

다. Mainwin은 Visual Studio Environment에 심리스 통합(seamless integration)

되어있다.

2. EditPad(http://www.editpadpro.com) Editpad는 Linux상에서 Windows

스타일의편집환경을제공하는강력한편집툴이다. 이것은Vi와같은기존Unix 에디

터에익숙하지않은장기간의Windows 프로그래머들에게특히적당한프로그램이다.

이러한프로그램역시시간을많이단축시킨다.

3. Migratec(http://www.migratec.com/MigraTEC/migration_suite.htm)

Migratec은마이그레이션에아주유용한툴이다. 이툴은 Linux상에서바뀌어야만하

는Window NT 소스코드들을표시해줄수있다.

Page 21: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

1 8+1 9

마이그레이션된 애플리케이션이 비즈니스에 공식적으로 구축되기 전에 애플리케이션의

검증이이루어져야한다. 검증과정은애플리케이션이본래규격에정의된요구사항들을

만족하는지의여부를확인하는과정이다. 검증과정은오랜시간에걸친공식적인검사에

의해이루어진다. 마이그레이션된애플리케이션을위한검사는검사가새로운플랫폼에서

수행되어야하는경우를제외하고는새롭게개발된애플리케이션의검사와크게다를바

없다. 검사는보통마이그레이션된애플리케이션의기능성뿐만아니라성능평가또한포

함한다. 검사작업을용이하게하기위하여검사툴이주로사용된다. 몇몇검사툴은대상

플랫폼상에서실행을요구한다. 이러한종류의검사툴은보통Java, Perl 등과같은고이

식성언어(portable language)로 쓰여 있다. 그렇지 않으면툴을대상플랫폼에우선포

팅해야할지도모른다.

검사는아래의종류로나뉠수있다.

설치검사

기능성검사

호완성검사

성능검사

검사도중애플리케이션이논리적으로실행이안되거나, 심지어뜻밖에종료됨을경험할

수 있다. 이러한 경우, 문제점이 어디에 있는지 찾기 위하여 코드를 디버그 해야만 한다.

GDB는 Linux에서 가장 유용한 C 프로그램 디버깅 툴이며 사용 방법 또한 간편하다.

GDB를사용하기위하여, 모든C 소스파일들을단순히“-g”옵션과함께컴파일하면된

다. Linux Shell 상에서“info gdb”라고입력하면GDB 사용에관한모든정보를얻을수

있다.

2 . 4

검사

Page 22: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

• 2

3

4

애플리케이션의성능을튜닝하는것은고도로숙련된작업이라할수있다. 아래의내용은

C/C++ 프로그램의성능을향상할수있는여러방법들을기술하고있다.

1. 시스템호출감소. 시스템호출은유저스페이스에서커널스페이스에이르는애플리케

이션을 트랩하기 때문에 시간을 소비하는 작업이다. 만약 작업이 유저 레벨로 구축될

수있다면, 시스템호출을피하면서유저레벨로구축하도록한다.

2. 기능호출보호. 기능보디가아주작으면, 기능호출과연관된오버헤드는간과되지않을

수도있다. 이런이유로, 가능하다면마크로혹은인라인기능들을사용하라.

3. 코드포인트발견을위해프로그램들을프로파일하라. sprof와 gprof가 Linux상에서

사용가능하다. sprof는 매번단일다이내믹라이브러리의기능들만을프로파일할수

있다. gprof는프로그램전체를프로파일할수있지만, 소스파일들을“-pg”옵션과함

께컴파일해야만한다. 위툴의사용법을알고싶다면Linux 툴에관한매뉴얼페이지

를참조하라.

4. 메모리 프로파일. 단일 애플리케이션의 메모리 사용 프로파일을 위하여 Linux상의

Memprof 툴을사용할수있다. Memprof는애플리케이션을실행함에따라메모리할

당활동의변화를보여주는히스토그램을출력한다. 이툴은다이내믹메모리의불합리

한할당/반환의가능한경우들을찾는데유용하다.

5. 단축평가(short-cut evaluation)에 주의하라. || 및 && 조건식은코드실행에있어

순차적이다. 컴플라이어가식을왼쪽에서오른쪽으로평가한다는가정하에, 오른쪽 ||

의식이 1이될가능성이아주크다면이것을왼쪽에도넣어코드의능률성을향상시킬

수있다는것이명백하다. 이와비슷하게, &&의오른쪽식이0이될가능성이아주높

다면이것을왼쪽에도입력하여코드의능률성을향상시킬수있다. 식을넣는방법을

알게되어, 그결과더욱좋은코드들을만들어낼 수있다는것을명심하라.

2 . 5

성능 튜닝

Page 23: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

2 0+2 1

애플리케이션구축과정은아래의과정을포함한다:

1. 새로운런-타임환경구축

하드웨어장비를셋업한다. 이것은마이그레이션구축이기때문에기존의물리장비는

바뀌지않아도된다.

대체될NT 서버에Linux를설치한다.

기존플랫폼상의기존서비스를대체하는새로운표준서비스를새로운플랫폼상에셋

업한다. 이것은파일& 프린팅서비스, 웹서비스, 파이어월, 데이터베이스서버, 애플

리케이션서버등과같은것을포함할수있다.

마이그레이션된애플리케이션런-타임소프트웨어를새로운플랫폼상에설치한다.

2. 기존시스템에서새로운시스템으로데이터마이그레이션

기존 시스템의 데이터를 마이그레이션하는 것은 비즈니스 일관성 관점에서 필요하다. 보

통이과정은기존의데이터베이스(예: MS SQL)에서애플리케이션데이터의백업/익스

포트작업과새로운데이터베이스시스템(예: DB2)으로의복원/임포트작업을포함한다.

3. 애플리케이션실행

2 . 6

구축

Page 24: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

• 3

4

3미들웨어마이그레이션전략은Windows에만편향

된미들웨어기반애플리케이션을고도로개방되고

유연성을 갖춘 IBM 미들웨어로 옮기는 데 추천되

는 접근법이다. IBM 미들웨어 소프트웨어 플랫폼

은 Linux, Windows, AIX, OS/400 및 z/OS와 같

은다양한운 체제에서실행이가능하다. Linux상

의 IBM 미들웨어는 Intel 기반 데스크톱/서버에서

부터 POWER 기반 워크스테이션뿐만 아니라, 강

력한메인프레임에이르는다양한하드웨어플랫폼

상에서도 구동이 가능하다. 마이그레이션 과정은

지금보다훨씬넓은애플리케이션의확장성옵션을

가능하게할것이며미래에요구되는마이그레이션

을최소화할것이다.

Page 25: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

이번 장에서는 MS Exchange 서버에서 Domino

마이그레이션, SQL 서버에서 DB2마이그레이션에

대하여 논의해 보겠다. 그 밖의 미들웨어 마이그레

이션가이드는추후요청시추가예정이다.

Middleware Migration

미들웨어마이그레이션

Page 26: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

• 3

4

사전 평가

전제조건:

1. 트레이닝혹은그밖의방법으로Domino 관련기술을채득하라.

포팅분석

1. Domino 마이그레이션

a) POP3/IMAP/SMTP 서비스마이그레이션

b) 유저메일박스

c) 공용폴더

d) 기타...

2. 클라이언트마이그레이션

a) 유저수

b) 유저메일박스크기

c) 메일클라이언트를Outlook에서Lotus Notes로마이그레이션

d) 기타...

툴:

Redbook: Migrate Exchange 5.5 for NT to Domino on Linux

리소스:

http://www.redbooks.ibm.com/

http://www-1.ibm.com/servers/solutions/collaboration/move2lotus/

Migrate Exchange 5.5 to Domino on Linux, REDP-3777

Exchange Your Exchange: Migrating from Microsoft Exchange 5.5 to Lotus

Domino 6, REDP-3694

3 . 1

M S E x c h a n g e 서버에서

D om i n o 마이그레이션

Page 27: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

2 4+2 5

포팅

전제조건:

1. 제품권고

2. Domino 준비및설치

3. 자동화서버구조마이그레이션(유저및그밖의서버데이터)과유저메일박스마이그

레이션(예: Lotus Notes and Domino Admin, Outlook)에사용될방법및툴결정

4. Lotus Notes, Domino Admin, Outlook 준비및설치

5. Lotus Notes와Domino Admin 사용환경에익숙함

포팅과정:

1. 유저및그밖의서버데이터마이그레이션

a) 메일박스

b) 폴더구조가있는 Inbox 보기

c) 메일메시지변환

d) 캘린더엔트리

e) 연락처

f ) 업무/할일엔트리

2. 공용폴더마이그레이션

3. 유저메일클라이언트마이그레이션

툴:

1. 유저및그밖의서버데이터의마이그레이션을위하여아래의사항이요구된다.

a) DUS(Domino Upgrade Services)를갖춘Domino Administrator 클라이언트

b) Outlook 클라이언트

2. 공용폴더마이그레이션을위하여아래의사항이요구된다.

a) Exchange Administrators 프로그램

b) Outlook 클라이언트

c) Notes 클라이언트

Page 28: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

• 3

4

d) Excel 혹은Lotus 123

D om i n o U p g r a d e S e r v i c e s ( D U S )

Domino Administrator 클라이언트 상의 DUS 마이그레이션 툴은 기존 Microsoft

Exchange의메시지및디렉토리시스템의정보들을Domino 6로쉽게마이그레이션해주

는툴이다. DUS를가지고, Exchange Global Address List와같은외부디렉토리로부터

유저들을임포트할수있고Notes 유저로등록한다음Exchange 메일시스템의메일들을

Domino 메일데이터베이스로변경할수있다. 이마이그레이션툴은외부디렉토리의모

든유저들의마이그레이션을가능하게해주며혹은특정유저만을골라마이그레이션할수

있게해준다. 이툴은Domino Administrator에포함되어있다.

리소스:

Migrating from Microsoft Exchange 5.5 to Lotus Notes and Domino 6, SG24-6955

The Three Steps to Super.Human.Software: Compare, Coexist, Migrate From

Microsoft Exchange to Lotus Domino Part One: Comparison SG24-5614

The Three Steps to Super.Human.Software: Compare, Coexist, Migrate From

Microsoft Exchange to Lotus Domino Part Two: Coexistence and Migration SG24-

5615

검정 및 검사

전제조건:

1. 계획의목적열거, 검사계획의레벨파악

2. 검사의범위파악

3. 검사툴의획득및설치

검정및검사과정:

1. 계획

Page 29: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

2 6+2 7

a) 범위

b) 검사아이템의정의

c) 검사받을기능들

d) 아이템합격여부기준

e) 정지기준및재개요구사항

f ) 검사인도

g) 환경요구사항

2. 서버및클라이언트검사

a) 메일서버업무체크

b) 유저메일박스구성체크

c) 유저메일박스기능체크

3. 문제해결

a) 관련메시지체크

b) 에러코드파악

c) 문서화체크

d) 인터넷리소스를통한검색

e) 문제폭을좁히기위한툴의사용

툴:

IBM Rational Suite TestStudio

Domino NSD tool - Notes System Diagnostic(NSD) 등...

리소스:

http://www.ibm.com/software/rational

Page 30: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

• 3

4

성능 튜닝

전제조건:

1. Domino 아키텍처와고급Domino Administration 기술들을익힌다.

2. 검사데이터를Domino로로드한다.

성능튜닝과정:

1. OS 레벨튜닝

a) 튜닝시스템캐시

b) 튜닝시스템네트워킹

c) IDE vs. SCSI

d) I/O 분산

e) glibc 업그레이드

f ) 기타...

2. Domino 레벨튜닝

a) 클러스터링

b) 트랜잭션로깅

c) 다양한메일박스

d) 기타...

툴:

1. Linux 네트워크툴

2. Domino NSD 툴 - Notes System Diagnostic (NSD)

3. Linux상의Quest Sportlight

레퍼런스 :

IBM Redbooks

Migrate Exchange 5.5 nge 5.5 to Domino on Linux, REDP-3777

Page 31: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

2 8+2 9

Exchange Your Exchange: Migrating from Microsoft Exchange 5.5 to Lotus Domino

6, REDP-3694

Migrating from Microsoft Exchange 5.5 to Lotus Notes and Domino 6, SG24-6955

The Three Steps to Super.Human.Software: Compare, Coexist, Migrate From

Microsoft Exchange to Lotus Domino Part One: Comparison SG24-5614

The Three Steps to Super.Human.Software: Compare, Coexist, Migrate From

Microsoft Exchange to Lotus Domino Part Two: Coexistence and Migration SG24-

5615

Linux Handbook: A Guide to IBM Linux Solutions and Resources, SG24-7000

Linux, Why It Should Replace Your Windows NT Domain, REDP-3779

Lotus Domino 6 for Linux, SG24-6835

Open your Windows With Samba, REDP-3780

온라인리소스

Redbooks

http://www.redbooks.ibm.com

DeveloperWorks

http://www.ibm.com/developerworks/cn

Lotus 웹사이트

http://www.lotus.com

Domino 크기 조절에 관한 자세한 정보는 Domino 서버 용량 벤치마크를 측정하기 위해

디자인된Server.load 툴을참조:

http://www-1.ibm.com/support/docview.wss?uid=swg21089092

Tivoli 웹사이트, Tivoli Storage Manager

http://www.ibm.com/tivoli

NetWorker Module for Lotus Notes

http://www.legato.com

Symantec 웹사이트

http://www.symantec.com

Page 32: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

• 3

4

왜 DB2로포팅하는가?

DB2는 여러 기술에서 데이터베이스의 선두를 달리고 있으며, 트루 멀티-플랫폼 지원 및

확장성을제공한다. 이 데이터베이스는단일서버에서여러종류의워크로드를처리할수

있다. DB2는훌륭한성능을유지하면서대용량온라인트랙잭션프로세싱(OLTP)에서부

터복잡한멀티-유저쿼리등과같은다양한워크로드를처리한다.

확장성및성능이외에도, DB2는아래와같은장점을제공한다.

네이티브환경의통합지원

통합시스템관리툴과멀티-플랫폼툴

자기-관리및리소스튜닝성능

데이터복제서비스

통합웹액세스

웹서비스애플리케이션

개발환경의통합지원

데이터웨어하우스기능

고가용성지원

개발자및지원을위한 IBM 프로그램

사전 평가

전제조건:

훈련혹은그외의방법을통하여DB2 기술체득

포팅분석:

데이터베이스마이그레이션

1. 데이터종류

2. SQL 기능

3. 인덱스

4. 축적절차

3 . 2

S Q L 서버에서 DB 2 마이그레이션

Page 33: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

3 0+3 1

5. 외부결합

6. 커서

7. 로벌임시테이블

8. SQL 서버계산형컬럼

9. 기타...

애플리케이션마이그레이션

1. ADO 및OLE DB

2. ODBC 및CLI

3. 임베디드SQL

4. JDBC

5. 기타...

툴:

DB2 Porting Assessment Guide

포팅

전제조건:

1. 제품권고

2. DB2 UDB의획득및설치

3. 자동화 데이터 및 데이터베이스 변환에 사용될 방법 및 툴 결정(예: IBM

Migration Toolkit)

4. Migration Toolkit의획득및설치

5. Migration Toolkit의사용환경에친숙함

포팅프로세스:

데이터베이스구조의포팅

데이터베이스객체의포팅

Page 34: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

• 3

4

1. 축적절차

2. SQL 기능

3. 트리거

4. 기타...

애플리케이션변경

1. CLI 및ODBC

2. ADO 및OLEDB

3. JDBC

4. 임베디드SQL

5. 데이터마이그레이션

툴:

IBM DB2 Migration Toolkit(추천됨)

IBM DB2 Migration Toolkit는 지원되는 모든 DB2 UDB 워크스테이션 플랫폼상에서

SQL 서버 데이터베이스를 DB2 UDB 데이터베이스 마이그레이션을 도와주는 툴이다.

이툴은테이블, 인덱스, 일차키, 보기및축적절차를만드는DDL 스크립트를생성하는

데사용될수있다. 이툴은DB2 Migration Home에서다운로드받을수있다.

검정 및 검사

전제조건:

1. 계획의목적열거, 검사계획의레벨파악

2. 검사의범위파악

3. 검사툴의획득및설치

검정및검사과정:

1. 계획

a) 범위

b) 검사아이템의정의

Page 35: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

3 2+3 3

c) 검사받을기능들

d) 아이템합격여부기준

e) 정지기준및재개요구사항

f ) 검사인도

g) 환경요구사항

2. 데이터체크기술

a) 코드및애플리케이션검사

b) 보기정상감시체크

c) SQL PL 객체체크

d) 애플리케이션코드체크

3. 문제해결

a) 관련메시지체크

b) 에러코드설명

c) 문서화체크

d) 인터넷리소스를통한검색

e) 문제폭을좁히기위한툴의사용

툴:

IBM Rational Suite TestStudio

DB2 네이티브툴:스냅샷모니터링

이벤트모니터링

기타...

성능 튜닝

전제조건:

1. DB2 아키텍처와고급DB2 Administration 기술들을익힌다.

2. 검사데이터를데이터베이스로로드한다.

Page 36: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

• 3

4

성능튜닝프로세스:

OS 레벨튜닝

1. Kernel 파라미터

2. 튜닝시스템캐시

3. Raw 디바이스재할당

4. 기타...

DBM 레벨튜닝

1. 백업버퍼사이즈

2. 버퍼사이즈복원

3. RQRIOBLK

4. 데이터베이스객체의물리적배치

5. 기타...

DB 레벨튜닝

1. 버퍼풀

2. Db Heap

3. Sort Heap

4. IO 클리너숫자

5. IO 서버숫자

6. 기타...

환경변수(db2set 커맨드):

1. DB2_RR_TO_RS

2. DB2_MMAP_WRITE

3. DB2_MMAP_READ

4. DB2_FORCE_FCM_BP

5. DB2_PARALLEL_IO

6. 기타...

툴:

Quest Central for DB2

Page 37: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

3 4+3 5

Db2 native tools:

db2batch

dynexpln

Configuration Advisor

Index advisor

기타...

자세한정보는아래의사이트를참조

DB2 제품군

www.ibm.com/software/data/db2

DB2 제품및서비스기술라이브러리

www.ibm.com/software/data/db2/library

DB2 유지/보수

www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/

download.d2w/report

ftp://ftp.software.ibm.com/ps/products/db2/fixes/<language>/<platform>/

<FixPak#>

데이터관리기술페이지

www.ibm.com/software/data/db2/skills/

DB2 웹페이지

www.ibm.com/cgi-bin/db2www/data/db2/udb/winos2unix/support/

db2web.d2w/report

DB2 마이그레이션웹사이트

www.ibm.com/software/data/db2/migration

DB2 개발자도메인라이브러리

www.ibm.com/software/data/developer

DB2 Today

www.ibm.com/software/data/db2today/

개발자프로그램을위한 IBM PartnerWorld

www.developer.ibm.com/

Page 38: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

3

• 4

4

Page 39: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

NT Services Migration

NT 서비스마이그레이션

Page 40: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

3

• 4

마이그레이션이가능한서비스들은

유저및도메인인증서비스

파일및프린팅공유서비스

그밖의기본네트워크서비스

NT 서비스를Linux 마이그레이션하기위하여해야할많은일들이있다. 첫번째해야할

일은어떠한서비스를 Linux 마이그레이션할것인지정의하는것이다. 또한 Linux 마이

그레이션을 수행하기 전에 NT 시스템에서 충분한 정보를 수집해야만 한다. 준비 과정이

끝난후, NT에서Linux 마이그레이션에관한올바른방법을발견할수있다.

마이그레이션 과정

마이그레이션준비

NT 시스템에서필요한정보수집

유저인증정보수집

구성정보수집

서비스데이터수집

마이그레이션

Linux에이에상응하는서비스설치

유저인증정보를시스템으로임포트

서비스데이터를Linux로이동

아래의내용은서비스마이그레이션에서알아야하는고려사항이다.

4 . 1

마이그레이션 고려 사항

Page 41: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

3 8+3 9

Window NT 환경에서, 유저들은항상특정도메인으로로그인해야만한다. 이러한경우,

NT 서비스를 Linux 마이그레이션하는것은NT상의유저인증을 Linux 마이그레이션하

는것을포함할것이다. Samba는 Linux 상에서이러한유저인증기능을제공하는서비

스구성요소이다.

Samba는 Windows 및 그 밖의 클라이언트에 Linux상의 PDC(Primary Domain

Controller) 기능을제공한다. 유저인증및 Samba 도메인을구성하기위하여구성파일

인 /etc/smb.conf를수동으로변경해야만한다. 또한웹운 GUI가포함된Samba의구

성을원한다면SWAT 패키지를시스템에설치해야한다.

4 . 2

유저 인증

Page 42: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

f r o m N T

t o L i n u x

1

2

3

• 4

기업 인트라넷의 주요 기능은 파일 및 프린트 공유 서비스이다. 대부분의 클라이언트는

Windows 제품이기때문에, 기업들은항상파일및프린트공유서비스를제공하기위하

여NT 서버를사용한다. Samba는Linux 환경에이러한서비스제공을위하여사용된다.

대부분의 Linux 배포 업체들은이미 Samba 패키지를번들화했기때문에 Linux 시스템

을 설치 시 Samba 패키지를 선택하기만 하면 된다. Linux 설치 시 Samba를 설치하지

않았다면, Linux RPM 패키지에서추후설치가가능하다. 파일및프린트공유서비스와

Samba 도메인을 구성하기 위하여, 구성 파일인 /etc/smb.conf를 수동으로 변경해야 한

다. 웹 운 GUI가 포함된 Samba의 구성을원한다면 SWAT 패키지를시스템에설치해

야만한다.

4 . 3

파일 및 프린트 공유 서비스

Page 43: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

4 0+4 1

마이그레이션이가능한서비스들은아래와같다

DHCP

DNS

FTP

HTTP

거의대부분의서비스들이 Linux 배포판에번들로제공되기때문에 Linux 설치 시이러

한서비스들을단순히선택할수있다.

NT 서비스와Linux 서비스의비교

NT 서비스 Linux 서비스 비고

DHCP dhcp

DNS bind

FTP (IIS) vsftp,/ wu-ftp / proftp

HTTP (IIS) Apache IIS상의 ASP 페이지는 Apache상의

PHP 페이지로전환요망

파일및프린트공유서비스 Samba 웹운용관리GUI의사용은SWAT 패키

지설치필요

유저인증서비스 Samba 웹운용관리GUI의사용은SWAT 패키

지설치필요

4 . 4

그 밖의 기본 네트워크 서비스

Page 44: From NT to Linuxcoffeenix.net/data_repository/pdf/NTtoLinuxMigration... · 2006-01-14 · 06 + 07 ¿-jovy p Ñ ´ ³ d ` Ú 7 ¤ ç x Ô s î 4 / à Ý Þ 8 à î -jovy Ï x × û

ⓒ International Business Machines Corporation 2004

서울시강남구도곡동 467-12군인공제회관빌딩

한국아이비엠주식회사고객만족센터

TEL: (02)3781-7114www.ibm.com/kr

Printed in KoreaAll Rights Reserved

IBM, IBM 로고, e-business 로고, zSeries, pSeries, iSeries, xSeries, DB2,Lotus, Tivoli는 International Business Machines Corporation의상표또는등록상표입니다.

Linux는 Linus Torvalds의등록상표입니다.

기타회사, 제품과서비스명은기타회사의등록상표또는서비스마크입니다.

본자료에사용된제품의사진은출하시의제품과다소차이가있을수있습니다. 또한여기에실린내용및제원은사전예고없이변경될수있습니다.

www.ibm.com/kr/linux