ThingWorx 9.x로의 수동 마이그레이션: Linux
업그레이드 표를 참조하여 업그레이드 경로를 결정하십시오. 아래 단계는 마이그레이션 수행 시에만 해당합니다. 현재 위치 업그레이드에 대한 자세한 내용은
수동 현재 위치 업그레이드: Linux를 참조하십시오.
A.) 업그레이드하기 전에
1. OS가 RHEL인 경우 ThingWorx 업그레이드를 수행하기 전에 지원되는 버전으로 업그레이드했는지 확인합니다. 자세한 내용은
시스템 요구사항을 참조하십시오.
| ThingWorx 9.1은 RHEL 8.2에서만 지원됩니다. |
2. 업그레이드를 시작하기 전에 다음을 수행하는 것이 좋습니다.
◦ 데이터베이스 덤프
◦ ThingworxStorage 및 ThingworxPlatform 폴더의 모든 데이터를 백업합니다.
◦ Tomcat_home 폴더를 백업합니다. 이 폴더에는 bin, conf, lib, temp, webapps 및 work 폴더가 있습니다.
3. ThingWorx Platform과 함께 ThingWorx Apps를 사용하는 경우 다음을 수행합니다.
| 현재 사용자에게 쓰기 권한이 있는 폴더에서 ThingWorx 콘텐츠를 다운로드하고 추출합니다. 업데이트 스크립트가 프로세스의 일부 파일을 생성하기 때문에 쓰기 권한이 필요합니다. |
6. 필수 버전의 Tomcat 및 Java을 실행하고 있는지 확인합니다. 버전 요구사항은
시스템 요구사항 문서를 참조하십시오.
| Java 버전을 업그레이드해야 하는 경우 Java를 업그레이드하기 전에 ThingWorx 업그레이드를 수행합니다. |
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. ThingworxStorage 및 ThingworxBackupStorage 폴더의 콘텐츠를 삭제합니다.
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 파일을 재사용하는 경우 이전에 ThingworxStorage 및 ThingworxPlatform 폴더에서 이동한 keystore.jks 및 keystore-password 파일을 찾아서 해당 폴더에 붙여 넣습니다.
15. ThingWorx를 시작하려면 웹 브라우저에서 <서버 이름>/Thingworx로 이동합니다. 다음 로그인 정보를 사용합니다.
◦ 로그인 이름: 관리자
◦ 암호: <소스 서버 관리자 암호>
D.) Java 11로 업그레이드
| Java 11은 ThingWorx 9.2.0 이상에 필요합니다. 자세한 내용은 시스템 요구사항을 참조하십시오. |
1. Java 11로 업그레이드하는 경우 다음 단계를 수행해야 합니다. 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
다운로드 페이지에서 사용할 수 있습니다.
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.) 추가 구성 요소 업그레이드
• ThingWorx Analytics를 솔루션의 일부로 사용하는 경우 두 설치 관리자에서 구성 요소 업그레이드를 처리할 수 있습니다.
◦ Analytics Server - Analytics Server 및 Analytics Extension 설치 또는 업그레이드
◦ Platform Analytics - Descriptive Analytics 및 Property Transform 설치 또는 업그레이드