KR20140107042A - 관리 장치 및 서버 노드 관리 방법 - Google Patents

관리 장치 및 서버 노드 관리 방법 Download PDF

Info

Publication number
KR20140107042A
KR20140107042A KR1020130021544A KR20130021544A KR20140107042A KR 20140107042 A KR20140107042 A KR 20140107042A KR 1020130021544 A KR1020130021544 A KR 1020130021544A KR 20130021544 A KR20130021544 A KR 20130021544A KR 20140107042 A KR20140107042 A KR 20140107042A
Authority
KR
South Korea
Prior art keywords
server node
server
operating system
information
work environment
Prior art date
Application number
KR1020130021544A
Other languages
English (en)
Inventor
반민호
윤일국
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020130021544A priority Critical patent/KR20140107042A/ko
Priority to EP14152929.7A priority patent/EP2772858A3/en
Priority to US14/174,190 priority patent/US20140244822A1/en
Priority to CN201410059864.0A priority patent/CN104010022A/zh
Publication of KR20140107042A publication Critical patent/KR20140107042A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

관리 장치가 개시된다. 본 발명에 따른 복수의 서버 노드와 연결가능한 관리 장치는, 사용자의 작업환경 정보를 입력받는 사용자 인터페이스부, 복수의 서버 노드 각각의 기기 정보, 복수의 운영체제 프로그램 및 입력받은 작업 환경 정보를 저장하는 저장부, 입력받은 작업 환경 정보에 기초하여, 복수의 서버 노드 중 작업을 수행할 서버 노드 및 복수의 운영체제 프로그램 중 작업을 수행할 운영체제 프로그램을 선택하는 제어부 및 선택된 서버 노드에 선택된 운영체제 프로그램을 전송하여, 서버 노드가 선택된 운영체제 프로그램에 의하여 구동되도록 하는 통신 인터페이스부를 포함한다.

Description

관리 장치 및 서버 노드 관리 방법{MANAGEMENT APPARATUS AND METHOD FOR MANAGING SERVER NODE}
본 발명은 관리 장치 및 그 서버 노드 관리 방법에 대한 것으로, 보다 상세하게는 복수의 서버 노드와 연결가능한 관리 장치 및 서버 노드 관리 방법에 관한 것이다.
고속 인터넷 및 인트라넷 기술의 발달에 따라 대량의 데이터를 처리할 수 있는 서버 기술이 요구되는 가운데 최근 고성능만을 강조하던 기존 트렌드에서 벗어나 저전력 저사양 코어를 사용하여 Eco computing을 실현하는 마이크로 서버가 업계의 새로운 패러다임으로 떠오르고 있다.
마이크로 서버란, 하나 이상의 CPU(Central Processing Unit), 기억장치 등 서버의 핵심 요소를 내장하고 있는 서버 노드(또는 프로세서 모듈)가 복수개 장착되어 전원, 입출력, 부수 장치 등을 서버 노드에 지원하는 병렬 처리 서버를 의미한다.
종래 클러스터 및 서버 팜 설치방법은 관리자가 사용자의 요청 사항을 바탕으로 작업환경에 맞는 노드를 직접 선택하고 설치해야 하는 어려움이 있었다. 본 발명은 이것을 관리 서버 내 제어부에서 자동으로 수행하도록 하여 기존 문제점을 극복할 수 있다.
한편, 종래에는 하나의 마이크로 서버에는 동일 타입의 서버 노드, 즉 동종의 CPU가 장착된 서버 노드만을 사용하도록 인터페이스가 설계되었으나, 최근 복수의 이기종의 서버 노드를 장착한 마이크로 서버가 개발되고 있다.
따라서, 동종의 서버 노드로 구성된 마이크로 서버 또는 서버 팜 환경을 제어하는 기존의 관리 장치로는 최근 개발되고 있는 복수의 이기종의 서버 노드로 구성된 마이크로 서버를 제어하지 못한다는 문제점이 있었다.
또한, 사용자는 작업을 수행하기 위해서는, 이기종의 서버 노드 각각의 기기 정보를 고려해야 하므로 관리의 복잡성이 증가하는 문제점이 발생하였다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 관리 장치에 연결되어 있는 복수의 서버 노드의 기기 정보를 사용자가 일일이 고려할 필요 없이, 수행하는 작업 환경의 정보에 따라 적절한 서버 노드를 선택하여 운영체제를 설치함으로써 작업 환경을 제공할 수 있는 복수의 서버 노드와 연결가능한 관리 장치 및 서버 노드 관리 방법을 제공하는 데에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 복수의 서버 노드와 연결가능한 관리 장치는, 사용자의 작업환경 정보를 입력받는 사용자 인터페이스부, 상기 복수의 서버 노드 각각의 기기 정보, 복수의 운영체제 프로그램 및 상기 입력받은 작업 환경 정보를 저장하는 저장부, 상기 입력받은 작업 환경 정보에 기초하여, 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 선택하는 제어부 및 상기 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송하여, 상기 서버 노드가 상기 선택된 운영체제 프로그램에 의하여 구동되도록 하는 통신 인터페이스부를 포함한다.
여기서, 복수의 서버 노드는, 적어도 2 이상의 타입의 서버 노드로 구성될 수 있다.
이 경우, 상기 복수의 서버 노드는, 마이크로 서버의 서로 다른 타입의 복수의 프로세서 모듈로 구현되며, 상기 마이크로 서버는 공통 인터페이스 버스를 통해 컨트롤러와 상기 서로 다른 타입의 복수의 프로세서 모듈을 연결할 수 있다.
한편, 상기 제어부는, 상기 복수의 서버 노드 각각의 기기 정보를 기반으로 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 자동으로 선택할 수 있다.
한편, 상기 기기 정보는, 맥 어드레스(MAC address) 정보, CPU 정보, 메모리 정보, 네트워크 정보 및 사용가능한 운영체제 프로그램 정보 중 적어도 하나를 포함할 수 있다.
한편, 상기 통신 인터페이스부는, 기 설정된 시간마다 상기 복수의 서버 노드의 맥 어드레스를 검출할 수 있다.
여기서, 상기 통신 인터페이스부는, 새로운 맥 어드레스가 검출되는 경우, 상기 새로운 맥 어드레스에 대응되는 서버 노드에 부트 프로세서 프로그램을 전송하여 상기 서버 노드의 기기 정보를 제공받아 상기 저장부에 추가할 수 있다.
한편, 상기 통신 인터페이스부는, 상기 저장부에 저장된 서버 노드의 맥 어드레스가 기정의된 시간동안 검출되지 않는 경우, 상기 서버 노드의 기기 정보를 상기 저장부에서 삭제할 수 있다.
한편, 상기 제어부는, 상기 복수의 서버 노드에서 상기 선택된 작업 환경 정보에 대응되는 서버 노드가 없는 경우, 대응되는 서버 노드가 없다는 메세지를 표시하도록 사용자 인터페이스부를 제어할 수 있다.
한편, 상기 운영체제 프로그램은,운영체제 설치 파일, 백업된 운영체제 이미지 파일 및 VM(VIRTUAL MACHINE) 인스턴스 이미지 파일 중 적어도 하나를 포함할 수 있다.
한편, 상기 제어부는, 상기 선택된 서버 노드에 구동중인 다른 작업 환경이 있는 경우, 상기 다른 작업 환경상에서 상기 선택받은 작업 환경이 가상 환경으로 구동되도록 상기 선택된 서버 노드를 제어할 수 있다.
한편, 상기 제어부는, 상기 선택받은 작업 환경 정보에 대응되는 서버 노드가 복수개 검색되면, 상기 검색된 복수의 서버 노드 각각의 구동 상태에 따라 상기 작업을 수행할 서버 노드를 선택할 수 있다.
한편, 상기 제어부는, 상기 선택된 관리 서버에서 운영체제 프로그램이 구동되면, 상기 작업 환경에 대응되는 아이콘이 표시되도록 상기 사용자 인터페이스부를 제어할 수 있다.
여기서, 상기 제어부는, 상기 작업 환경에 대응하는 UI(User Interface) 화면을 제공하여, 상기 작업 환경을 제어할 수 있다.
한편, 상기 사용자 인터페이스부는, 백업을 수행할 서버 노드를 선택받고, 상기 제어부는, 상기 선택받은 서버 노드에 백업 프로그램을 전송하여 구동중인 운영체제 프로그램 및 어플리케이션 프로그램을 백업할 수 있다.
여기서, 상기 사용자 인터페이스부는, 백업 복구를 수행할 서버 노드를 선택받고, 상기 제어부는, 상기 선택받은 서버 노드에 상기 백업된 운영체제 프로그램 및 어플리케이션 프로그램을 전송하여 백업 복구할 수 있다.
한편, 본 실시 예에 따른 복수의 서버 노드와 연결가능하고, 상기 복수의 서버 노드 각각의 기기 정보 및 복수의 운영체제 데이터를 저장하는 관리 장치의 서버 노드 관리 방법은, 작업 환경 정보를 입력받는 단계, 상기 입력받은 작업 환경 정보에 기초하여, 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 선택하는 단계, 상기 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송하는 단계 및 상기 전송된 운영체제 프로그램에 의하여 상기 서버 노드가 구동되는 단계를 포함할 수 있다.
여기서, 복수의 서버 노드는, 적어도 2 이상의 타입의 서버 노드로 구성될 수 있다.
이 경우, 상기 복수의 서버 노드는, 마이크로 서버의 서로 다른 타입의 복수의 프로세서 모듈로 구현되며, 상기 마이크로 서버는 공통 인터페이스 버스를 통해 컨트롤러와 상기 서로 다른 타입의 복수의 프로세서 모듈을 연결할 수 있다.
한편, 상기 선택하는 단계는, 상기 복수의 서버 노드 각각의 기기 정보를 기반으로 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 자동으로 선택할 수 있다.
한편, 상기 기기 정보는, 맥 어드레스(MAC address) 정보, CPU 정보, 메모리 정보, 네트워크 정보 및 사용 가능한 운영체제 프로그램 정보 중 적어도 하나를 포함할 수 있다.
한편, 상기 서버 노드 관리 방법은, 기 설정된 시간마다 상기 복수의 서버 노드의 맥 어드레스를 검출하는 단계를 더 포함할 수 있다.
여기서, 상기 맥 어드레스를 검출하는 단계 이후에, 새로운 맥 어드레스가 검출되는 경우, 상기 새로운 맥 어드레스에 대응되는 서버 노드에 부트 프로세서 프로그램을 전송하여 상기 서버 노드의 기기 정보를 제공받아 상기 저장부에 추가하는 단계를 더 포함할 수 있다.
한편, 상기 맥 어드레스를 검출하는 단계 이후에, 상기 저장부에 저장된 서버 노드의 맥 어드레스가 기정의된 시간동안 검출되지 않는 경우, 상기 서버 노드의 기기 정보를 상기 저장부에서 삭제하는 단계를 더 포함할 수 있다.
한편, 상기 작업 환경 정보를 입력받는 단계 이후에, 상기 복수의 서버 노드에서 상기 선택된 작업 환경 정보에 대응되는 서버 노드가 없는 경우, 대응되는 서버 노드가 없다는 메세지를 표시하는 단계를 더 포함할 수 있다.
한편, 상기 운영체제 프로그램은, 운영체제 설치 파일, 백업된 운영체제 이미지 파일 및 VM(VIRTUAL MACHINE) 인스턴스 이미지 파일 중 적어도 하나를 포함할 수 있다.
여기서, 상기 선택된 서버 노드에 구동중인 다른 작업 환경이 있는 경우, 상기 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송하는 단계는, 상기 선택된 서버 노드에 복수의 작업 환경을 사용할 수 있게 상기 VM 인스턴스 이미지 파일을 전송하고, 상기 서버 노드가 구동되는 단계는, 상기 VM 인스턴스 이미지 파일 이용하여 상기 다른 작업 환경상에서 상기 선택받은 작업 환경이 가상 환경으로 구동될 수 있다.
한편, 상기 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 선택하는 단계는, 상기 선택받은 작업 환경 정보에 대응되는 서버 노드가 복수개 검색되면, 상기 검색된 복수의 서버 노드 각각의 구동 상태에 따라 상기 작업을 수행할 서버 노드 및 운영체제 프로그램을 선택할 수 있다.
한편, 상기 서버 노드 관리 방법은, 상기 선택된 서버 노드에서 운영체제 프로그램이 구동되면, 상기 작업 환경에 대응되는 아이콘을 표시하는 단계 및 상기 작업환경에 대응되는 UI(User Interface) 화면을 제공하여, 상기 작업 환경을 제어하는 단계를 더 포함할 수 있다.
한편, 상기 서버 노드 관리 방법은, 백업을 수행할 서버 노드를 선택받는 단계, 상기 선택받은 서버 노드에 백업 프로그램을 전송하는 단계 및 상기 백업 프로그램을 수행하여 상기 선택받은 서버 노드에서 구동중인 운영체제 프로그램 및 어플리케이션 프로그램을 백업하는 단계를 더 포함할 수 있다.
여기서, 상기 서버 노드 관리 방법은, 백업 복구를 수행할 서버 노드를 선택받는 단계 및 상기 선택받은 서버 노드에 상기 백업된 운영체제 프로그램 및 어플리케이션 프로그램을 전송하여 백업 복구하는 단계를 더 포함할 수 있다.
한편, 본 실시 예에 따른 복수의 서버 노드와 연결가능하고, 상기 복수의 서버 노드 각각의 기기 정보 및 복수의 운영체제 데이터를 저장하는 관리 장치의 서버 노드 관리 방법을 실행하는 비일시적 판독가능 기록매체는, 작업 환경 정보를 입력받는 단계, 상기 입력받은 작업 환경 정보를 저장하는 단계, 상기 입력받은 작업 환경 정보에 기초하여, 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 선택하는 단계, 상기 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송하는 단계 및 상기 전송된 운영체제 프로그램에 의하여 상기 서버 노드가 구동되는 단계를 포함하는 서버 노드 관리 방법을 포함한다.
도 1은 본 발명의 일 실시 예에 따른 관리 장치의 구성을 나타내는 블럭도,
도 2는 본 발명의 일 실시 예에 따른 관리 장치의 서버 노드 관리 동작을 설명하기 위한 도면,
도 3은 본 발명의 일 실시 예에 따른 관리 장치의 저장부를 설명하기 위한 도면,
도 4는 본 발명의 일 실시 예에 따른 단일 작업 환경이 구동중인 서버 노드의 소프트웨어 구성을 설명하기 위한 도면,
도 5는 본 발명의 일 실시 예에 따른 복수의 작업 환경이 구동중인 서버 노드의 소프트웨어 구성을 설명하기 위한 도면,
도 6 내지 도 7은 본 발명의 일 실시 예에 따른 복수의 서버 노드를 포함하는 마이크로 서버를 설명하기 위한 도면,
도 8은 본 발명의 일 실시 예에 따른 작업 환경에 대응되는 아이콘 및 UI 화면을 설명하기 위한 도면,
도 9는 본 발명의 일 실시 예에 따른 작업 환경 정보를 입력받는 메뉴를 설명하는 도면,
도 10은 본 발명의 일 실시 예에 따른 서버 노드 관리 방법을 설명하기 위한 흐름도,
도 11은 본 발명의 일 실시 예에 따른 서버 노드를 선택하는 동작을 구체적으로 설명하기 위한 흐름도,
도 12는 본 발명의 일 실시 예에 따른 서버 노드를 검출하는 동작을 구체적으로 설명하기 위한 흐름도,
도 13은 본 발명의 일 실시 예에 따른 백업 동작을 구체적으로 설명하기 위한 흐름도, 및
도 14는 본 발명의 일 실시 예에 따른 백업 복구 동작을 구체적으로 설명하기 위한 흐름도이다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 발명의 일 실시 예에 따른 관리 장치(100)의 구성을 나타내는 블럭도이다.
도 1을 참고하면, 관리 장치(100)는 저장부(110), 사용자 인터페이스부(120), 제어부(130) 및 통신 인터페이스부(140)를 포함한다.
본 발명의 일 실시 예에 따른 관리 장치(100)는 복수의 서버 노드(300-1, 300-2 ~ 300-n)와 연결되어 있다. 여기서, 복수의 서버 노드(300-1, 300-2 ~ 300-n)는 동종 또는 이기종의 서버 노드로 구성될 수 있다. 구체적으로, 복수의 서버 노드(300-1, 300-2 ~ 300-n)는 마이크로 서버(200)의 서로 다른 타입의 복수의 프로세서 모듈로 구현될 수 있다.
마이크로 서버(200)란, 하나 이상의 CPU(Central Processing Unit), 기억장치 등 서버의 핵심 요소를 내장하고 있는 서버 노드(또는 프로세서 모듈)가 복수개 장착되며, 전원, 입출력, 부수 장치 등을 서버 노드에 지원하는 병렬 처리 서버를 의미한다.
본 발명의 일 실시 예에 따른 마이크로 서버(200)에 대한 구체적인 구성은 이하 도 6 및 도 7을 참고하여 자세히 설명하도록 한다.
한편, 도 1에서는 복수의 서버 노드(300-1, 300-2 ~ 300-n)에 대하여 마이크로 서버(200)에 장착되는 복수의 프로세서 모듈(또는 CPU보드)로 설명하였으나, 서버 팜(Farm) 또는 서버 클러스터(Cluster)를 구성하는 복수의 서버 장치로 구현될 수 도 있다. 저장부(110)는 복수의 서버 노드(300-1, 300-2 ~ 300-n) 각각의 기기 정보, 복수의 운영체제 프로그램 및 선택받은 작업 환경 정보를 저장한다. 구체적으로, 저장부(110)는 복수의 서버 노드 각각의 기기 정보를 저장하는 글로벌 리소스(Global Resource) 저장부, 사용자 정보와 작업 환경 생성 명세서 및 IUID(Instance Unique ID)를 저장하고 있는 작업 환경 정보 저장부 및 운영체제 프로그램, 백업/복구 이미지를 저장하는 O/S(Operating System) 이미지 저장부로 구성될 수 있다.
여기서 IUID 란 사용자 정보 및 생성된 작업 환경(OS)가 매핑된 키 데이터를 의미한다.
여기서, 복수의 서버 노드(300-1, 300-2 ~ 300-n)의 기기 정보는 서버 노드의 맥 어드레스(MAC address) 정보, 시리얼 넘버(S/N), CPU 정보, 메모리 정보, 네트워크 정보 및 사용가능한 운영체제 프로그램 정보 중 적어도 하나를 포함할 수 있다. 복수의 서버 노드는 각각 기기 사양이 다를 수 있으므로, 기기 정보를 저장하여 서버 노드 선택 동작시 이용할 수 있다. 그리고, 운영체제 프로그램은 운영체제 설치 파일, 백업된 운영체제 이미지 파일 및 VM(VIRTUAL MACHINE) 인스턴스 이미지 파일 중 적어도 하나를 포함할 수 있다.
한편, 저장부(110)는 관리 장치(100)의 동작을 제어하기 위한 운영체제 프로그램을 저장할 수 있으며, 운영체제에 의해 관리되고 운영체제의 자원을 이용하여 관리 장치(100)의 동작을 수행하여 사용자 인터페이스를 제공하는 어플리케이션 프로그램을 저장할 수 있다.
한편, 저장부(110)는 롬(ROM), 램(RAM) 또는 관리 장치(100)에 탈착/장착 가능한 메모리 카드(예, SD 카드, 메모리 스틱), 비휘발성 메모리, 휘발성메모리, 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나로 구현될 수 있다.
사용자 인터페이스부(120)는 작업 환경 정보를 입력 받을 수 있다. 구체적으로, 사용자 인터페이스부(120)는 작업 환경 생성 명세서 메뉴를 표시하여 사용자로부터 작업을 수행할 작업 환경 정보를 입력 받을 수 있다.
여기서, 작업 환경이란 하나의 서버 노드에서 작업을 수행하기 위하여 운영체제 프로그램 및 어플리케이션 프로그램이 구동될 수있는 하나의 소프트웨어 환경을 의미하며, O/S Instance, Container로 지칭될 수 있다. 작업 환경의 일 예로, 일반적인 O/S, 가상머신 상의 Guest O/S, 리눅스(linux)의 LGUEST, LXC, UML 등이 있다.기존 OS 또는 가상머신위의 Guest OS, 리눅스의 lguest(엘게스트), LXC(리눅스 컨테이너), UML(유저모드리눅스) 등이 그 예가 될 수 있다.
한편, 본 발명의 일 실시 예에 따르면 사용자는 관리 장치(100)의 사용자 인터페이스부(120)에 원격으로 접속하여 사용자가 사용하고자 하는 서버 환경에 대한 작업 환경 정보를 입력할 수 있다.
이 경우, 관리 장치(100)는 입력된 작업 환경 정보를 기반으로, 서버 노드를 선택하고 선택된 서버 노드에 운영체제를 구동 가능하도록 설치할 수 있다.
한편, 작업 환경 정보에는 작업 환경이 수행되기 적합한 서버 노드의 기기 정보 및 운영체제 프로그램 정보를 포함할 수 있다.
한편, 본 발명의 일 실시 예에 따른 사용자 인터페이스부(120)는 제어부(130)의 제어에 따라 선택된 작업 환경 정보에 대응되는 서버 노드가 없는 경우, 대응되는 서버 노드가 없다는 메세지를 표시할 수 있다.
그리고, 사용자 인터페이스부(120)는 제어부(130)의 제어에 따라 선택된 서버 노드(300)에서 운영체제가 구동되면, 작업 환경에 대응되는 아이콘을 표시할 수 있다. 이 경우, 아이콘이 선택되면, 아이콘에 대응하는 작업 환경의 UI(User Interface)화면을 표시할 수 있다.
여기서, UI는 TEXT 기반의 CLI(Command Line Interface) 또는 Window 형태의 GUI(Graphic User Interface) 등이 될 수 있다.
한편, 사용자 인터페이스부(120)는 백업을 수행할 서버 노드를 선택받을 수 있다. 또한, 사용자 인터페이스부(120)는 백업 복구를 수행할 서버 노드를 선택받을 수 있다.
한편, 사용자 인터페이스부(120)는 관리 장치(100)에서 지원하는 각종 기능을 사용자가 설정 또는 선택할 수 있는 다수의 기능키를 구비하며, 관리 장치(100)에서 제공되는 각종 정보를 표시할 수 있다. 사용자 인터페이스부(120)는 모니터 및 마우스를 결합하여 구현할 수 있으며, 터치패드 등과 같이 입력과 출력이 동시에 구현되는 장치로도 구현할 수도 있다.
제어부(130)는 선택받은 작업 환경 정보에 기초하여, 복수의 서버 노드(300-1,300-2 ~ 300-n) 중 작업을 수행할 서버 노드 및 복수의 운영체제 프로그램 중 작업을 수행할 운영체제 프로그램을 선택한다. 구체적으로, 사용자 인터페이스부(120)를 통하여 선택받은 작업 환경 정보에 적합한 서버 노드를 선택하기 위하여, 저장부(110)에서 관리 장치(100)와 연결되어 있는 복수의 서버 노드(300-1,300-2 ~ 300-n) 각각의 기기 정보와 운영체제 프로그램 정보를 로딩할 수 있다. 그리고, 제어부(130)는 로딩된 기기 정보와 운영체제 프로그램 정보를 검색하여 적합한 서버 노드를 선택할 수 있다.
또한, 제어부(130)는 복수의 서버 노드 각각의 기기 정보를 기반으로 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 자동으로 선택할 수 있다.
한편, 제어부(130)는 선택받은 작업 환경 정보에 대응되는 서버 노드가 복수개 검색되면, 검색된 복수의 서버 노드 각각의 구동 상태에 따라 작업을 수행할 서버 노드를 선택할 수 있다. 일 예로, 검색된 복수의 서버 노드에서 구동되고 있는 작업 환경의 수가 가장 적은 서버 노드를 선택할 수 있다.
한편, 제어부(130)는 복수의 서버 노드(300-1,300-2 ~ 300-n)에서 선택된 작업 환경 정보에 대응되는 서버 노드가 없는 경우, 대응되는 서버 노드가 없다는 메세지를 표시하도록 사용자 인터페이스부(120)를 제어할 수 있다.
한편, 제어부(130)는 선택된 서버 노드에 구동중인 다른 작업 환경이 있는 경우, 다른 작업 환경상에서 선택받은 작업 환경이 가상 환경으로 구동되도록 선택된 서버 노드를 제어할 수 있다.
여기서, 가상 환경은 단일 서버 노드의 리소스를 공유하는 가상화 기술 (Virtualization Technology)을 이용하여 생성된 작업 환경을 의미한다. 가상화 기술은, 단일 서버 장치상에 복수의 가상화 머신(Virtual Machine)을 생성하여, 리소스를 공유(또는 분할)하여 다수의 작업 환경을 구동하는 기술이다.
제어부(130)에서 선택된 서버 노드에 구동중인 다른 작업 환경이 있는 경우, 제어부(130)는 저장부(110)에 저장된 VM(Virtual Machine) 인스턴스 이미지 파일을 선택된 서버 노드에 전송하여 기존의 구동중인 작업 환경 위에, 가상화 머신을 로딩하여 새로운 운영체제 및 어플리케이션 프로그램을 구동시킬 수 있다.
이와 같은 방식으로, 단일 서버 노드에 2개 이상의 작업 환경을 구동시킬 수 있게 된다.
한편, 제어부(130)는 선택된 서버 노드에서 운영체제가 구동되면, 작업 환경에 대응되는 아이콘이 표시되도록 사용자 인터페이스부(110)를 제어할 수 있으며, 표시된 아이콘이 선택되면, 아이콘에 대응하는 작업 환경의 UI(User Interface) 화면을 제공하여, 구동중인 작업 환경을 제어할 수 있다.
상술한 아이콘 및 작업 환경의 UI 화면에 대한 구체적인 설명은 이하 도 8을 참고하여 설명하도록 한다.
한편, 제어부(130)는 사용자 인터페이스부(120)에서 백업을 수행할 서버 노드를 선택받은 경우, 선택받은 서버 노드에 백업 프로그램을 전송하여 구동중인 운영체제 프로그램 및 어플리케이션 프로그램을 백업할 수 있다.
구체적으로, 사용자 인터페이스부(120)에서 백업을 수행할 서버 노드가 사용자로부터 선택 되면, 제어부(130)는 백업 파일을 저장할 공간을 검색할 수 있다.
여기서, 백업 파일을 저장할 공간은, 사용자 인터페이스부(120)을 통하여 사용자로부터 직접 입력 받을 수 있으며, 또는 관리 장치의 저장부(110) 등 기 설정된 저장공간일 수 있다. 일 예로, 백업 파일을 저장할 공간은, 관리 장치(100)의 저장부(110), 관리 장치(100)에 연결된 외부 기억장치, 복수의 서버 노드 중 어느 하나의 서버 노드의 저장부로 구현 될 수 있다.
그리고, 제어부(130)는 선택받은 서버 노드와 백업 파일을 저장할 공간을 연결하는 네트워크 마운트 작업을 수행할 수 있다. 네트워크 마운트 작업은 NBD(Network Block Device), iSCSI, AoE(ATA over Ethernet) 등 다양한 방법을 통하여 수행될 수 있다.
네트워크 마운트 작업이 완료되면, 제어부는(130)는 서버 노드에 백업 프로그램을 전송하여 서버 노드에서 구동중인 운영체제 프로그램 및 어플리케이션 프로그램을 백업할 수 있다. 구체적으로, 제어부(130)는 백업 프로그램을 구동시켜 운영체제 프로그램 및 어플리케이션 프로그램을 압축하여 백업 파일을 생성하고, 생성된 백업 파일을 네트워크 마운트로 연결된 저장공간에 전송하여 저장할 수 있다.
여기서, 백업 방법은 운영체제 프로그램이 구동중인 상태로 백업하는 live snapshot 방법과 운영체제 프로그램이 일시적으로 멈춘 상태에서 백업하는 방법 모두 수행 가능하다.
한편, 제어부(130)는 백업 작업이 완료되면 네트워크 마운트를 해제하고, 백업 파일이 저장된 저장공간 정보를 저장부(110)에 저장할 수 있다. 한편, 제어부(130)는 저장공간 정보와 함께, 백업된 운영체제 및 사용자 정보를 저장부(110)에 저장할 수 있다.
한편, 제어부(130)는 사용자 인터페이스부(120)에서 백업 복구를 수행할 서버 노드를 선택받은 경우, 선택받은 서버 노드에 백업된 운영체제 프로그램 및 어플리케이션 프로그램을 전송하여 백업 복구를 수행할 수 있다.
구체적으로, 백업 복구 방법은 백업된 파일을 백업 복구를 수행할 서버 노드에 전송하고, 압축을 해제하는 방식으로 수행될 수 있다.
백업 파일 전송, 백업 파일 압축 해제, 운영체제 프로그램 설치 및 어플리케이션 프로그램 구동은 아래의 통신 인터페이스부(140)에서 설명하도록 한다.
통신 인터페이스부(140)는 선택된 서버 노드에 선택된 운영체제 프로그램을 전송하여, 서버 노드가 선택된 운영체제 프로그램에 의하여 구동되도록 한다. 구체적으로, 통신 인터페이스부(140)는 제어부(130)에서 선택된 서버 노드에 선택된 운영체제 프로그램을 전송할 수 있다. 그리고, 전송된 운영체제 프로그램은 서버 노드에 설치되어 새로운 작업 환경이 구동될 수 있다.
운영체제 프로그램의 서버 노드 전송 및 설치 방법은 RIS(Remote Installation Service), PXE(Pre-boot eXecution Environment), FTP(File Transfer Protocol), TFTP(Trivial File Transfer Protocol), NFS(Network File System), CIFS(Common Internet File System), SSH(Secure Shell), RSH(Remote Shell Protocol) 등 다양한 방법으로 전송 및 설치될 수 있다.
백업 파일 전송, 백업 파일 압축 해제, 운영체제 프로그램 설치 및 어플리케이션 프로그램 구동은 아래의 통신 인터페이스부(140)에서 설명하도록 한다.
한편, 통신 인터페이스부(140)는 백업 파일 전송을 할 수 있다.
백업 파일의 서버 노드 전송, 압축 해제, 운영체제 프로그램 설치 방법은 상술한 RIS, PXE, FTP, TFTP, NFS, CIFS, SSH, RSH 등 다양한 방법으로 수행될 수 있다. 다만, 백업 복구 작업은, 운영체제 프로그램 설치와 달리 운영체제 프로그램을 설치와 동시에 백업 당시 구동중인 어플리케이션 프로그램도 설치된다는 차이점이 있다.
한편, 통신 인터페이스부(140)는 기 설정된 시간마다 복수의 서버 노드의 맥 어드레스를 검출할 수 있다.
구체적으로, 마이크로 서버(200)에 새로이 추가되는 서버 노드를 검출하기 위하여, 통신 인터페이스부(140)는 기 설정된 시간마다 마이크로 서버(200)의 서버 노드의 맥 어드레스를 검출할 수 있다. 여기서, 맥 어드레스 검출은 NMAP(Network MAPer), DHCP(Dynamic Host Configuration Protocol) 서버 등을 이용하여 수행할 수 있다.
새로운 맥 어드레스가 검출되는 경우, 통신 인터페이스부(140)는 새로운 맥 어드레스에 대응되는 서버 노드에 부트 프로세서 프로그램(Boot Process Program)를 전송하여 서버 노드의 기기 정보를 제공받고, 제공받은 기기 정보를 저장부(110)에 추가할 수 있다.
여기서, 부트 프로세서 프로그램이란, 신규 추가된 서버 노드를 부팅시켜 기기 정보를 관리 장치(100)에 전송하는 프로그램으로, 서버 노드의 메모리에 로드되어 작동될 수 있다. 일 예로, 부트 프로세서 프로그램은 PXE(Pre-boot eXecution Environment) 부팅 방법을 이용하여 구동될 수 있다.
상술한 운영체제 프로그램 설치는 서버 노드에 저장 후 설치되지만, 부트 프로세서 프로그램은 단순히 서버 노드의 메모리에 로드되어 기기 정보만을 전송하는 기능을 수행할 뿐이다.
여기서, 기기 정보는 서버 노드의 시리얼 넘버(S/N), 맥 어드레스, CPU 정보, 메모리 정보 등 서버 노드의 하드웨어 정보를 포함할 수 있다.
한편, 통신 인터페이스부(140)는 전송된 기기 정보를 저장부(110)에 추가할 수 있다.
또한, 통신 인터페이스부(140)는 마이크로 서버(200)에서 제거된 서버 노드도 검출 할 수 있다.
구체적으로, 통신 인터페이스부(140)는 저장부(110)에 저장된 서버 노드의 맥 어드레스가 기정의된 시간동안 검출되지 않은 경우, 검출되지 않은 서버 노드의 기기 정보를 저장부(110)에서 삭제할 수 있다.
여기서, 기정의된 시간은 제조사에 의해 설정될 수 있으며, 또한 사용자에 의해 직접 설정될 수 도 있다.
한편, 서버 노드는 sleep mode, power off mode 등의 동작 모드를 가질 수 있다. 이 경우, 통신 인터페이스부(140)는 각각의 서버 노드의 컨트롤러와 통신을 수행하여, 마이크로 서버(200)에서 제거되었는지 판단할 수 있다.
이는, Sleep mode 및 power off mode시에 서버 노드의 CPU 및 memory에 선택적으로 전원이 인가되지 않을 수 있다. 그러나, 마이크로 서버(200)에서 제거되지 않는 이상 서버 노드의 컨트롤러에는 전원이 인가되므로 서버 노드의 제거 상태를 판단할 수 있다.
한편, 통신 인터페이스부(140)는 복수의 서버 노드(300-1,300-2 ~ 300-n)와 관리 장치(100)를 연결한다.
복수의 서버 노드(300-1,300-2 ~ 300-n)가 마이크로 서버(300)의 일 구성으로 구현되는 경우, 통신 인터페이스부(140)는 마이크로 서버(300)의 메인 컨트롤러와 연결되어 제어신호 및 데이터를 송수신할 수 있다. 여기서, 데이터는 아날로그 데이터 및 디지털 데이터를 포함할 수 있으며, 비디오, 키보드, 마우스, UART(Serial) 등 통상의 서버 장치에서 출력되는 데이터와 RFB(Remote FrameBuffer), RDP(Remote Desktop Protocol), X11, telnet, ssh, rsh 등과 같은 프로토콜을 사용하는 모든 전자 장치의 데이터를 의미할 수 있다.
반면, 복수의 서버 노드(300-1, 300-2 ~ 300-n)가 서버 팜 또는 서버 클러스터의 일 구성으로 구현되는 경우, 통신 인터페이스부(140)는 각각의 복수의 서버 노드(300-1, 300-2 ~ 300-n)와 직접 연결되거나, 이더넷 스위치(Ethernet switch)를 이용하여 간접적으로 연결될 수 있다.
한편, 관리 장치(100)는 복수의 서버 노드(300-1, 300-2 ~ 300-n)가 서버 팜 또는 서버 클러스터의 일 구성으로 구현되는 경우, 클러스터 내부 또는 클러스터 외부에 존재할 수 있으며, 클러스터 내부의 특정 서버 노드가 관리 장치(100)의 기능을 수행할 수 있게 구현될 수 있다.
이상 도 1에 따른 관리 장치(100)는 연결되어 있는 복수의 서버 노드(300-1, 300-2 ~ 300-n)의 기기 정보를 사용자가 일일이 고려할 필요 없이, 수행하는 작업 환경 정보에 따라 적절한 서버 노드를 선택하여 운영체제를 설치함으로써 자동적으로 작업 환경을 제공할 수 있게 된다.
또한, 도 1에 따른 관리 장치(100)는 다양한 타입의 복수의 서버 노드로 구현되는 마이크로 서버(300)를 효과적으로 제어할 수 있게 된다.
도 2는 본 발명의 일 실시 예에 따른 관리 장치(100)의 서버 노드 관리 동작을 설명하기 위한 도면이다.
도 2를 참고하면, (1) 사용자로부터 사용자 인터페이스부(120)를 통하여 작업을 수행할 작업 환경 정보를 입력받으면, (2) 작업 환경 정보를 사용자 정보와 매칭시켜 작업 환경 저장부(113)에 저장하고, 노드 선택부(131)는 글로벌 리소스(Global Resource) 저장부 (111)에 저장되어 있는 복수의 서버 노드(300-1, 300-2 ~ 300-n)의 기기 정보를 로드할 수 있다.
(3)-1 그리고, 입력받은 작업 환경 정보와 로드된 기기 정보를 이용하여, 매칭되는 서버 노드를 선택할 수 있다.
(3)-2 다만, 매칭되는 서버 노드가 없는 경우, 대응되는 서버 노드가 없음을 알리는 메세지를 사용자 인터페이스부(120)를 통하여 출력할 수 있다.
(4) 노드 설치부(132)는 저장부(110)의 O/S(Operating System) 이미지 저장부(112)에 저장되어 있는 복수의 운영체제 프로그램 중 입력받은 작업 환경 정보에 대응되는 운영체제 프로그램을 검색하여 로드할 수 있다.
(5) 그리고, 노드 설치부(132)는 통신 인터페이스부(140)에 로드된 운영체제 프로그램을 전송할 수 있다.
(6) 통신 인터페이스부(140)는 선택된 서버 노드에 로드된 운영체제 프로그램을 전송하여 설치함으로써 작업을 수행하고자하는 작업 환경을 구동시킬 수 있다.
(7) 한편, 선택된 서버 노드에서 운영체제가 구동되면, 서버 노드는 출력 데이터를 통신 인터페이스부(140)에게 전송할 수 있으며, (8) 통신 인터페이스부(140)는 사용자 인터페이스부(120)에 출력 데이터를 제공하여 UI화면에 표시 또는 다양한 방법으로 출력할 수 있다.
(9) 한편, 통신 인터페이스부(140)의 노드 검출부(141)는 기 설정된 시간마다 마이크로 서버(200)에 장착된 서버 노드의 맥 어드레스를 검출하여, 서버 노드의 추가 및 제거를 글로벌 리소스(Global Resource) 저장부(111)에 업데이트할 수 있다.
서버 노드의 추가 및 제거 업데이트는 도 1의 통신 인터페이스부(140)에서 구체적으로 설명하였는 바, 중복 설명은 생략하도록 한다.
이상 도 2에 따른 관리 장치(100)의 서버 노드 관리 동작에 의하여, 수행하는 작업 환경 정보에 따라 적절한 서버 노드를 선택하여 운영체제를 설치함으로써 자동적으로 작업 환경을 제공할 수 있으며, 복수의 서버 노드 각각의 기기 정보를 자동적으로 업데이트 할 수 있게 된다.
도 3은 본 발명의 일 실시 예에 따른 관리 장치(100)의 저장부(110)를 설명하기 위한 도면이다.
도 3을 참고하면, 도 1 및 도 2에서 설명한 바와 같이 저장부(110)는 복수의 서버 노드 각각의 기기 정보를 저장하는 글로벌 리소스(Global Resource) 저장부(111) , 복수의 운영체제 프로그램을 저장하는 O/S(Operating System) 이미지 저장부(112) 및 작업 환경 정보 저장부(113)로 구성될 수 있다.
글로벌 리소스(Global Resource) 저장부(111)는 복수의 서버 노드의 맥 어드레스(MAC address), 시리얼 넘버(S/N) CPU Type, CPU Core의 수, Memory의 크기, Network의 개수, Disk의 크기, 사용가능한 O/S 및 구동중인 O/S의 수(또는 구동중인 작업환경, IUID(Instance Unique ID))의 정보를 저장할 수 있다. 본 발명의 일 실시 예에 따른 글로벌 리소스(Global Resource) 저장부(111)에 저장된 서버 노드의 기기 정보를 이용하여 서버 노드 선택 동작시 이용할 수 있다.
O/S(Operating System) 이미지 저장부(112)는 복수의 운영체제 프로그램을 저장할 수 있다. 복수의 운영체제 프로그램의 일 예로, Windows(TM)의 설치 파일, Linux의 설치 파일 또는 VM(Vitual Machine) 인스턴스 이미지 파일 중 적어도 하나 일 수 있다.
또한, O/S 이미지 저장부(112)는 백업 작업의 수행 결과를 저장할 수 있다. 구체적으로 O/S 이미지 저장부(112)에는 백업 파일이 저장된 저장공간 정보, 백업된 운영체제 정보 및 사용자 정보를 저장할 수 있다.
작업 환경 정보 저장부(113)는 각 사용자들이 생성한 작업 환경 정보를 저장할 수 있다. IUID(Instance Unique ID)를 기준으로 작업 환경을 생성한 사용자 정보 및 작업 환경 명세서에 입력된 작업 환경 정보를 저장할 수 있다.
이하에서는 제어부(130)를 구성하는 소프트웨어 계층도를 설명한다.
도 4는 본 발명의 일 실시 예에 따른 단일 작업 환경이 구동중인 서버 노드의 소프트웨어 구성을 설명하기 위한 도면이다.
도 4를 참고하면, 하나의 서버 노드는 하드웨어(410), 운영체제(Operating System: O/S, 421)와, 운영체제에 의해 프로세스로 관리되고 자원을 이용하여 사용자 서비스를 제공하는 어플리케이션(422)을 포함한다.
여기서, 하나의 운영체제(421)와, 운영체제에 의해 프로세스로 관리되는 어플리케이션(422)을 포함하여 하나의 작업 환경(420)을 구성할 수 있다.
운영체제(Operating System: O/S, 421)는 하드웨어(410)의 전반적인 동작을 제어하고 하드웨어(410) 및 각 어플리케이션에 대응되는 프로세스를 관리하는 기능을 수행한다. 즉, O/S(421)는 하드웨어 관리와 메모리, 보안 등의 기본적인 기능을 담당하는 계층이다. O/S(421)는 어플리케이션의 호출을 처리하며, 처리결과에 따라 하드웨어(410)를 동작시킨다.
O/S (421)의 상부 계층에는 관리 장치(100)에서 입력된 작업을 다양한 작업을 수행하는 어플리케이션(422) 계층이 존재한다. 각 어플리케이션(422)은 사용자 인터페이스를 제공하며, 관리 장치(100)로부터 명령을 수신하여 O/S(420)의 자원을 요청한다. O/S(420)는 시스템 콜을 처리하며, 여러 어플리케이션의 작업을 관리할 수 있다.
이상에서는 단일 작업 환경이 구동중인 서버 노드에 대한 소프트웨어 구성을 설명하였다. 이하에서는 복수의 작업 환경에서의 소프트웨어 구성을 설명하도록 한다.
도 5는 본 발명의 일 실시 예에 따른 복수의 작업 환경이 구동중인 서버 노드의 소프트웨어 구성을 설명하기 위한 도면이다.
본 발명의 일 실시 예에 따르면, 하나의 서버 노드에 복수의 작업 환경이 구동되기 위해서는 가상화 머신을 사용하여, 가상 환경으로 추가되는 작업 환경이 구동할 수 있다. 여기서, 가상 환경이란 가상화 머신을 바탕으로 구동되는 작업 환경을 의미한다.
도 5를 참고하면, 하나의 서버 노드에 제1 작업 환경(420)이 구동중에 있다.
여기서, 제2 작업 환경(430)을 추가로 구동시키기 위해서 가상화 머신(Virtual Machine, VM, 431)이용 할 수 있다. 구체적으로 제1 작업 환경(420)의 O/S(420)는 가상화 기술의 하이퍼바이저(Hypervisor)의 기능을 수행할 수 있다. 가상화 기술의 하이퍼바이저란, 다수의 운영체제를 동시에 실행하기 위한 논리적인 플랫폼으로, 가상화 머신 모니터(Vitual Machine monitor, VMM)라고도 부르기도 한다.
관리 서버(100)는 제2 작업 환경(430)이 추가로 구동하기 위하여, VM 인스턴스 이미지 파일을 서버 노드에 전송하여 제1 작업 환경(420)의 O/S(421)상에서 VM(431)를 설치할 수 있다. 그리고, 설치된 VM(431)를 기반으로 제2 작업 환경(430)의 O/S(432)와 어플리케이션(433)의 실행될 수 있다. 여기서 제1 작업 환경(420)의 O/S(421)는 제2 작업 환경(430)의 하이퍼바이저의 기능을 수행할 수 있다.
상술한 방식으로, 단일 서버 노드에 복수의 작업 환경을 구동할 수 있게 된다.
도 6 내지 도 7은 본 발명의 일 실시 예에 따른 복수의 서버 노드(300-1, 300-2 ~ 300-n)를 포함하는 마이크로 서버(200)를 설명하기 위한 도면이다.
본 발명의 일 실시 예에 따른 복수의 서버 노드(300-1, 300-2 ~ 300-n)는 마이크로 서버(200)의 서로 다른 타입의 복수의 프로세서 모듈로 구현될 수 있다.
그리고, 본 발명의 일 실시 예에 따른 마이크로 서버(200)는 공통 인터페이스 버스를 통해 컨트롤러와 서로 다른 타입의 복수의 프로세서 모듈을 연결할 수 있다.
구체적으로, 상술 한 바와 같이 마이크로 서버(200)는 하나 이상의 CPU(Central Processing Unit), 기억장치 등 서버의 핵심 요소를 내장하고 있는 서버 노드(또는 프로세서 모듈)가 복수개 장착되며, 전원, 입출력, 부수 장치 등을 서버 노드에 지원하는 병렬 처리 서버를 의미한다.
도 6을 참고하면, 본 발명의 일 실시 예에 따른 관리 장치(100)는 마이크로 서버의 관리 서버로 구현될 수 있으며, 관리 장치(100)는 복수의 서버 노드(300-1, 300-2 ~ 300-n)을 포함하는 마이크로 서버(200)를 모니터링, 제어하는 기능을 수행할 수 있다.
구체적으로, 관리 장치(100)는 마이크로 서버(200)의 메인 콘트롤러(220)와 통신을 수행하여 마이크로 서버(200)에서 지원하는 각종 기능을 사용자가 설정 또는 선택할 수 있게 하며, 마이크로 서버(200)에서 제공되는 각종 정보를 표시할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 마이크로 서버(200)의 구체적인 구성을 설명한다.
도 7에서는 설명의 편의를 위하여, 관리 장치(100)를 Admin Server로 가정하며, 복수의 서버 노드(300-1,300-2 ~ 300-n)는 복수의 프로세서 모듈인 것으로 설명하도록 한다.
본 발명의 일 실시 예에 따른 마이크로 서버(200)는 I/O(Input/Output) 디바이스부(210), 메인 컨트롤러(220), 공통 인터페이스 버스(230), 스위치부(240) 및 복수의 서버 노드(또는 프로세서 모듈)(300)을 포함한다.
I/O 디바이스부(210)는 적어도 하나의 I/O 카드를 포함하고, 마이크로 서버(200) 외부와 데이터를 송수신한다. 여기서 I/O 카드는 Ethernet Card(210-1), Fiber Channel Card(210-2) 등으로 구현될 수 있다.
메인 컨트롤러(220)는 마이크로 서버(200)의 각 구성을 제어한다.
구체적으로, I/O 디바이스부(210)를 통하여 전송된 데이터를 공통 인터페이스 버스(230)를 이용하여 각각의 프로세서 모듈(300)에 전송할 수 있도록 스위치부(240)를 제어할 수 있다. 또한, 관리 장치(100)로부터 전송된 제어 명령 또는 데이터를 공통 인터페이스 버스(230)를 이용하여 각각의 프로세서 모듈(300)에 전송할 수 있도록 제어할 수 있다.
공통 인터페이스 버스(230)는 마이크로 서버(200)의 각 구성을 연결하는 접속 장치이다. 마이크로 서버(200)의 각 구성이 병렬로 접속되어 메인 컨트롤러(220)의 제어에 따라 쌍방향통신 혹은 반이중 통신을 수행할 수 있다. 구체적으로, 공통 인터페이스 버스(230)는 제어 명령 신호를 연결하는 인터페이스 버스(230-1)와 데이터 신호를 연결하는 인터페이스 버스(230-2)를 포함할 수 있다.
한편, 공통 인터페이스 버스(230)는 i2c 인터페이스 및 PCI Express 인터페이스 중 적어도 하나를 지원할 수 있다. 본 발명의 일 실시 예에 따르면, 제어 명령 신호를 연결하는 인터페이스 버스(230-1)는 i2c 인터페이스 버스를, 데이터 신호를 연결하는 인터페이스 버스(230-2)는 PCI Express 인터페이스 버스로 구현될 수 있다.
스위치부(240)는 I/O 디바이스부(210)와 복수의 프로세서 모듈(300)을 선택적으로 연결할 수 있다. 구체적으로, 스위치부(240)는 메인 컨트롤러(220)의 제어에 따라 I/O 디바이스부(210)로부터 수신된 데이터를 복수의 프로세서 모듈(300) 중 어느 하나를 선택하여 연결함으로써 데이터를 전송할 있게 한다.
한편, 스위치부(240)는 PCI Express 스위치 회로(또는 MRA PCIe switch)로 구성될 수 있으며, 복수의 프로세서 모듈(300)과 적어도 하나의 I/O 카드의 연결관계를 선택적으로 조정할 수 있다.
한편, 본 발명의 마이크로 서버(200)는 공통 인터페이스 버스(230)를 통하여 서로 다른 타입의 서버 노드(또는 프로세서 모듈)를 지원한다. 1대의 마이크로 서버(200)에 서로 다른 타입의 서버 노드를 장착하여, 서버의 용도에 따른 활용도를 향상시킬 수 있다.
일 예로, 고성능의 마이크로 서버(200)가 필요한 경우, 고성능의 CPU를 탑제한 프로세서 모듈(300)를 더 많이 장착할 수 있고, 저전력의 마이크로 서버(200)가 필요한 경우, 저전력의 CPU를 탑제한 프로세서 모듈(300)를 더 많이 장착하여 서버의 용도에 따른 활용도를 극대화시킬 수 있다.
도 8은 본 발명의 일 실시 예에 따른 작업 환경에 대응되는 아이콘 및 UI 화면을 설명하기 위한 도면이다.
도 8을 참고하면, 본 발명의 서버 노드에서 운영체제가 구동되면, 사용자 인터페이스부(120)의 디스플레이(800)에 작업 환경에 대응되는 아이콘(811, 812, 813)이 표시할 수 있다.
아이콘(811, 812, 813)을 선택하면, 각 작업 환경에 대응되는 UI(User Interface) 화면(821, 822, 823)이 제공될 수 있다. 작업 환경의 UI 화면(821, 822, 823)을 통하여 각 작업 환경의 출력을 표시할 수 있으며, 또한, 사용자는 UI 화면을 통하여 구동중인 작업 환경에 제어 명령을 입력할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 생성하고자 하는 작업 환경 정보를 입력받는 메뉴를 설명하는 도면이다.
도 9를 참고하면, 작업을 수행할 작업 환경 정보를 받기 위한 작업 환경 생성 명세서(900)를 도시하고 있다.
작업 환경 생성 명세서(900)에는 작업 환경을 구동하고 하는 서버 노드의 기기 정보와 사용하고자 하는 운영체제를 선택할 수 있다. 구체적으로, 서버 노드의 CPU TYPE, CPU CORE, MEMORY, NETWORK, DISK의 상세 스펙과 사용하고자하는 운영체제의 종류를 선택할 수 있다.
작업 환경 생성 명세서(900)는 사용자 인터페이스부(120)의 디스플레이를 통하여 표시되어 사용자로부터 선택을 받을 수 있다.
도 10은 본 발명의 일 실시 예에 따른 서버 노드 관리 방법을 설명하기 위한 흐름도이다.
도 10을 참고하면, 복수의 서버 노드(300-1, 300-2 ~ 300-n)와 연결가능하고, 복수의 서버 노드 각각의 기기 정보 및 복수의 운영체제 데이터를 저장하는 관리 장치(100)는 작업을 수행할 작업 환경 정보를 입력받는 경우(S1010), 선택받은 작업 환경 정보에 기초하여, 복수의 서버 노드 중 작업을 수행할 서버 노드 및 복수의 운영체제 프로그램 중 작업을 수행할 운영체제 프로그램을 선택한다(S1020).
여기서, 작업을 수행할 서버 노드 및 복수의 운영체제 프로그램 중 작업을 수행할 운영체제 프로그램을 선택하는 단계(S1020)는, 선택받은 작업 환경 정보에 대응되는 서버 노드가 복수개 검색되면, 검색된 복수의 서버 노드 각각의 구동 상태에 따라 작업을 수행할 서버 노드 및 운영체제 프로그램을 선택할 수 있다.
한편, 작업을 수행할 작업 환경 정보를 선택받는 단계(S1010) 이후에, 복수의 서버 노드에서 선택된 작업 환경 정보에 대응되는 서버 노드가 없는 경우, 대응되는 서버 노드가 없다는 메세지를 표시할 수 있다.
한편, 관리 장치(100)는 기 설정된 시간마다 복수의 서버 노드 각각에 기기 정보를 요청하여 전송받고, 전송받은 복수의 서버 노드 각각의 기기 정보를 업데이트하여 저장할 수 있다.
그리고, 관리 장치(100)는 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송한다(S1030).
여기서, 운영체제 프로그램은 운영체제 설치 파일, 백업된 운영체제 이미지 파일 및 VM(VIRTUAL MACHINE) 인스턴스 이미지 파일 중 적어도 하나를 포함할 수 있다.
그리고, 전송된 운영체제 프로그램이 설치되어 상기 서버 노드가 구동될 수 있다(S1040).
한편, 관리 장치(100)는 선택된 서버 노드에 구동중인 다른 작업 환경이 있는 경우, 선택된 서버 노드에 복수의 작업 환경을 사용할 수 있게 VM 인스턴스 이미지 파일을 전송할 수 있으며, VM 인스턴스 이미지 파일 이용하여 다른 작업 환경상에서 선택받은 작업 환경이 가상 환경으로 구동될 수 있게 할 수 있다.
이후, 선택된 서버 노드에서 운영체제 프로그램이 구동되면, 관리 장치(100)는 작업 환경에 대응되는 아이콘을 표시할 수 있으며, 또한 작업환경에 대응되는 UI(User Interface) 화면을 제공하여, 작업 환경을 제어할 수 있게 한다.
한편, 복수의 서버 노드의 기기 정보는, CPU 정보, 메모리 정보, 네트워크 정보 및 사용가능한 운영체제 프로그램 정보 중 적어도 하나를 포함할 수 있다.
또한, 복수의 서버 노드는 적어도 2 이상의 타입의 서버 노드로 구성될 수 있다.
한편, 도 10과 같은 서버 노드 관리 방법은, 도 1의 구성을 가지는 관리 장치(100)에서 실시될 수 있으며, 그 밖의 구성을 가지는 관리 장치에서도 실행될 수 있다.
상술한 바와 같은 본 발명의 일 실시 예에 따른 서버 노드 관리 방법은 관리 장치(100)에 연결되어 있는 복수의 서버 노드(300-1, 300-2 ~ 300-n)의 기기 정보를 사용자가 일일이 고려할 필요 없이, 수행하는 작업 환경 정보에 따라 적절한 서버 노드를 선택하여 운영체제를 설치함으로써 작업 환경을 제공할 수 있게 된다.
도 11은 본 발명의 일 실시 예에 따른 서버 노드를 선택하는 동작을 구체적으로 설명하기 위한 흐름도이다. 구체적으로, 도 10의 S1020단계의 서버 노드를 선택하는 동작을 구체적으로 설명한다.
도 11을 참고하면, 저장부에서 서버 노드의 기기 정보 list를 가져와서(S1110), 사용자가 입력한 작업 환경 생성 명세서에 대응되는 서버 노드가 있는지 검색할 수 있다(S1120).
검색 결과, 대응되는 서버 노드가 있는 경우(S1120:YES), 검색된 서버 노드의 list를 구동중인 O/S(또는 작업 환경)의 개수에 따라 오름차순으로 정렬하여(S1130), 정렬된 list에서 순차적으로 선택할 수 있다(S1140). 즉, 구동중인 O/S의 개수가 적은 서버 노드가 선택된다.
한편, 검색 결과, 대응되는 서버 노드가 없는 경우(S1120:NO), 대응되는 서버 노드가 없다는 메세지를 표시할 수 있다(S1150).
한편, 도 11과 같은 서버 노드를 선택하는 동작은, 도 1의 구성을 가지는 관리 장치(100)에서 실시될 수 있으며, 그 밖의 구성을 가지는 관리 장치에서도 실행될 수 있다.
도 12는 본 발명의 일 실시 예에 따른 서버 노드를 검출하는 동작을 구체적으로 설명하기 위한 흐름도이다.
도 12를 참고하면, 관리 장치(100)는 기 설정된 시간마다 복수의 서버 노드(300)의 맥 어드레스를 검출할 수 있다(S1210).
여기서, 맥 어드레스 검출은 NMAP(Network MAPer), DHCP(Dynamic Host Configuration Protocol) 서버 등을 이용하여 수행할 수 있다.
새로운 맥 어드레스가 검출되면(S1220:YES), 관리 장치(100)는 새로운 맥 어드레스에 대응되는 서버 노드에 부트 프로세서 프로그램을 전송하여 서버 노드의 기기 정보를 제공받을 수 있다(S1230).
여기서, 부트 프로세서 프로그램이란, 신규 추가된 서버 노드를 부팅시켜 기기 정보를 관리 장치(100)에 전송하는 프로그램으로, 서버 노드의 메모리에 로드되어 작동될 수 있다. 일 예로, 부트 프로세서 프로그램은 PXE(Pre-boot eXecution Environment) 부팅 방법을 이용하여 구동될 수 있다.
그리고, 관리 장치(100)는 제공받은 서버 노드의 기기 정보를 저장부에 추가할 수 있다(S1240).
한편, 새로운 맥 어드레스가 검출되지 않고(S1220:NO), 저장부에 저장된 서버 노드의 맥 어드레스가 기정의된 시간동안 검출되지 않는 경우(S1250), 관리 장치(100)는 서버 노드의 기기 정보를 저장부에서 삭제할 수 있다(S1260).
이와 같이 관리 장치(100)는 서버 노드의 맥 어드레스를 검출하여 서버 노드의 장착 및 탈착을 판단하여, 저장부에 저장된 서버 노드의 기기 정보를 업데이트를 할 수 있다.
한편, 도 12과 같은 서버 노드를 검출하는 동작은, 도 1의 구성을 가지는 관리 장치(100)에서 실시될 수 있으며, 그 밖의 구성을 가지는 관리 장치에서도 실행될 수 있다.도 13은 본 발명의 일 실시 예에 따른 백업 동작을 구체적으로 설명하기 위한 흐름도이다.
도 13을 참고하면, 관리 장치(100)는 사용자로부터 백업을 수행할 서버 노드를 선택 받으면(S1310), 선택받은 서버 노드에 백업 파일을 저장할 기정의된 저장매체를 연결하는 네트워크 마운트 작업 수행할 수 있다(S1320).
여기서, 백업 파일을 저장할 기정의된 저장매체는 관리 장치(100)의 저장부, 관리 장치(100)에 연결된 외부 기억장치, 복수의 서버 노드 중 어느 하나의 서버 노드의 저장부로 구현 될 수 있다.
한편, 네트워크 마운트 작업은 NBD(Network Block Device), iSCSI, AoE(ATA over Ethernet) 등 다양한 방법을 통하여 수행될 수 있다.
그리고, 관리 장치(100)는 선택받은 서버 노드에 백업 프로그램을 전송할 수 있다(S1330).
그리고, 관리 장치(100)는 백업 프로그램을 수행하여 선택받은 서버 노드에서 구동중인 운영체제 프로그램 및 어플리케이션 프로그램을 백업할 수 있다(S1340). 구체적으로, 관리 장치(100)는 백업 프로그램을 구동시켜 운영체제 프로그램 및 어플리케이션 프로그램을 압축하여 백업 파일을 생성할 수 있다.
그리고, 관리 장치(100)는 백업 파일을 기정의된 저장매체에 저장할 수 있다(S1350).
이후, 관리 장치(100)는 백업 작업이 완료되면 네트워크 마운트를 해제하고, 백업 파일이 저장된 저장공간 정보를 저장부에 저장할 수 있다. 한편, 관리 장치(100)는 저장공간 정보와 함께, 백업된 운영체제 및 사용자 정보를 저장부에 저장할 수 있다.
도 14는 본 발명의 일 실시 예에 따른 백업 복구 동작을 구체적으로 설명하기 위한 흐름도이다.
도 14를 참고하면, 관리 장치(100)는 백업 복구를 수행할 서버 노드를 선택받으면(S1410), 선택받은 서버 노드에 운영체제 프로그램 및 어플리케이션 프로그램이 백업된 파일을 전송할 수 있다(S1420).
그리고, 관리 장치(100)는 서버 노드에서 백업 파일을 복구할 수 있다(S1430).
구체적으로, 백업 복구 방법은 백업된 파일을 백업 복구를 수행할 서버 노드에 전송하고, 압축을 해제하는 방식으로 수행될 수 있다.
상술한 바와 같이 관리 장치(100)는 백업 기능 및 백업 복구 기능을 지원하여, 사용자의 실수나 서버 노드상의 오류, 바이러스 감염 등의 문제로 데이터의 손실 혹은 삭제되는 것에 대비할 수 있게 한다.
한편, 도 13 및 도 14와 같은 백업 및 백업 복구 동작은, 도 1의 구성을 가지는 관리 장치(100)에서 실시될 수 있으며, 그 밖의 구성을 가지는 관리 장치에서도 실행될 수 있다.
한편, 이러한 다양한 실시 예에 따른 방법들은 프로그래밍되어 각종 저장 매체에 저장될 수 있다. 이에 따라, 저장 매체를 실행하는 다양한 유형의 관리 장치(100)에서 상술한 다양한 실시 예에 따른 방법들이 구현될 수 있다.
또한, 상술한 바와 같은 서버 노드 관리 방법은 관리 장치(100)에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비 일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어 져서는 안 될 것이다.
100 : 관리 장치 110 : 저장부
120 : 사용자 인터페이스부 130 : 제어부
140 : 통신 인터페이스부 200 : 마이크로 서버
300 : 서버 노드

Claims (32)

  1. 복수의 서버 노드와 연결가능한 관리 장치에 있어서,
    사용자의 작업환경 정보를 입력받는 사용자 인터페이스부;
    상기 복수의 서버 노드 각각의 기기 정보, 복수의 운영체제 프로그램 및 상기 입력받은 작업 환경 정보를 저장하는 저장부;
    상기 입력받은 작업 환경 정보에 기초하여, 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 선택하는 제어부; 및
    상기 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송하여, 상기 서버 노드가 상기 선택된 운영체제 프로그램에 의하여 구동되도록 하는 통신 인터페이스부;를 포함하는 관리 장치.
  2. 제1항에 있어서,
    복수의 서버 노드는,
    적어도 2 이상의 타입의 서버 노드로 구성되는 것을 특징으로 하는 관리 장치.
  3. 제2항에 있어서,
    상기 복수의 서버 노드는,
    마이크로 서버의 서로 다른 타입의 복수의 프로세서 모듈로 구현되며,
    상기 마이크로 서버는 공통 인터페이스 버스를 통해 컨트롤러와 상기 서로 다른 타입의 복수의 프로세서 모듈을 연결하는 것을 특징으로 하는 관리 장치.
  4. 제1항에 있어서,
    상기 제어부는,
    상기 복수의 서버 노드 각각의 기기 정보를 기반으로 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 자동으로 선택하는 것을 특징으로 하는 관리 장치.
  5. 제1항에 있어서,
    상기 기기 정보는,
    맥 어드레스(MAC address) 정보, CPU 정보, 메모리 정보, 네트워크 정보 및 사용가능한 운영체제 프로그램 정보 중 적어도 하나를 포함하는 것을 특징으로 하는 관리 장치.
  6. 제1항에 있어서,
    상기 통신 인터페이스부는,
    기 설정된 시간마다 상기 복수의 서버 노드의 맥 어드레스를 검출하는 것을 특징으로 하는 관리 장치.
  7. 제6항에 있어서,
    상기 통신 인터페이스부는,
    새로운 맥 어드레스가 검출되는 경우, 상기 새로운 맥 어드레스에 대응되는 서버 노드에 부트 프로세서 프로그램을 전송하여 상기 서버 노드의 기기 정보를 제공받아 상기 저장부에 추가하는 것을 특징으로 하는 관리 장치.
  8. 제6항에 있어서,
    상기 통신 인터페이스부는,
    상기 저장부에 저장된 서버 노드의 맥 어드레스가 기정의된 시간동안 검출되지 않는 경우, 상기 서버 노드의 기기 정보를 상기 저장부에서 삭제하는 것을 특징으로 하는 관리 장치.
  9. 제1항에 있어서,
    상기 제어부는,
    상기 복수의 서버 노드에서 상기 선택된 작업 환경 정보에 대응되는 서버 노드가 없는 경우, 대응되는 서버 노드가 없다는 메세지를 표시하도록 사용자 인터페이스부를 제어하는 것을 특징으로 하는 관리 장치.
  10. 제1항에 있어서,
    상기 운영체제 프로그램은,
    운영체제 설치 파일, 백업된 운영체제 이미지 파일 및 VM(VIRTUAL MACHINE) 인스턴스 이미지 파일 중 적어도 하나를 포함하는 것을 특징으로 하는 관리 장치.
  11. 제1항에 있어서,
    상기 제어부는,
    상기 선택된 서버 노드에 구동중인 다른 작업 환경이 있는 경우, 상기 다른 작업 환경상에서 상기 선택받은 작업 환경이 가상 환경으로 구동되도록 상기 선택된 서버 노드를 제어하는 것을 특징으로 하는 관리 장치.
  12. 제1항에 있어서,
    상기 제어부는,
    상기 선택받은 작업 환경 정보에 대응되는 서버 노드가 복수개 검색되면, 상기 검색된 복수의 서버 노드 각각의 구동 상태에 따라 상기 작업을 수행할 서버 노드를 선택하는 것을 특징으로 하는 관리 장치.
  13. 제1항에 있어서,
    상기 제어부는,
    상기 선택된 관리 서버에서 운영체제 프로그램이 구동되면, 상기 작업 환경에 대응되는 아이콘이 표시되도록 상기 사용자 인터페이스부를 제어하는 것을 특징으로 하는 관리 장치.
  14. 제13항에 있어서,
    상기 제어부는,
    상기 작업 환경에 대응하는 UI(User Interface) 화면을 제공하여, 상기 작업 환경을 제어하는 것을 특징으로 하는 관리 장치.
  15. 제1항에 있어서,
    상기 사용자 인터페이스부는,
    백업을 수행할 서버 노드를 선택받고,
    상기 제어부는,
    상기 선택받은 서버 노드에 백업 프로그램을 전송하여 구동중인 운영체제 프로그램 및 어플리케이션 프로그램을 백업하는 것을 특징으로 하는 관리 장치.
  16. 제15항에 있어서,
    상기 사용자 인터페이스부는,
    백업 복구를 수행할 서버 노드를 선택받고,
    상기 제어부는,
    상기 선택받은 서버 노드에 상기 백업된 운영체제 프로그램 및 어플리케이션 프로그램을 전송하여 백업 복구하는 것을 특징으로 하는 관리 장치.
  17. 복수의 서버 노드와 연결가능하고, 상기 복수의 서버 노드 각각의 기기 정보 및 복수의 운영체제 데이터를 저장하는 관리 장치의 서버 노드 관리 방법에 있어서,
    작업 환경 정보를 입력받는 단계;
    상기 입력받은 작업 환경 정보에 기초하여, 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 선택하는 단계;
    상기 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송하는 단계; 및
    상기 전송된 운영체제 프로그램에 의하여 상기 서버 노드가 구동되는 단계;를 포함하는 서버 노드 관리 방법.
  18. 제17항에 있어서,
    복수의 서버 노드는,
    적어도 2 이상의 타입의 서버 노드로 구성되는 것을 특징으로 하는 서버 노드 관리 방법.
  19. 제18항에 있어서,
    상기 복수의 서버 노드는,
    마이크로 서버의 서로 다른 타입의 복수의 프로세서 모듈로 구현되며,
    상기 마이크로 서버는 공통 인터페이스 버스를 통해 컨트롤러와 상기 서로 다른 타입의 복수의 프로세서 모듈을 연결하는 것을 특징으로 하는 서버 노드 관리 방법.
  20. 제17항에 있어서,
    상기 선택하는 단계는,
    상기 복수의 서버 노드 각각의 기기 정보를 기반으로 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 자동으로 선택하는 것을 특징으로 하는 서버 노드 관리 방법.
  21. 제17항에 있어서,
    상기 기기 정보는,
    맥 어드레스(MAC address) 정보, CPU 정보, 메모리 정보, 네트워크 정보 및 사용 가능한 운영체제 프로그램 정보 중 적어도 하나를 포함하는 서버 노드 관리 방법.
  22. 제17항에 있어서,
    기 설정된 시간마다 상기 복수의 서버 노드의 맥 어드레스를 검출하는 단계;를 더 포함하는 것을 특징으로 하는 서버 노드 관리 방법.
  23. 제22항에 있어서,
    상기 맥 어드레스를 검출하는 단계 이후에,
    새로운 맥 어드레스가 검출되는 경우, 상기 새로운 맥 어드레스에 대응되는 서버 노드에 부트 프로세서 프로그램을 전송하여 상기 서버 노드의 기기 정보를 제공받아 상기 저장부에 추가하는 단계;를 더 포함하는 것을 특징으로 하는 서버 노드 관리 방법.
  24. 제22항에 있어서,
    상기 맥 어드레스를 검출하는 단계 이후에,
    상기 저장부에 저장된 서버 노드의 맥 어드레스가 기정의된 시간동안 검출되지 않는 경우, 상기 서버 노드의 기기 정보를 상기 저장부에서 삭제하는 단계;를 더 포함하는 것을 특징으로 하는 서버 노드 관리 방법.
  25. 제17항에 있어서,
    상기 작업 환경 정보를 입력받는 단계 이후에,
    상기 복수의 서버 노드에서 상기 선택된 작업 환경 정보에 대응되는 서버 노드가 없는 경우, 대응되는 서버 노드가 없다는 메세지를 표시하는 단계;를 더 포함하는 것을 특징으로 하는 서버 노드 관리 방법.
  26. 제17항에 있어서,
    상기 운영체제 프로그램은,
    운영체제 설치 파일, 백업된 운영체제 이미지 파일 및 VM(VIRTUAL MACHINE) 인스턴스 이미지 파일 중 적어도 하나를 포함하는 것을 특징으로 하는 서버 노드 관리 방법.
  27. 제26항에 있어서,
    상기 선택된 서버 노드에 구동중인 다른 작업 환경이 있는 경우,
    상기 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송하는 단계는, 상기 선택된 서버 노드에 복수의 작업 환경을 사용할 수 있게 상기 VM 인스턴스 이미지 파일을 전송하고,
    상기 서버 노드가 구동되는 단계는, 상기 VM 인스턴스 이미지 파일 이용하여 상기 다른 작업 환경상에서 상기 선택받은 작업 환경이 가상 환경으로 구동되는 것을 특징으로 하는 서버 노드 관리 방법.
  28. 제17항에 있어서,
    상기 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 선택하는 단계는,
    상기 선택받은 작업 환경 정보에 대응되는 서버 노드가 복수개 검색되면, 상기 검색된 복수의 서버 노드 각각의 구동 상태에 따라 상기 작업을 수행할 서버 노드 및 운영체제 프로그램을 선택하는 것을 특징으로 하는 서버 노드 관리 방법.
  29. 제17항에 있어서,
    상기 선택된 서버 노드에서 운영체제 프로그램이 구동되면, 상기 작업 환경에 대응되는 아이콘을 표시하는 단계; 및
    상기 작업환경에 대응되는 UI(User Interface) 화면을 제공하여, 상기 작업 환경을 제어하는 단계;를 더 포함하는 것을 특징으로 하는 서버 노드 관리 방법.
  30. 제17항에 있어서,
    백업을 수행할 서버 노드를 선택받는 단계;
    상기 선택받은 서버 노드에 백업 프로그램을 전송하는 단계; 및
    상기 백업 프로그램을 수행하여 상기 선택받은 서버 노드에서 구동중인 운영체제 프로그램 및 어플리케이션 프로그램을 백업하는 단계;를 더 포함하는 것을 특징으로 하는 서버 노드 관리 방법.
  31. 제30항에 있어서,
    백업 복구를 수행할 서버 노드를 선택받는 단계; 및
    상기 선택받은 서버 노드에 상기 백업된 운영체제 프로그램 및 어플리케이션 프로그램을 전송하여 백업 복구하는 단계;를 더 포함하는 것을 특징으로 서버 노드 관리 방법.
  32. 복수의 서버 노드와 연결가능하고, 상기 복수의 서버 노드 각각의 기기 정보 및 복수의 운영체제 데이터를 저장하는 관리 장치의 서버 노드 관리 방법을 실행하는 비일시적 판독가능 기록매체에 있어서,
    상기 서버 노드 관리 방법은,
    작업 환경 정보를 입력받는 단계;
    상기 입력받은 작업 환경 정보를 저장하는 단계;
    상기 입력받은 작업 환경 정보에 기초하여, 상기 복수의 서버 노드 중 작업을 수행할 서버 노드 및 상기 복수의 운영체제 프로그램 중 상기 작업을 수행할 운영체제 프로그램을 선택하는 단계;
    상기 선택된 서버 노드에 상기 선택된 운영체제 프로그램을 전송하는 단계; 및
    상기 전송된 운영체제 프로그램에 의하여 상기 서버 노드가 구동되는 단계;를 포함하는 비일시적 판독가능 기록매체.
KR1020130021544A 2013-02-27 2013-02-27 관리 장치 및 서버 노드 관리 방법 KR20140107042A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020130021544A KR20140107042A (ko) 2013-02-27 2013-02-27 관리 장치 및 서버 노드 관리 방법
EP14152929.7A EP2772858A3 (en) 2013-02-27 2014-01-28 Management apparatus and method of managing server node
US14/174,190 US20140244822A1 (en) 2013-02-27 2014-02-06 Management apparatus and method of managing server node
CN201410059864.0A CN104010022A (zh) 2013-02-27 2014-02-21 管理服务器节点的管理装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130021544A KR20140107042A (ko) 2013-02-27 2013-02-27 관리 장치 및 서버 노드 관리 방법

Publications (1)

Publication Number Publication Date
KR20140107042A true KR20140107042A (ko) 2014-09-04

Family

ID=50028832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130021544A KR20140107042A (ko) 2013-02-27 2013-02-27 관리 장치 및 서버 노드 관리 방법

Country Status (4)

Country Link
US (1) US20140244822A1 (ko)
EP (1) EP2772858A3 (ko)
KR (1) KR20140107042A (ko)
CN (1) CN104010022A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160046218A (ko) * 2014-10-20 2016-04-28 건국대학교 산학협력단 분산 플랫폼의 자동 구축 방법
KR20210054480A (ko) * 2019-11-05 2021-05-13 주식회사 테라텍 대규모 클라우드 데이터 센터 자율 운영을 위한 백업 복구 방법
KR20210063762A (ko) * 2019-11-25 2021-06-02 숭실대학교산학협력단 이기종 뉴로모픽 아키텍처를 지원하기 위한 추상화 구조 설계 방법, 이를 수행하기 위한 기록 매체 및 호스트 장치

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9537949B2 (en) * 2013-09-24 2017-01-03 Clearcube Technology, Inc. Computer system image clustering architecture and use
US10387262B1 (en) * 2014-06-27 2019-08-20 EMC IP Holding Company LLC Federated restore of single instance databases and availability group database replicas
CN104601377A (zh) * 2015-01-13 2015-05-06 北京中交兴路车联网科技有限公司 基于多节点多web服务器的管理装置
CN106549789B (zh) * 2015-09-21 2020-08-07 南京中兴新软件有限责任公司 一种实现服务器安装的方法及系统
CN110908855A (zh) * 2018-09-18 2020-03-24 深圳市鸿合创新信息技术有限责任公司 一种微服务运行维护装置及方法、电子设备
US11381523B2 (en) * 2020-04-15 2022-07-05 Bae Systems Information And Electronic Systems Integration Inc. Automated installation location detection for ethernet-based devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
US8875125B2 (en) * 2009-01-27 2014-10-28 Dell Products L.P. Operation system installation methods and media
KR101253560B1 (ko) * 2009-11-05 2013-04-11 한국전자통신연구원 가상화 솔루션의 관리 시스템, 관리 서버, 및 그 방법
US8984109B2 (en) * 2010-11-02 2015-03-17 International Business Machines Corporation Ensemble having one or more computing systems and a controller thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160046218A (ko) * 2014-10-20 2016-04-28 건국대학교 산학협력단 분산 플랫폼의 자동 구축 방법
KR20210054480A (ko) * 2019-11-05 2021-05-13 주식회사 테라텍 대규모 클라우드 데이터 센터 자율 운영을 위한 백업 복구 방법
KR20210063762A (ko) * 2019-11-25 2021-06-02 숭실대학교산학협력단 이기종 뉴로모픽 아키텍처를 지원하기 위한 추상화 구조 설계 방법, 이를 수행하기 위한 기록 매체 및 호스트 장치

Also Published As

Publication number Publication date
EP2772858A2 (en) 2014-09-03
US20140244822A1 (en) 2014-08-28
CN104010022A (zh) 2014-08-27
EP2772858A3 (en) 2015-02-18

Similar Documents

Publication Publication Date Title
EP2772858A2 (en) Management apparatus and method of managing server node
US8484431B1 (en) Method and apparatus for synchronizing a physical machine with a virtual machine while the virtual machine is operational
US10331525B2 (en) Cluster file server proxy server for backup and recovery
AU2013313167B2 (en) Techniques for recovering a virtual machine
EP3255527B1 (en) Remote keyboard-video-mouse technologies
US8533164B2 (en) Method and tool to overcome VIOS configuration validation and restoration failure due to DRC name mismatch
US9760447B2 (en) One-click backup in a cloud-based disaster recovery system
US8706859B2 (en) Method and apparatus of data center file system
US8086808B2 (en) Method and system for migration between physical and virtual systems
JP5826298B2 (ja) 仮想デスクトップインフラストラクチャにおいてチェックアウトした仮想マシンを保護する技術
US20160117163A1 (en) Applying update to snapshots of virtual machine
US20160179635A1 (en) System and method for performing efficient failover and virtual machine (vm) migration in virtual desktop infrastructure (vdi)
US8909912B2 (en) Apparatus and method for configuring a target machine with captured operational state comprising a static machine profile and a dynamic machine state to continue operations of a source machine
US9886284B2 (en) Identification of bootable devices
US9558076B2 (en) Methods and systems of cloud-based disaster recovery
US20200326956A1 (en) Computing nodes performing automatic remote boot operations
US20160210198A1 (en) One-click backup in a cloud-based disaster recovery system
US11194605B1 (en) Synchronizing settings associated with virtual computing environments
KR101576370B1 (ko) 컴퓨터 시스템의 원격 복원 시스템 및 그 방법, 그리고 기록한 컴퓨터로 읽어 들일 수 있는 기록매체
US11922159B2 (en) Systems and methods for cloning firmware updates from existing cluster for cluster expansion
Ahmed Mastering Proxmox: Build virtualized environments using the Proxmox VE hypervisor
KR101552580B1 (ko) 모바일 기기를 포함하는 시스템 복원 및 멀티 운영체제를 지원하는 백업 방법
CN114661420A (zh) 基于Kubernetes容器平台的应用保护方法、装置及系统
KR20070049237A (ko) 소프트웨어의 증분 프로비져닝

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid