티스토리 뷰

728x90
반응형

 포스팅은 Tmax 서버/서비스 동적추가 가이드입니다.


본 포스팅에서는 Tmax 4.x 5.x 서버/서비스 동적 추가 시 정확한 절차와 주의사항을 기술하였습니다.

동적추가를 잘못 실행하는 경우 이를 원복할 수 있는 방법은 없기 때문에, 본 문서의 내용을 참고하여 정확한 방법과 절차로 실행되어야 합니다.

본 문서는 Tmax의 동적추가 기능 중 자주 사용되는 서버/서비스의 동적추가에 대한 정확한 사용을 가이드할 목적으로 작성되었습니다.

먼저 동적추가의 기본 사항부터 살펴보겠습니다.
동적추가란 Tmax 시스템이 운영 중에 서비스, 서버, 서버그룹, 노드, 게이트웨이의 Tmax 구성요소를 추가하여 이를 사용할 수 있도록 하는 기능을 말합니다.
기본적인 절차는 다음 4 단계를 따릅니다.
먼저 동적추가 할 리소스의 환경설정을 작성합니다.
추가할 리소스의 정의는 SERVICE, SERVER, SVRGROUP, NODE, GATEWAY 절에 정의하는 리소스를 말합니다. 이 정의는 현재 운영중인 환경설정에 추가하여 정의할 수도 있고, 새로운 별도의 환경설정 파일을 만들어 정의할 수 있습니다.

다음으로 환경설정을 컴파일하여 환경설정 바이너리를 생성합니다.
cfl 명령어를 사용하여 환경 설정 파일을 컴파일하여 환경설정 바이너리를 생성합니다. 이 시점에 설정 상에 문제나 오타등을 검토할 수 있습니다.
작업을 수행하기 이전에 실행에 필요한 바이너리 파일을 백업받아 두는 것이 좋습니다. 또한 설정 변경 시에도 기존에 사용하던 설정은 반듯이 백업을 수행합니다.

다음으로 Tmax 시스템에 생성된 환경설정 바이너리를 등록합니다.
위에서 생성된 환경설정 바이너리를 tmadmin의 cfgadd 명령어로 추가합니다. 이렇게 되면 추가되는 리소스가 tmax의 Shared Memory에 등록되게 되며, tmadmin의 st 명령어로 상태정보를 볼 수 있습니다.

마지막으로 추가된 리소스를 기동합니다.
SERVICE, SERVER, SVRGROUP, NODE, GATEWAY의 경우 tmboot 명령어로 해당 리소스를 기동시켜야 합니다.
참고로 서비스, 서버의 경우는 컴파일된 서버 바이너리가 소속된 서버그룹의 appbin에 미리 배포되어 있어야 합니다.

다음으로 동적추가의 2가지 방법에 대해 알아보겠습니다.
"위에서 살펴본 환경설정을 컴파일하여 환경설정 바이너리 생성" 단계에서 cfl 명령어로 환경설정 바이너리를 생성하는 방법에는 2가지가 있습니다.
먼저 cfl 의 -i 옵션만 사용한 경우입니다.
-i 옵션만 사용하는 경우 동적추가 리소스는 원본 환경설정의 맨 끝에 추가한뒤 cfl –i tmcofing.m –o TMADD 같이 컴파일 합니다. 이 때 보통 버전 관리상 원본파일을 복사한 새 버전에 리소스를 추가하여 사용합니다.
중요한 것은 이와 같은 방법이 허용되는 리소스는 Tmax 4.x의 서비스 동적추가 할 때만 가능합니다. 다른 리소스 없이 서비스만을 동적추가할 때 사용 가능합니다.

두번째 방법은 cfl 의 -i 와 -a 옵션을 함께 사용한 경우입니다.
-a 옵션을 사용하여 환경설정을 컴파일 하려면 동적추가하는 리소스 정보는 모두 -a로 지정하는 파일에 정의되어야 합니다.
cfl –i tmcofing.m –a add.m –o TMADD 같은 방법으로 컴파일하는 방법이 허용되는 리소스는 Tmax 4.x의 서비스만 추가하는 경우를 제외하고는 모두 이 방법을 사용해야 합니다.
예를 들어 서버/서비스를 동적으로 추가시, 일부 서비스는 이미 추가되어 있는 서버의 서비스이더라도, 서버 동적추가를 함께 하는 경우라면 반드시 이 방법을 사용해야 합니다.
특히 Tmax 5.x부터는 -a옵션을 사용하지 않고 생성된 환경설정 바이너리의 동적추가를 허용하지 않습니다. 즉 Tmax 5.x 부터는 서비스부터 노드에 이르는 모든 리소스 동적추가시 이 방법을 사용하여야 합니다.

마지막으로 동적추가시 주의사항에 대해 살펴보겠습니다.
반복적인 동적추가는 시스템 관리에 바람직 하지 않습니다.
반복적인 동적추가시 중요한 점은 이전 동적추가 된 리소스의 정의가 원본 환경설정에 반영되어 있어야 한다는 점입니다.
이렇게 하지 않고 계속 add.m에 append 하는 방식을 사용하면 이전에 동적추가한 리소스에 문제가 발생할 소지가 있음이 확인되었습니다.
즉 -a 옵션으로 지정하는 add.m 에 있던 이전 내용을 원본 환경설정의 끝에 옯겨 놓은 상태에서 add.m에는 신규로 추가되는 리소스만 정의하여 동적추가 하는 것이 가장 안전한 방법입니다.
참고로 -i 옵션만 사용하는 방법은 원본에 append 하는 방식이므로 항상 이전 동적추가한 내용이 원본에 있기 때문에 문제가 없습니다.


지금까지 Tmax의 서버와 서비스를 동적으로 추가하는 방법에 대해 알아보았습니다. 사실 위와 같은 기능은 정말 부득이한 경우 사용을 권고합니다. 이유인 즉 설명드렸다시시피 동적추가로 인한 서비스 영향도, 기존 시스템 유지, 관리측면 등의 다양한 이유로 인해 사용을 권고하지 않습니다. 다만, 긴급하게 서버나 서비스를 내릴 수 없는 경우나, 중요한 서비스를 수행 중 다운이 불가능하여 성능 이슈로 인해 늘려야 하는 경우등의 경우에만 사용을 권고 드립니다.

본 설정을 반영하여 업무에 도움이 되시기 바랍니다.

고맙습니다.

728x90
반응형