[WebSphere] Hostname, Node Name, Cell Name 변경 가이드 (wsadmin vs 수동 설정)

서버 이관(Migration)이나 네트워크 구성 변경으로 인해 WebSphere 환경의 Hostname, Node Name, Cell Name을 변경해야 할 때가 있습니다. IBM 권장 방식인 wsadmin을 이용한 방법과, 설정 파일을 직접 수정하는 수동 방법을 정리합니다.

1. Hostname 변경

서버의 물리적 호스트명이 변경되었을 때, WAS 설정 내의 serverindex.xml 등 엔드포인트 정보를 갱신해야 합니다.

Method 1: wsadmin 사용 (IBM 권장)

IBM에서 권장하는 가장 안전한 방식입니다. AdminTask 객체를 사용하여 변경 사항을 저장소에 반영합니다.

# 1. wsadmin 접속 (Dmgr 구동 필요)
cd [Profile_Root]/bin
./wsadmin.sh -conntype NONE -lang jython

# 2. Hostname 변경 명령 수행
wsadmin> AdminTask.changeHostName('[-nodeName [노드명] -hostName [새로운_호스트명]]')

# 3. 저장 및 종료
wsadmin> AdminConfig.save()
wsadmin> quit

Note: ND(Network Deployment) 환경인 경우 작업 후 반드시 syncNode를 수행해야 합니다.

Method 2: serverindex.xml 수동 변경 (비상 시)

wsadmin 사용이 불가능하거나 특정 노드만 강제로 수정해야 할 때 사용합니다. serverindex.xml 파일에는 각 포트의 EndPoint Host 정보가 담겨 있습니다.

대상 파일 위치:

  • ND (Dmgr): [WAS_HOME]/profiles/[DmgrProfile]/config/cells/[CellName]/nodes/[NodeName]/serverindex.xml
  • Base (AppSrv): [WAS_HOME]/profiles/[AppProfile]/config/cells/[CellName]/nodes/[NodeName]/serverindex.xml

일괄 변경 스크립트 예시 (Shell):

#!/bin/sh
# 사용법: ./change_host.sh [새로운_호스트명]

OLD_HOST="target_old_hostname"
NEW_HOST=$1

find ./AppServer -type f -name "serverindex.xml" | while read file
do
    echo "Processing $file ..."
    sed "s/$OLD_HOST/$NEW_HOST/g" "$file" > "${file}.tmp" && mv "${file}.tmp" "$file"
done

2. Node Name 변경

기존에 생성된 노드의 이름을 변경할 때는 WAS에서 제공하는 renameNode 스크립트를 사용합니다.

작업 절차

  1. Dmgr 구동: Deployment Manager가 실행 중이어야 합니다.
  2. Node 정지: 이름을 변경할 노드의 모든 프로세스를 중지합니다.
  3. 명령어 실행: 해당 프로파일의 bin 디렉토리에서 실행합니다.
# 구문
renameNode.sh [Dmgr_Host] [Dmgr_SOAP_Port] [새로운_노드명] -username [ID] -password [PW]

# 사용 예시
cd /IBM/WAS/profiles/AppSrv01/bin
./renameNode.sh 192.168.1.10 8879 NewNode01 -username admin -password admin

3. Cell Name 및 Dmgr Node 변경 (Advanced)

Cell 이름 변경이나 Dmgr 자체의 Node 이름 변경은 별도의 스크립트가 제공되지 않으며, **다수의 설정 파일을 수동으로 편집(Manual Editing)**해야 합니다. 작업 전 전체 백업이 필수입니다.

변경 대상 파일 리스트

아래 파일들 내부의 기존 Cell/Node 이름을 새로운 이름으로 변경하고, 디렉토리 이름도 변경해야 합니다.

  • 디렉토리 이름 변경:
    • config/cells/[Old_Cell_Name][New_Cell_Name]
    • config/cells/[New_Cell_Name]/nodes/[Old_Node_Name][New_Node_Name]
  • 설정 파일 내용 수정 (String Replace):
    • cell.xml
    • node.xml
    • security.xml
    • variables.xml
    • resources.xml
    • setupCmdLine.bat (or .sh)
    • coregroup.xml (DefaultCoreGroup 경로 하위)
    • nodegroup.xml (DefaultNodeGroup 경로 하위)

주의: Admin Console 애플리케이션(isclite) 관련 설정 파일(deployment.xml 등)도 수정 대상에 포함될 수 있으나, 매우 복잡하므로 가급적 프로파일을 재생성하는 것을 권장합니다.


4. 후속 조치 (Post-Process)

모든 이름 변경 작업이 완료된 후에는 다음 절차를 수행하여 변경 사항을 전파해야 합니다.

  1. Sync Node: (ND 환경) syncNode.sh를 실행하여 변경된 설정을 로컬 노드에 동기화.
  2. 플러그인 재생성: 웹 서버 플러그인(plugin-cfg.xml)을 재생성 및 전파.
  3. 웹 서버 재기동: IHS 등 웹 서버 재기동.
# 웹 서버 재기동 예시
[IHS_HOME]/bin/apachectl restart
Comments

주주
참조 링크 :http://www-01.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.nd.doc/ae/rxml_atutility.html