ThingWorx 9.x로의 수동 마이그레이션: Linux
업그레이드 표를 참조하여 업그레이드 경로를 결정하십시오. 아래 단계는 마이그레이션 수행 시에만 해당합니다. 현재 위치 업그레이드에 대한 자세한 내용은 수동 현재 위치 업그레이드: Linux를 참조하십시오.
A.) 업그레이드하기 전에 
1. OS가 RHEL인 경우 ThingWorx 업그레이드를 수행하기 전에 지원되는 버전으로 업그레이드했는지 확인합니다. 자세한 내용은 시스템 요구사항을 참조하십시오.
* 
ThingWorx 9.1은 RHEL 8.2에서만 지원됩니다.
2. 업그레이드를 시작하기 전에 다음을 수행하는 것이 좋습니다.
데이터베이스 덤프
ThingworxStorageThingworxPlatform 폴더의 모든 데이터를 백업합니다.
Tomcat_home 폴더를 백업합니다. 이 폴더에는 bin, conf, lib, temp, webappswork 폴더가 있습니다.
3. ThingWorx Platform과 함께 ThingWorx Apps를 사용하는 경우 다음을 수행합니다.
a. 업그레이드하려는 ThingWorx 버전이 ThingWorx Apps 버전에서 지원되는지 확인합니다. ThingWorx Apps 업그레이드 지원 매트릭스를 참조하십시오.
b. 플랫폼을 업그레이드하기 전에 수행해야 하는 단계가 있습니다. 다음 단계로 진행하기 전에 ThingWorx Apps 업그레이드를 참조하십시오.
4. Navigate도 설치되어 있는 경우 ThingWorx Navigate Compatibility Matrix(ThingWorx Navigate 호환성 매트릭스)에서 호환성을 확인합니다.
5. PTC 소프트웨어 다운로드에서 최신 버전의 ThingWorx를 구합니다.
* 
현재 사용자에게 쓰기 권한이 있는 폴더에서 ThingWorx 콘텐츠를 다운로드하고 추출합니다. 업데이트 스크립트가 프로세스의 일부 파일을 생성하기 때문에 쓰기 권한이 필요합니다.
6. 필수 버전의 Tomcat 및 Java을 실행하고 있는지 확인합니다. 버전 요구사항은 시스템 요구사항 문서를 참조하십시오.
* 
Java 버전을 업그레이드해야 하는 경우 Java를 업그레이드하기 전에 ThingWorx 업그레이드를 수행합니다.
7. Tomcat Java 옵션 설정 요구사항이 버전 간에 변경되었을 수 있습니다. Apache Tomcat Java 옵션 설정을 참조하여 설정이 올바른지 확인합니다.
8. MSSQL, Azure SQL 또는 H2를 업그레이드하는 경우 데이터 테이블에 사용자 정의 색인 필드 값이 누락되면 업그레이드가 실패합니다. 업그레이드 프로세스를 시작하기 전에 모든 사용자 정의 색인 필드에 값이 있는지 확인합니다.
* 
그렇게 하지 않으면 업그레이드가 실패하고 이전 버전을 다시 배포해야 하며(스키마 업데이트가 수행된 경우 데이터베이스를 롤백/복원해야 함) 누락된 색인 값을 추가하거나 데이터 테이블에서 사용자 정의 색인을 제거한 다음 업그레이드를 수행해야 합니다.
9. 다음을 Apache Tomcat Java Options에 추가합니다.
-Dlog4j2.formatMsgNoLookups=true
B.) 데이터 및 엔티티 내보내기 
1. Tomcat 중지: Tomcat 속성에서 중지를 클릭합니다. Tomcat이 중지될 때까지 기다립니다.
2. 계속하기 전에 다음 폴더를 백업하는 것이 좋습니다.
Apache Software Foundation/Tomcat x.x/webapps/Thingworx
<Tomcat 설치 위치>://ThingworxStorage
3. Tomcat 시작: Tomcat 속성에서 시작을 클릭합니다. Tomcat을 재시작하면 내보내기 전에 데이터베이스가 지워집니다.
4. 엔티티 및 데이터 내보내기:
a. Composer에서 가져오기/내보내기 > 내보내기 > <내보내기 옵션>을 클릭합니다.
* 
내보내기 옵션에 대한 자세한 내용은 데이터, 엔티티 및 확장 가져오기 및 내보내기를 참조하십시오.
b. 필요한 경우 데이터 포함을 클릭합니다.
데이터와 엔티티가 ThingworxStorage\exports로 내보내집니다.
* 
응용 프로그램 로그에서 데이터 내보내기 진행률을 모니터링할 수 있습니다.
5. 데이터 및 엔티티 내보내기 파일을 복사하여 안전한 위치로 이동합니다. 이러한 파일은 이후 단계에서 가져옵니다.
C.) 백업 및 구성 
1. /ThingworxStorage/esapi 디렉터리에서 validation.properties 파일을 백업하고 삭제합니다.
* 
ThingWorx를 시작할 때 validation.properties 파일이 작성됩니다. 수행한 변경 사항을 유지하려면 파일을 ThingworxStorage 디렉터리 외부에 저장한 다음 계속해서 esapi 디렉터리를 제거합니다. ThingWorx를 시작할 때 파일이 재작성되며 자동으로 생성된 validation.properties 파일에 사용자 정의 regex를 다시 추가할 수 있습니다.
자세한 내용은 이 항목을 참조하십시오.
2. ThingworxStorage 폴더에서 keystore.jks 파일을 찾아 안전한 위치로 이동합니다. 마이그레이션 후 이 파일을 ThingworxStorage 폴더에 다시 추가합니다.
3. ThingworxPlatform 폴더에서 keystore-password 파일을 찾아 안전한 위치로 이동합니다. 마이그레이션 후 이 파일을 ThingworxPlatform 폴더에 다시 추가합니다.
4. 사용 중인 확장(ThingworxStorage/extensions에 있음)이 있는지 확인합니다. 이러한 확장은 이후 단계에서 다시 가져옵니다.
5. Tomcat을 중지합니다.
6. ThingworxStorageThingworxBackupStorage 폴더의 콘텐츠를 삭제합니다.
7. ThingworxPlatform 폴더에서 keystore-password 파일을 삭제합니다.
8. /Apache Software Foundation/Tomcat x.x/webapps에 있는 Tomcat 설치로 이동하여 Thingworx.war 파일을 삭제합니다.
9. Apache Software Foundation/Tomcat x.x/webapps에 있는 Thingworx 폴더를 삭제합니다.
10. 이 버전의 Thingworx.war 파일을 복사하고 Tomcat 설치의 /Apache Software Foundation/Tomcat x.x/webapps 위치에 배치합니다.
11. 확장 가져오기를 사용합니다. 기본적으로 모든 사용자에 대해 확장 가져오기가 비활성화됩니다. 다음을 platform-settings.json 파일에 추가합니다. 확장을 가져올 수 있도록 허용하려면 다음 ExtensionPackageImportPolicy 매개 변수를 추가하거나 true로 업데이트합니다.
"ExtensionPackageImportPolicy": {
"importEnabled": <true or false>,
"allowJarResources": <true or false>,
"allowJavascriptResources": <true or false>,
"allowCSSResources": <true or false>,
"allowJSONResources": <true or false>,
"allowWebAppResources": <true or false>,
"allowEntities": <true or false>,
"allowExtensibleEntities": <true or false>
},
12. ThingWorx에서 H2를 데이터베이스로 사용하는 경우 platform-settings.json 파일에 사용자 이름 및 암호를 추가해야 합니다.
},
"PersistenceProviderPackageConfigs":{
"H2PersistenceProviderPackage":{
"ConnectionInformation":
{
"password": "<changeme>",
"username": "twadmin"
}
},
13. Tomcat을 시작합니다.
14. 이전 keystore.jks 파일을 재사용하는 경우 이전에 ThingworxStorageThingworxPlatform 폴더에서 이동한 keystore.jkskeystore-password 파일을 찾아서 해당 폴더에 붙여 넣습니다.
15. ThingWorx를 시작하려면 웹 브라우저에서 <서버 이름>/Thingworx로 이동합니다. 다음 로그인 정보를 사용합니다.
로그인 이름: 관리자
암호: <소스 서버 관리자 암호>
D.) Java 11로 업그레이드 
* 
Java 11은 ThingWorx 9.2.0 이상에 필요합니다. 자세한 내용은 시스템 요구사항을 참조하십시오.
1. Java 11로 업그레이드하는 경우 다음 단계를 수행해야 합니다. Java 11이 이미 설치된 경우에는 이 단원을 건너뜁니다.
a. OpenJDK 또는 Java 11을 다운로드합니다.
b. Linux에 jEnv를 설치합니다.
i. jEnv 저장소를 Git 복제합니다.
git clone https://github.com/jenv/jenv.git ~/.jenv
ii. jEnv를 $PATH에 추가합니다.
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
iii. jEnv를 초기화합니다.
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
iv. ~/.bash_profile의 변경 사항을 업데이트합니다.
source ~/.bash_profile
v. JAVA_HOME 환경 변수를 설정합니다.
jenv enable-plugin export
vi. 현재 셸 세션을 다시 시작합니다.
exec $SHELL -l
vii. 다음 명령을 실행합니다. 그러면 현재 활성화된 Java 환경에 따라 JAVA_HOME 변수가 jEnv에 의해 자동 설정됩니다.
jenv doctor
c. Java 환경을 추가합니다.
i. 임의의 환경을 추가합니다. 모든 Java 설치의 위치는 /usr/lib/jvm/입니다. jenv add 명령을 사용합니다. 아래 예:
jenv add /usr/lib/jvm/java-11-amazon-corretto
jenv add /usr/lib/jvm/jdk-11.0.7
ii. jenv에 사용 가능한 모든 Java 버전을 확인합니다.
jenv versions
iii. 글로벌 Java 환경을 설정합니다.
jenv global <version>
iv. 셸 관련 Java 환경을 설정합니다.
jenv shell <version>
v. jenv에 의해 설정된 현재 버전을 확인합니다.
jenv versions
vi. Tomcat Java 설정에서 경로를 업데이트합니다.
vii. Tomcat을 다시 시작합니다.
E.) 데이터 및 엔티티 가져오기 
1. 내보내기 파일을 다시 ThingworxStorage\exports로 이동합니다.
2. 필요한 경우 확장의 최신 버전을 얻고 가져옵니다. 확장의 9.x 버전을 가져와야 합니다. PTC 지원 확장은 ThingWorx Foundation 다운로드 페이지에서 사용할 수 있습니다.
3. 8.x에서 9.x로 업그레이드하고 Java 확장이 있는 경우 Java 확장 8.x에서 9.x로 마이그레이션을 참조하십시오.
4. 엔티티 및 데이터를 가져옵니다.
* 
ThingWorx 9.2 이상으로 업그레이드하는 경우 entities.xml을 가져오기 전에 principals.xml을 가져와야 합니다. 이 작업을 수행하지 않으면 모든 권한을 잃게 됩니다. 자세한 내용은 9.2 이상에서 엔티티 가져오기를 참조하십시오.
a. Composer에서 가져오기/내보내기 > 파일에서를 클릭합니다.
b. 가져올 데이터 및/또는 엔티티를 선택합니다.
* 
가져온 엔티티의 하위 시스템 설정을 포함하려는 경우 하위 시스템 포함 확인란을 선택합니다(예: 테스트 환경에서 생산 환경으로 이동하려는 경우).
* 
다음 오류는 MSSQL 업그레이드에 대해 응용 프로그램 로그에서 볼 수 있으며, 런타임 권한이 구성된 마이그레이션된 서비스, 속성 또는 이벤트 이름이 있으며 해당 이름이 256자를 초과하는 경우에 표시됩니다. 이 오류를 해결하려면 모든 서비스, 속성 및 이벤트 이름을 256자 미만으로 제한합니다.
Error occurred while accessing the data provider
c. 응용 프로그램 로그를 검토하여 로그에 "주체 누락" 경고 메시지가 없는지 확인합니다. 이러한 경고 메시지가 있는 경우 문제 해결을 위해 9.2 이상에서 엔티티 가져오기를 참조하십시오.
F.) 추가 구성 요소 업그레이드 
통합 커넥터를 사용하는 경우 Integration Runtime의 최신 버전을 얻고 설치해야 합니다. 자세한 내용은 통합 커넥터에 대한 Integration Runtime Service의 초기 설정을 참조하십시오.
ThingWorx Analytics를 솔루션의 일부로 사용하는 경우 두 설치 관리자에서 구성 요소 업그레이드를 처리할 수 있습니다.
Analytics Server - Analytics Server 및 Analytics Extension 설치 또는 업그레이드
Platform Analytics - Descriptive Analytics 및 Property Transform 설치 또는 업그레이드
업그레이드 절차에 대한 자세한 내용은 ThingWorx Analytics 업그레이드, 수정, 복원을 참조하십시오.
도움이 되셨나요?