DMSLAB 자동설치시스템의 HW 정보 및사용자설정기반설치 신뢰성에대한정형검증 건국대학교컴퓨터 정보통신공학과 김바울 1
Motivation Problem: 대규모서버시스템구축 Installation ti Server 2
Introduction 1) 사용자가원하는 이종분산플랫폼구성 대로 2) 전체시스템 들의성능을반영 3) 이종분산플랫폼을지능적으로자동구축 24 대 12대 Hadoop Framework ( 컴퓨팅 )/ DebianOS 6 대 Lustre 스토리지서버 / Cent OS 6대 Apache 웹서버 / Window Server Lustre 스토리지 Installation Server Apache 웹서버 Hadoop 3
System 동작과정요약 시스템동작과정분석 Installation Server 1. 시스템실행 Installation Software 실행 3. 호스트부팅 2. 환경설정 Monitoring Software Installer 4. 시스템구성설정요청 Installer 6. 호스트설치 Disk 5. 시스템구성설정전송 Partitioner 6 1. 디스크파티셔닝 OS Installer 6 2. OS 설치 SW Package Installer 6 3. SW 설치 7. 시스템설치완료 Customizer 6 4. 개인 SW 설치 / 설정 4
System Design Installation Server 정보저장 User Input 입력 기존설정과비교하여설치가능여부조사 Information Collect Channel을사용하여전달 Monitoring HW 정보수집하여전달 Initial Installation Ready 정보가올때까지대기 User 의 Input 정보와 의정보비교 설치명령 상세과정생략 Installation Installation 설치 상세과정생략 5
Automata Modeling Installation Server Informa tion Collect Monitori ng Installation ti Server Initial Installation 서버를구성하는 SW 실행 사용자설정입력 Information Collect 의 HW 정보수집및분석 Installation Ready 설치대기단계 Installation 에게 OS/SW 데이터전달 tmonitoring i 의 HW 정보수집및전송 Installation OS/Sw설치 Initial Installati on Ready Installati on Installati on 6
설치과정검증 환경설정에따른 설치검증순서 Installation Server User Input - OS - Number of - Condition Installation Server Information Collect Monitoring 2. 정보수집 1. Installation Server 준비 Initial Installation Ready HW Spec - CPU - MEMORY Installation Installation 3. 에 OS/SW 설치 7
설치과정검증 설치과정검증 Input Data 검증 User : OS/SW 정보선택, 설치할 의수결정, 의조건설정 : 의하드웨어정보 User 가선택한 OS/SW 정보및 조건에따라서설치가제대로되는지확인 의모니터링을통해들어온 HW 조건에따라서설치가되는지설치가되지않아야하는지확인 예 ) 의 HW Spec 고려 Case1 (true) User Input : Windows7 + Tomcat Server + Memory 4GB 이상 Input : CPU core = 2, Memory = 4GB Case2 (false) User Input : Debian + Apache Server + Memory 4GB 이상 Input : CPU core = 2, Memory = 2GB 8
System Design 시스템에들어오는입력정보 Installation Server 사용자설정입력 User input : 에설치할 OS, SW의정보, 의하드웨어조건정보» Case1: OS 선택» Case2: OS + SW 선택» Case3: OS + HW 조건선택» Case4: OS + SW + HW 조건선택 환경설정검증 Monitoring 의 HW 정보수집및전송 User input : 의하드웨어정보 (CPU, Memory)» (Case 가너무많아구현시정보를 2 가지로고정 ) 가여러대인경우 의 HW 정보가다를수도같을수도있음 9
Init Process Automata 시스템전체 Automata Model icreator Process icreatorinstallation Process Configration Process HWMonitor Process Install Process OS/SW/ config_check Process UserInput Process 총 10 개의 Process Installation Server (4개) icreator icreatoruserinput icreatorinstallation ConfigChecking (5개) HWMonitor Install OSInstall SWInstall ConfigSet 10
Automata 시스템전체 Automata Model 총 10 개의 Process Installation Server (4개) icreator icreatoruserinput icreatorinstallation ConfigChecking (5개) HWMonitor Install OSInstall SWInstall ConfigSet 11
Implementation 자동설치시스템검증환경 운영체제 Windows 7 (64bit) 검증툴 jspin (Version 6.4) 12
Implementation 자동설치시스템구현 initprocess icreator() : 설치서버역할을하는 process () : 설치대상인역할을하는 process 사용자입력수신설치시작 하드웨어정보수집 설치시작 13
Implementation icreatoruserinput() 사용자의입력설정 OS/SW/CPUcore/MemorySize OS 선택 SW 선택 CPU core 선택 Memory 크기선택 14
Implementation icreatorinstallation() 사용자설정정보저장 환경설정검사 process 실행 환경설정정보저장 환경설정정보검사 15
Implementation ConfigChecking() 사용자가입력한환경설정정보검사 설치조합은사전에미리등록되어있다고가정 검사 process OS & HW 조건확인 OS와연관된 SW 조건확인 설치가능 OS SW 설치가능여부 Windows Default O Windows Web O Windows DB O Windows Computing O 설치불가 Windows Storage X 16
Implementation HWMonitor() 의정보를 Random 하게생성 CPU core 선택 Memory 크기선택 17
Implementation Install() 에 OS/SW 설치진행 OS 설치 SW 설치 환경설정 설치실패 18
Property 테스트방법 사용자의환경설정정보와 의 HW 모니터링정보를이용한검증 미리등록된 OS(2 종류 ), SW(5 가지 ), HW 설정을랜덤하게조합 HW 정보 (user, host 공통사용 ) 1. ltl t1 {[](OS == USER_OS_WINDOW && SW == USER_SW_STORAGE ) > (install_checking == 1)} Window OS 와 Storage 를선택하였을때설치가가능한지확인 2. ltl t2 {[](OS == USER_OS_WINDOW && SW == OS 정보 USER_SW_STORAGE && CPU > CPU_CORE_4 && (user 사용 ) HOST_CPU == CPU_CORE_4 ) > (install_checking == 1)} SW 정보 상기조건에서 CPU core의수를조건을추가하여 (user 사용 ) 설치되는지확인 3. ltl t3 {[](OS == USER_OS_WINDOW && SW == USER_SW_STORAGE && CPU > CPU_CORE_4 && HOST_CPU == CPU_CORE_2 ) > (install_checking == 1)} 상기조건에서 의 CPU core의수를줄였을경우설치가안되는지확인 19
Property ll ltl p1 { [] (select_os == USER_OS_WINDOW && select_sw == USER_SW_DEFAULT) > (host_install_checking == INSTALL_SUCCECC) } OS : Windows, SW: Default => 설치가되는가? 20
Property ll ltl p2 { [] (select_os == USER_OS_WINDOW && select_sw == USER_SW_STORAGE) > (host_install_checking == INSTALL_FAILD) } OS : Windows, SW: Storage => 설치가안되는가? 21
Property ll ltl p3 { [] (select_cpu == CPU_CORE_2 && host_hw_cpu h == CPU_CORE_2) > (install_check == INSTALL_SUCCESS) } 사용자요구 CPU core : 2 HOST CPU core : 2 => 설치가되는가? 22
Conclusion 설치성공테스트 사용자가입력한정보와호스트의정보를비교하여설치가능 OS 정보, SW 정보, HW 정보 설치서버나호스트둘중에어느것이먼저실행되더라도설치순서에맞추어서동작 설치실패테스트 사용자가원하는 HW 정보보다설치할 의 HW 정보가사양이낮은경우설치실패 사용자가입력한조합이설치서버에등록되어있지않는경우설치실패 23