PreChecklist (설치 및 작업 전 사전 환경 요구 사항)
RoRo 서버 준비 및 사전 요구사항 설정
대상 서버(Inventory Server) 준비 및 사전 요구사항 설정 - 접근권한 및 네트워크 설정
* Discovered Server 발견시 추가 분석을 위한 접속권한 획득 (초기 인벤토리 대상에서 누락된 서버로 RoRo에서 발견했다는 의미로 Discovered Server라고 함)작업자 PC 준비 및 사전 요구사항 설정
방화벽 해제 List
RoRo에서 제공하는 inventory template (RoRo-Inventory-Template.xls) 작성
Template을 이용하여 bulk upload 진행함. (수동으로 1개 서버 단위로 등록할 수 있음.)
Service sheet (필수 입력) : Service Code, Service Name, Business Category Code, Business Category, Migration Y/N
업무서비스명을 말하며, 없는 경우에는 default service (service code = SERV-001)로 등록됨.
Server sheet (필수 입력) : Inventory Code, Server_Name, IP Address, Port(SSH/Winrm), Username, Password, Windows Y/N, su Y/N, Monitoring Y/N
Database assessment 진행의 경우 database sheet 추가 작성
Database sheet (필수 입력) : Server Inventory Code, Inventory Code(of Database), Database Name, Database Service Name, Port, Username, Password, JDBC URL, Engine Name
#1. RoRo 서버 준비 및 사전 요구사항 설정
작업 | RoRo Server | 완료 (Y/N) |
---|---|---|
권장사양 및 운영환경 | CPU - 4 Core |
|
Memory - 8GB |
| |
HDD - 30GB + a (Assessment 데이터 및 Migration 이미지 저장소) 예.
Assessment 의 경우 : 애플리케이션 전체 용량 보다 큰 사이즈 필요 (사례. 500GB ~ 1TB)
Migration 의 경우 : as-is 서버의 용량 보다 큰 사이즈 필요
|
| |
OS - CentOS 7 + |
| |
JDK 11 + java -version 명령을 실행하여 java 명령을 찾을 수 없거나 버전이 낮은 경우 다음과 같이 java 패키지를 설치하고 설정합니다.
(JRE 설치 시 일부 기능에 제한이 생길 수 있어 JDK 설치를 추천합니다.)
]$ sudo yum install -y java-11-openjdk-devel
|
| |
system package | Python 2.7 |
|
ssh |
| |
rsync |
| |
epel |
| |
sshpass |
| |
RoRo repository - DBMS | Maria DB 10.6 이상 버전으로 사용하는 것을 권장합니다.
#
# This group is read both both by the client and the server
# use it for options that affect everything
#
[client-server]
#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
[mariadb]
lower_case_table_names = 1
default_time_zone = '+9:00'
]$ mysqladmin variables -uroot -p | grep -i lower_case_table_names
Enter password:
| lower_case_table_names | 1 |
|
Network | Unix/Linux : SSH (참고- default 22) |
|
|
| |
|
| |
|
| |
|
| |
]$ ssh rorouser@Bserver_ip -p ssh_port
Bserver_ip]$ sudo vi /etc/sudoers -- 정상여부 확인
|
| |
|
| |
Windows : Winrm (참고- default 5985) |
| |
|
| |
Rehost migration | RoRo Server의 /etc/mke2fs.conf 파일의 설정에 따라 Rehost Migration이 실패할 수 있으므로 아래 설정과 같이 [fs_types] 내 ext4의 features 인자 중 64bit를 삭제하고, auto_64-bit_support = 1 를 추가해야 합니다. [defaults]
... skip ...
[fs_types]
... skip ...
ext4 = {
features = has_journal,extent,huge_file,flex_bg,metadata_csum,dir_nlink,extra_isize
auto_64-bit_support = 1
inode_size = 256
}
... skip ...
|
|
Subscription Key | Trial, Enterprise로 구분하여 Subscription Key 발급
|
|
기타 | 참고, tar 또는 unzip 패키지가 설치되지 않은 경우 다음 명령을 실행하여 패키지를 설치합니다. ]$ sudo yum install -y tar
]$ sudo yum install -y unzip |
|
#2. 대상 서버(Inventory Server) 준비 및 사전 요구사항 설정 - 접근권한 및 네트워크 설정
작업 | Inventory Server (Unix/Linux Server) | 완료 (Y/N) |
---|---|---|
필수 설치 항목 | ssh |
|
sudo (unix) |
| |
rsync **** 마이그레이션을 위해 필요함 |
| |
roro 작업 계정 생성 및 권한 설정 (sudo 명령이 실행 가능하도록 설정 - 등록될 사용자 계정이 root가 아닌 경우) | 3가지 방법 중 선택하여 진행합니다.
|
|
Middleware/java-application 분석을 위해서는 root 권한 또는 해당 application 수행 권한의 user 접속 정보가 필요할 수 있습니다. |
| |
Database Assessment를 위해서는 RoRo DB User Name이 반드시 DBA권한 이상으로 설정 되어 있어야 합니다. 그렇지 않은 경우는 DBA User 정보를 입력해야 합니다. |
| |
상기 위의 #1의 경우에 대한 설명입니다. 등록될 사용자 계정이 root가 아닌 경우 /etc/sudoers 파일을 수정해야 합니다.
vim /etc/sudoers
# Disable "ssh hostname sudo <cmd>", because it will show the password in clear.
# You have to run "ssh -t hostname sudo <cmd>".
#
#Defaults requiretty
......
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
roro ALL=(ALL) NOPASSWD: ALL |
| |
Network | Unix/Linux : SSH (참고- default 22) |
|
| ||
| ||
| ||
# CentOS/Rhel
yum -y install net-tools
# Debian
sudo apt install net-tools |
작업 | Inventory Server (Windows Server) | 완료 (Y/N) |
---|---|---|
필수설치 항목 | PowerShell Version 1.0 ~ 5.1
|
|
pscp (SFTP Client) 설치
|
| |
roro 작업 계정 생성 및 권한 설정 | (Local) Administrators 권한 부여 필요 |
|
Network (Firewall) | WinRM에서 기본으로 쓰는 Port는 5985이다.
|
|
WinRM 설정 (Power Shell : 관리자 모드) | Basic 인증 방법 추가 및 설정. # WinRM 서비스 활성화
winrm qc
# Basic 인증 방법 추가. (RoRo에서 Basic 인증 방법을 사용한다.)
winrm set winrm/config/service/Auth '@{Basic="true"}'
# AllowUnencrypted 설정 (암호화 되지않는 데이터의 전송을 허용).
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
# Shell의 자식 프로세스를 포함하여 할당된 최대 메모리 양 설정 (기본값 : 1024)
# 기본값 보다 작은 값으로 설정된 경우 제대로 동작하지 않을 수 있음.
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="1024"}'
|
|
Trust Host추가 # TrustedHosts 에 RoRo 서버 등록.
# 방화벽과 관계없이 RoRo 서버와의 통신을 위해 신뢰할 수 있는 호스트로 등록을 한다.
# 기존에 설정되어 있는 Host가 있다면 Overwrite를 한다.
Set-Item wsman:\localhost\Client\TrustedHosts RoRo서버IP
# TrustedHosts 목록 보기
Get-Item wsman:\localhost\Client\TrustedHosts
----------------------------------------------------------
예시)
# TrustedHosts에 모든 컴퓨터를 추가방법
Set-Item wsman:\localhost\Client\TrustedHosts -value *
예시)
# TrustedHosts에 특정 도메인/IP 컴퓨터를 추가방법
Set-Item wsman:\localhost\Client\TrustedHosts test.domain.com
Set-Item wsman:\localhost\Client\TrustedHosts *.domain.com
Set-Item wsman:\localhost\Client\TrustedHosts 192.168.5.111
*** 이미 등록한 호스트가 있다면 기존 정의된 호스트에 Add 해서 등록을 한다. ***
예시)
PS> Get-Item wsman:\localhost\Client\TrustedHosts
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Client
Type Name SourceOfValue Value
---- ---- ------------- -----
System.String TrustedHosts test.domain.com
PS> Set-Item wsman:\localhost\Client\TrustedHosts 'test.domain.com,RoRo서버IP'
|
| |
winrm set winrm/config/winrs '@{MaxConcurrentUsers="20"}'
winrm set winrm/config/winrs '@{MaxShellsPerUser="20"}' |
| |
WinRM의 설정 환경 보기 winrm get winrm/config
WinRM 서비스 Restart (필요 시) restart-service winrm
|
|
** Windows 2008 (Powershell 1.0을 사용할 경우.)
작업 | Inventory Server |
|
---|---|---|
PowerShell 설치. | 기본적으로 설치되어 있지는 않지만 Windows Server 2008의 표준 기능으로 포함. (Version :1.0) C:\> servermanagercmd -install powershell
|
|
WinRM 설정 Session | Basic 인증 방법 추가 및 설정. # WinRM 서비스 활성화
winrm quickconfig
# Basic 인증 방법 추가. (RoRo에서 Basic 인증 방법을 사용한다.)
winrm set winrm/config/service/Auth '@{Basic="true"}'
# AllowUnencrypted 설정 (암호화 되지않는 데이터의 전송을 허용).
winrm set winrm/config/service '@{AllowUnencrypted="true"}'
# Shell의 자식 프로세스를 포함하여 할당된 최대 메모리 양 설정 (기본값 : 1024)
# 기본값 보다 작은 값으로 설정된 경우 제대로 동작하지 않을 수 있음.
winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="1024"}'
|
|
WinRM Default Listener Port 확인 # Port 확인.
# 기본 Port가 80으로 설정되어 있는걸 알 수있다.
winrm enumerate winrm/config/listener WinRM Port 변경. # Port 변경.
winrm set winrm/config/listener?Address=*+Transport=HTTP '@{Port="5985"}'
|
| |
winrm set winrm/config/winrs '@{MaxConcurrentUsers="20"}'
winrm set winrm/config/winrs '@{MaxShellsPerUser="20"}'
|
| |
|
|
WinRM 인증 비활성화, TrustedHosts 등록해제, 서비스 종료 및 비활성화, 방화벽 수정
작업 | Inventory Server |
|
---|---|---|
Basic 인증 제거 | 기존 Basic Auth 유형을 사용하고 있다면 실행할 필요가 없다. winrm set winrm/config/service/Auth '@{Basic="false"}'
|
|
TrustedHosts 제거. |
1. 먼저 기존의 TrustedHosts를 확인을 해서 목록을 확인한다.
- winrm get winrm/config/client
2. 그리고 다시 재 정의를 한다. (신뢰하고자 하는 서버 IP만 등록)
winrm set winrm/config/client '@{TrustedHosts="ServerIP 목록"}'
Example)
PS> winrm set winrm/config/client '@{TrustedHosts="server1,127.0.0.1"}'
3. 모든 Hosts를 삭제할려면 다음 명령어를 실행한다.
winrm set winrm/config/client '@{TrustedHosts=""}'
Example)
|
|
서비스 중지 및 Disabled |
|
|
Firewall |
|
|
#3. 작업자 PC 준비 및 사전 요구사항 설정
작업 | Windows PC | 완료 (Y/N) |
---|---|---|
필수 소프트웨어 | Chrome 최신버전, (IE 11버전 지원 예정) |
|
Export/Import Data File을 위해 Microsoft Excel 2013 이상 |
| |
|
| |
Network | HTTP - 8080 브라우저에서 http://$ROROSERVER_IP:8080 를 접속하여 시작합니다. |
|
시스템에 firewall가 active 상태로 브라우저 접속이 불가능한 경우, 다음 명령어를 실행하여 8080 포트의 접속을 허용한다. ]$ sudo firewall-cmd --add-port=8080/tcp --permanent
]$ sudo systemctl reload firewalld
|
| |
(Optional) | DB클라이언트 툴 설치 & 접근 권한 필요
|
|
방화벽 해제 List
출발지 | 목적지 | 포트 | 방향 | 용도 | 필수/옵션 |
---|---|---|---|---|---|
Windows PC | RoRo 서버 | 8080 (HTTP) | 단방향 | 웹브라우저(Chrome)으로 RoRo 관리화면 접속, Assessment 및 Migration 진행 | 필수 |
RoRo 서버 | 22 (SSH) | 단방향 | Putty, SecureCRT, Xshell 등으로 RoRo 서버로 접속, 설치 및 모니터링 진행 | 필수 | |
대상서버 (Inventory - Unix/Linux Server) | 22 (SSH) | 단방향 | 네트워크 및 접근권한 등 설정 및 확인 | - | |
대상서버 (Inventory - Windows Server) | 3389 (RDP) | 단방향 | Powershell(관리자모드)을 이용한 Winrm 설정 및 확인 | - | |
RoRo 서버 | 대상서버 (Inventory - Unix/Linux Server) | 22 (SSH) | 단방향 | 대상서버에 대한 Assessment 수행 (Agentless) | 필수 |
대상서버 (Inventory - Windows Server) | 5985(WINRM) | 단방향 | 대상서버에 대한 Assessment 수행 (Agentless) | 필수 | |
대상서버 (Inventory - Windows Server) | RoRo 서버 | 22 (SSH) | 단방향 | Windows 서버 내의 Application Assessment | 필수 |