KR20140058380A - 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법 - Google Patents

오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20140058380A
KR20140058380A KR1020130133719A KR20130133719A KR20140058380A KR 20140058380 A KR20140058380 A KR 20140058380A KR 1020130133719 A KR1020130133719 A KR 1020130133719A KR 20130133719 A KR20130133719 A KR 20130133719A KR 20140058380 A KR20140058380 A KR 20140058380A
Authority
KR
South Korea
Prior art keywords
storage drive
operating system
installation image
system installation
servers
Prior art date
Application number
KR1020130133719A
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 엘에스아이 코포레이션
Publication of KR20140058380A publication Critical patent/KR20140058380A/ko

Links

Images

Classifications

    • 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
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • G06F11/1484Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
    • 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/177Initialisation or configuration control
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • 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/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 개시물은 1차 저장 드라이브 및 2차 저장 드라이브 중 적어도 하나로부터 복수의 서버를 부팅하기 위한 시스템 및 방법에 관한 것이다. 오퍼레이팅 시스템 인스톨레이션 이미지는 1차 저장 드라이브에 저장된다. 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 수정을 포함하는 스냅샷은 2차 저장 드라이브의 복수의 파티션에 저장된다. 룩업 테이블은, 서버에게 1차 저장 드라이브로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 수정되지 않은 부분을 읽으라고 지시한다. 룩업 테이블은 또한 서버에게 2차 저장 드라이브로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분을 읽도록 지시한다.

Description

오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR BOOTING MULTIPLE SERVERS FROM SNAPSHOTS OF AN OPERATING SYSTEM INSTALLATION IMAGE}
본 발명은 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법에 관한 것이다.
몇몇 데이터 관리 시스템은, 오퍼레이팅 시스템 인스톨레이션 이미지(an operating installation image)에 대한 수정을 포함하는 스냅샷(snapshots)으로부터 또는 오퍼레이팅 시스템 인스톨레이션 이미지로부터 부팅하는 복수의 서버를 포함한다. 오퍼레이팅 시스템 인스톨레이션 이미지 및 스냅샷은 RAID 볼륨(RAID volume)과 같은 공유 드라이브의 파티션(partitions)에 저장되지만 이에 한정되지는 않는다. 시스템 성능은 공유 드라이브에 동시에 액세스하고자 시도하는 서버들 사이의 경쟁에 영향을 받는다.
공유 드라이브는 전형적으로, 이에 한정되지는 않지만, SATA 하드 디스크를 포함하는 하나 이상의 저장 디스크를 포함한다. 서버는 외부 디스크 트랙에서 약한 성능을 가지는 경향이 있는 디스크 시크 알고리즘(disk seek algorithms)에 의존한다. 읽기 룩 어헤드 버퍼(Read look ahead buffers) 및 다른 개선들은 공유 드라이버에 액세스하는 서버 포트들 사이의 레이턴시를 감소시킴으로써 시스템 성능을 향상시킬 수 있다. 그러나, 어떤 개선도 공유 드라이브의 하나 이상의 디스크에 액세스하기 위해 서버들 사이에서 계속되는 경쟁에 의해 제한된다.
본 개시물의 일 실시예는 복수의 서버를 부팅하기 위한 시스템이다. 시스템은, 오퍼레이팅 시스템 인스톨레이션 이미지를 저장하도록 구성된 1차 저장 드라이브를 포함한다. 시스템은 또한 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷을 저장하도록 구성된 복수의 파티션을 포함하는 2차 저장 드라이브를 포함한다. 각 스냅샷은 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 적어도 하나의 수정을 포함한다. 시스템은 또한 복수의 서버 중 적어도 하나의 서버와 통신하는 룩업 테이블을 포함한다. 룩업 테이블은 1차 저장 드라이브 또는 2차 저장 드라이브 중 적어도 하나에 저장된다. 룩업 테이블은 서버가 오퍼레이팅 시스템 인스톨레이션 이미지의 수정되지 않는 부분을 읽고 있는 경우 1차 저장 드라이브로부터 읽으라고 서버에게 지시하도록 구성된다. 룩업 테이블은 또한 서버가 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분을 읽고 있는 경우 2차 저장 드라이브로부터 읽으라고 서버에게 지시하도록 구성된다.
앞서 언급한 일반적인 설명 및 다음의 상세한 설명은 본 개시물에 반드시 제한적이지 않다는 것을 이해할 것이다. 본 명세서의 일부에 통합되고 또한 구성하는, 첨부된 도면은 본 개시물의 실시예들을 예시한다.
본 개시물의 실시예들은 첨부된 도면들을 참조함으로써 본 기술분야의 당업자들에 의해 잘 이해될 수 있다.
도 1은 본 개시물의 일 실시예에 따라, 복수의 서버를 부팅하기 위한 시스템을 도시하는 블록도이다.
도 2는 본 개시물의 일 실시예에 따라, 복수의 서버를 부팅하기 위한 방법을 도시하는 흐름도이다.
도 3은 본 개시물의 일 실시예에 따라, 복수의 서버를 부팅하는 방법을 도시하는 흐름도이다.
이제 참조는 첨부된 도면에 도시된 실시예들에 대하여 상세히 실시될 것이다.
도 1에서 도 3은 오퍼레이팅 시스템 인스톨레이션 이미지 및 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 수정을 포함하는 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법에 관한 실시예들을 도시한다. 도 1에 도시된, 일 실시예에서, 복수의 서버(110)를 부팅하기 위한 시스템(100)은, 1차 저장 드라이브(102) 및 2차 저장 드라이브(104)를 포함한다. 1차 저장 드라이브(102)는 오퍼레이팅 시스템 인스톨레이션 이미지를 저장하도록 구성된다. 일부 실시예들에서, 1차 저장 드라이브(102)에 저장된 오퍼레이팅 시스템 인스톨레이션 이미지는, 원본의 또는 수정되지 않는 인스톨레이션 이미지이다. 2차 저장 드라이브(104)는 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷을 저장하도록 구성된 복수의 파티션(106)으로 나뉜다. 제 2 저장 드바이브(104)의 파티션(106)에 저장된 각 스냅샷은 1차 저장 드라이브(102)에 저장된 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 적어도 하나의 수정을 포함한다. 일부 실시예들에서, 스냅샷은 1차 저장 드라이브(102)에 저장된 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 적어도 하나의 수정된 부분 및 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정되지 않은 부분을 포함하는 수정된 오퍼레이팅 시스템 인스톨레이션 이미지를 포함한다. 다른 실시예들에서, 스냅샷은, 오퍼레이팅 시스템 인스톨레이션 이미지의 남아 있는 수정되지 않은 부분을 포함할 필요 없이 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정된 부분을 포함함으로써 스냅샷이 더 적은 메모리에 저장되도록 한다.
시스템(100)은 또한 1차 저장 드라이브(102) 또는 2차 저장 드라이브(104) 중 적어도 하나에 저장된 룩업 테이블(108)을 포함한다. 룩업 테이블(108)은, 오퍼레이팅 시스템 인스톨레이션 이미지를 부팅할 때 서버(110)가 적어도 1차 저장 드라이브(102) 또는 2차 저장 드라이브(104)의 하나로부터 읽도록 지시한다. 룩업 테이블(108)은 2차 저장 드라이브(104)의 파티션(106)에 저장된 스냅샷 내 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분의 비트 매핑(a bit mapping)을 포함한다. 룩업 테이블(108)과 통신하는 서버(110)는, 1차 저장 드라이브(102)로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 수정되지 않은 부분을 읽도록 비트 매핑을 사용한다. 서버(110)는 또한 2차 저장 드라이브(104)의 파티션(106)에 저장된 스냅샷으로부터 오퍼레이팅 시스템 이미지의 수정된 부분을 읽도록 비트 매핑을 사용한다.
일 실시예에서, 1차 저장 드라이브(102)는 2차 저장 드라이브(104)보다 더 높은 성능 레벨(performance level)을 갖는다. 1차 저장 드라이브(102)는, 플래시 메모리, 솔리드-스테이트 디스크, 또는 다중-서버 액세스를 위해 구성된 다른 고성능 저장 디바이스를 포함하나 이로 한정되지는 않는다. 반면, 2차 저장 드라이브(104)는, 하나 이상의 하드 디스크 드라이브, RAID 볼륨, 또는 다중-서버 액세스를 위해 구성된 임의의 다른 경제적인 저장 디바이스를 포함하나 이로 한정되지는 않는다. 앞서 언급한 혼합 접근법(hybrid approach)은, 고성능의 1차 저장 드라이브(102)로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 수정되지 않은 부분을 부팅하도록 한다. 또한, 혼합 접근법은 경제적인 2차 저장 드라이브(104)의 파티션(102) 내 스냅샷으로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분을 부팅하도록 한다.
오퍼레이팅 시스템 인스톨레이션 이미지에 대한 수정은 일반적으로 대단치 않다(insubstantial). 따라서, 서버(110)는 저성능의 2차 저장 드라이브(104)보다는 고성능의 1차 저장 드라이브(102)로부터 더 자주 읽어 전체적으로 고성능이 가능하게 한다. 시스템(100)은 또한, 스냅샷이 저성능의 2차 저장 드라이브(104)에 저장되기 때문에 경제적 이점을 갖는다. 따라서, 고성능의 1차 저장 드라이브(102)는 저성능이지만 더 경제적인 2차 저장 드라이브(104)만큼 많은 메모리를 요구하지는 않는다. 일부 실시예들에서, 2차 저장 드라이브(104)는 1차 저장 드라이브(102)의 적어도 10배만큼의 메모리를 포함한다.
다른 실시예에서, 1차 저장 드라이브(102)는 또한 2차 저장 드라이브(104)의 파티션(106)에 저장된 스냅샷 내 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분의 비트 매핑을 포함하는 룩업 테이블(108)을 저장하도록 구성된다. 각 서버(110)는 오퍼레이팅 시스템을 부팅할 때 1차 저장 드라이브(102)를 통해 룩업 테이블(108)의 비트 매핑에 액세스하도록 구성된다. 1차 저장 드라이브(102)에 룩업 테이블(108)을 저장하는 것은, 서버(110)가 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분을 읽고 있는 경우, 서버(110)가 2차 저장 드라이브(104)에 액세스할 필요없이 1차 저장 드라이브(102)로부터 직접 부팅할 수 있도록 한다.
일 실시예에서, 룩업 테이블은 서버(110)에게 2차 저장 드라이브(104)의 파티션(106) 내 저장된 스냅샷으로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정된 부분을 그리고 1차 저장 드라이브에 저장된 오퍼레이팅 시스템 인스톨레이션 이미지로부터 적어도 하나의 수정되지 않은 부분을 부팅하라고 지시한다. 다른 실시예에서, 룩업 테이블(108)은 전적으로 2차 저장 드라이브(104)의 파티션(106)에 저장된 스냅샷으로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 버전을 부팅하라고 서버(110)에 지시하도록 구성된다.
다른 실시예에서, 시스템(100)은 서버(110)와 통신하는 룩 어헤드 모듈(a look ahead module)을 더 포함한다. 룩 어헤드 모듈은, 반송파 매체(carrier media)로부터 프로그램 명령어를 실행하도록 구성된 프로세서를 포함하는 적어도 하나의 컴퓨팅 시스템과 같은, 하드웨어, 소프트웨어, 또는 펌웨어의 임의의 조합을 포함하나 이로 한정되지 않는다. 룩 어헤드 모듈은, 1차 저장 드라이브(102) 또는 2차 저장 드라이브(104)에 액세스하는 서버(110)들 사이의 레이턴시를 감소시키도록 미래 읽기(future read)를 예상하도록 구성된다. 일 실시예에서, 룩 어헤드 모듈은 각 서버(110)의 적어도 하나의 통신 포트 상의 적어도 하나의 버퍼를 포함한다. 각 버퍼는 각 대응 서버(110)에 의해 행해진 읽기를 캐싱하도록 구성된다. 룩 어헤드 모듈은 미래 읽기를 예상하기 위해 캐싱된 읽기를 피드 포워드(feeding forward)하도록 구성된다. 다른 실시예에서, 룩 어헤드 모듈은 캐싱된 읽기를 사용하여 1차 저장 드라이브(102) 또는 2차 저장 드라이브(104) 중 적어도 하나의 서버(110)에 대한 액세스 순서(an order access)를 판단하도록 구성된다.
복수의 서버(110)를 부팅하기 위한 방법(200)에 관한 일 실시예가 도 2에 도시된다. 일부 실시예들에서, 방법(200)은 시스템(100)의 하나 이상의 요소들에 의해 실행된다. 그러나, 시스템(100)에 관한 앞서 언급한 실시예들이 방법(200)에 대한 제한으로서 이해되어서는 안 된다. 방법(200)에 관한 하나 이상의 다음의 단계들은 본 기술분야에 알려진 추가의 시스템 또는 디바이스에 의해 실행될 수 있다는 것을 유념해야 한다.
단계 202에서, 오퍼레이팅 시스템 인스톨레이션 이미지는 복수의 서버(110)에 의해 액세스가능한 1차 저장 드라이브(102)에 저장된다. 단계 204에서, 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 수정을 포함하는 스냅샷은 2차 저장 드라이브(104)의 파티션(106)에 저장된다. 단계 206에서, 복수의 서버(110)는 1차 저장 드라이브(102) 또는 2차 저장 드라이브(104) 중 적어도 하나로부터 부팅된다. 단계 208에서, 적어도 하나의 서버(110)는 1차 저장 드라이브(102)로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정되지 않은 부분을 읽으라고 지시받는다. 단계 210에서, 적어도 하나의 서버(110)는 2차 저장 드라이브(104)로부터 오퍼레이팅 시스템 인스톨레이션 이미지 중 적어도 하나의 수정된 부분을 읽으라고 지시받는다. 일부 실시예들에서, 적어도 하나의 서버(110)는, 1차 저장 드라이브(102)로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 수정되지 않은 부분을 그리고 2차 저장 드라이브(104)로부터 수정된 부분을 읽음으로써 두 드라이브를 부팅하라고 지시받는다.
다른 실시예에서, 1차 저장 드라이브(102)는, 오퍼레이팅 시스템 인스톨레이션 이미지의 수정되지 않는 부분이 2차 저장 드라이브(104)에 저장된 스냅샷으로부터 액세스되는 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분보다 더 높은 속도로 1차 저장 드라이브(102)로부터 액세스되도록 하기 위해, 2차 저장 드라이브(104)보다 더 높은 성능 레벨을 갖는다.
다른 실시예에서, 방법(200)은 1차 저장 드라이브(102) 또는 2차 저장 드라이브(104)에 액세스하는 서버 포트들 사이의 레이턴시를 감소시키도록 각 서버(110)에 의해 행해지는 미래 읽기를 예상하는 단계를 더 포함한다. 이 미래 읽기는 캐싱된 과거 읽기(cached past reads)와 연관된 정보를 사용하여 예상된다. 또 다른 실시예에서, 예상된 미래 읽기는 순서 서버(an order servers)(110)가 1차 저장 드라이브(102) 또는 2차 저장 드라이브(104)로의 액세스를 제공받는지 판단하는데 사용된다.
복수의 서버(110)를 부팅하기 위한 방법(300)에 관한 다른 실시예가 도 3에 도시된다. 앞서 언급한 방법(200)의 실시예들 중 일부는, 달리 언급되지 않더라도 방법(300)에 유사하게 적용된다. 일부 실시예들에서, 방법(300)은 시스템(100)의 하나 이상의 요소에 의해 실행된다. 그러나, 시스템(100 또는 200)에 관하여 앞서 언급한 실시예는 방법(300)을 제한하는 것으로 이해되어서는 안 된다. 방법(300)에 관한 하나 이상의 다음의 단계는 본 기술분야에 알려진 추가적인 시스템 또는 디바이스에 의해 실행될 수 있다는 것이 유념된다.
단계 302에서, 오퍼레이팅 시스템 인스톨레이션 이미지는 복수의 서버(110)에 의해 액세스가능한 1차 저장 드라이브(102)에 저장된다. 단계 304에서, 오퍼레이팅 시스템 인스톨레이션 이미지의 하나 이상의 부분이 수정된다. 일부 실시예들에서, 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 수정은, 부트 파라미터(boot parameters) 또는 시작 조건(startup conditions)을 조정하는 것을 포함하나 이로 한정되는 것은 아니다. 일부 실시예들에서, 수정은 하나 이상의 서버(110)에 대하여 구체적으로(specifically) 선택된다.
단계 306에서, 1차 저장 드라이브(102) 상에서의 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 수정은 스냅샷을 생성하는 것에 의해 보존(preserved)된다. 일부 실시예들에서, 각 스냅샷은 1차 저장 드라이브(102) 상의 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 적어도 하나의 수정된 부분과 함께 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 버전을 포함한다. 다른 실시예들에서, 각 스냅샷은 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 선택된 수정을 보존한다. 단계 308에서, 스냅샷은 2차 저장 드라이브(104)의 파티션(106)에 저장된다.
단계 310에서, 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분은 2차 저장 드라이브(104)의 파티션에 저장된 스냅샷에 매핑된다. 일 실시예에서, 룩업 테이블(108)은, 비트가 오퍼레이팅 시스템 인스톨레이션 이미지의 대응 부분에서의 수정을 나타내도록 "0"또는 "1"값으로 설정되는 비트 매핑을 포함한다. 단계 312에서, 복수의 서버(100) 각각은 룩업 테이블을 사용하여 1차 저장 드라이브(102) 또는 2차 저장 드라이브(104) 중 적어도 하나로부터 부팅된다.
단계 314에서, 룩업 테이블(108)은 적어도 하나의 서버(110)에게 1차 저장 드라이브(102)로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정되지 않는 부분을 읽으라고 지시한다. 단계 314에서, 룩업 테이블(108)은 적어도 하나의 서버(110)에게 2차 저장 드라이브(104)로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정된 부분을 읽으라고 지시한다. 일부 실시예들에서, 적어도 하나의 서버(110)는, 1차 저장 드라이브(102)로부터 오퍼레이팅 시스템 인스톨레이션 이미지의 수정되지 않은 부분을 그리고 2차 저장 드라이브(104)로부터 수정된 부분을 읽음으로써 두 드라이브로부터 부팅하라는 지시를 받을 수 있다.
일부 실시예들에서 본 개시물 전체에 걸쳐 설명된 다양한 단계들이 단일 컴퓨팅 시스템 또는 다중 컴퓨팅 시스템에 의해 실행될 수 있다는 것을 인식해야 한다. 컴퓨팅 시스템은, 퍼스널 컴퓨팅 시스템, 메인프레임 컴퓨팅 시스템, 워크스테이션, 이미지 컴퓨터, 병렬 프로세서, 또는 본 기술분야에 알려진 임의의 다른 디바이스를 포함할 수 있으나 이로 한정되지는 않는다. 일반적으로, 용어 "컴퓨팅 시스템"은 메모리 매체로부터 명령어를 실행하는, 하나 이상의 프로세서를 가지는 임의의 디바이스를 포함하도록 넓게 정의된다.
본원에서 설명된 실시예들에 의해 나타나는 것들과 같은 방법을 구현하는 프로그램 명령어는 반송파 매체 상에 저장되거나 이를 통해 전송될 수 있다. 반송파 매체는 전송 매체, 가령 전선, 케이블, 또는 무선 전송 링크일 수 있으나 이로 한정되지는 않는다. 반송파 매체는 또한 읽기-전용 메모리, 랜덤 액세스 메모리, 자기 또는 광학 디스크, 또는 자기 테이프를 포함할 수 있으나 이로 한정되지는 않는다.
본원에서 설명된 방법을 나타내는 실시예들은 저장 매체에 결과를 저장하는 것을 포함한다. 결과가 저장된 이후, 결과는 저장 매체에서 액세스될 수 있고 본원에서 설명된 방법 및 시스템 실시예들 중 어떤 것에 의해 사용될 수 있고, 사용자에게 디스플레이하기 위해 포맷되거나, 다른 소프트웨어 모듈, 방법, 또는 시스템 등에 의해 사용될 수 있다. 더욱이, 결과는 "영구적으로", "반영구적으로", "일시적으로", 또는 약간의 기간의 시간 동안 저장될 수 있다. 예를 들어, 저장 매체는 랜덤 액세스 메모리(RAM)일 수 있고, 결과가 반드시 저장 매체에 무기한으로 지속되어야 하는 것은 아니다.
또한 시스템 또는 방법으로서 위에서 나타낸 본 개시물의 임의의 실시예는 본원에서 설명된 임의의 다른 실시예의 적어도 일부를 포함할 수 있다. 본 기술분야의 당업자들은 본원에서 설명된 시스템 및 방법이 영향을 받을 수 있는 다양한 실시예들이 존재한다는 것과, 구현예는 본 개시물의 일 실시예가 배치된 문맥에 따라 달라질 것이라는 것을 이해할 것이다.
또한, 본 발명은 첨부된 특허청구범위에 의해 정의된다는 것이 이해될 것이다. 본 발명의 실시예들이 예시되었으나, 다양한 수정이 본 개시물의 범주 및 정신을 벗어나지 않으면서 본 기술분야의 당업자에 의해 행해질 수 있다는 것은 자명하다.

Claims (20)

  1. 복수의 서버를 부팅하기 위한 시스템으로서,
    오퍼레이팅 시스템 인스톨레이션 이미지(an operating system installation image)를 저장하도록 구성된 1차 저장 드라이브(a primary storage drive)와.
    상기 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷(snapshots) ― 각 스냅샷은 상기 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 적어도 하나의 수정을 포함함 ― 을 저장하도록 구성된 복수의 파티션(a plurality of partitions)을 포함하는 2차 저장 드라이브(a secondary storage drive)와,
    상기 1차 저장 드라이브 또는 상기 2차 저장 드라이브 중 적어도 하나로부터 부팅하도록 구성된 복수의 서버와,
    상기 1차 저장 드라이브 또는 상기 2차 저장 드라이브 중 적어도 하나에 저장된 룩업 테이블을 포함하되,
    상기 룩업 테이블은,
    상기 적어도 하나의 서버가 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정되지 않는 부분을 읽고 있는 경우 상기 적어도 하나의 서버에게 상기 1차 저장 드라이브로부터 읽으라고 지시하도록 구성되고, 또한, 상기 적어도 하나의 서버가 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정된 부분을 읽고 있는 경우 상기 적어도 하나의 서버에게 상기 2차 저장 드라이브로부터 읽으라고 지시하도록 구성되는
    복수의 서버를 부팅하기 위한 시스템.
  2. 제 1 항에 있어서,
    상기 복수의 서버의 각 서버는 상기 1차 저장 드라이브 및 상기 2차 저장 드라이브로부터 부팅하도록 구성되는
    복수의 서버를 부팅하기 위한 시스템.
  3. 제 2 항에 있어서,
    상기 각 서버는 상기 1차 저장 드라이브로부터 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 상기 적어도 하나의 수정되지 않은 부분을 읽도록 구성되고, 상기 각 서버는 상기 2차 저장 드라이브로부터 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 상기 적어도 하나의 수정된 부분을 읽도록 더 구성되는
    복수의 서버를 부팅하기 위한 시스템.
  4. 제 1 항에 있어서,
    상기 1차 저장 드라이브는 상기 2차 저장 드라이브보다 더 높은 성능 레벨을 가지는
    복수의 서버를 부팅하기 위한 시스템.
  5. 제 4 항에 있어서,
    상기 1차 저장 드라이브는 플래시 메모리를 포함하는
    복수의 서버를 부팅하기 위한 시스템.
  6. 제 4 항에 있어서,
    상기 2차 저장 드라이브는 적어도 하나의 RAID 볼륨(RAID volume)을 포함하는
    복수의 서버를 부팅하기 위한 시스템.
  7. 제 1 항에 있어서,
    상기 1차 저장 드라이브는 상기 룩업 테이블을 포함하는
    복수의 서버를 부팅하기 위한 시스템.
  8. 제 1 항에 있어서,
    상기 시스템은,
    과거 읽기(past read)와 연관된 캐싱된 정보를 사용하여 미래 읽기(future read)를 예상하도록 구성된 룩 어헤드 모듈(a look ahead module)을 더 포함하는
    복수의 서버를 부팅하기 위한 시스템.
  9. 복수의 서버를 부팅하는 방법으로서,
    1차 저장 드라이브에 오퍼레이팅 시스템 인스톨레이션 이미지를 저장하는 단계와,
    2차 저장 드라이브의 복수의 파티션(a plurality partitions)에 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷 ― 각 스냅샷은 상기 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 적어도 하나의 수정을 포함함 ― 을 저장하는 단계와,
    상기 1차 저장 드라이브 또는 상기 2차 저장 드라이브 중 적어도 하나로부터 복수의 서버를 부팅하는 단계와,
    상기 복수의 서버 중 적어도 하나의 서버가 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정되지 않은 부분을 읽고 있는 경우, 상기 적어도 하나의 서버에게 상기 1차 저장 드라이브로부터 읽으라고 지시하는 단계와,
    상기 복수의 서버 중 적어도 하나의 서버가 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정된 부분을 읽고 있는 경우, 상기 적어도 하나의 서버에게 상기 2차 저장 드라이브로부터 읽으라고 지시하는 단계를 포함하는
    복수의 서버를 부팅하는 방법.
  10. 제 9 항에 있어서,
    상기 방법은,
    상기 1차 저장 드라이브 및 상기 2차 저장 드라이브로부터 상기 복수의 서버 중 적어도 하나의 서버를 부팅하는 단계를 더 포함하는
    복수의 서버를 부팅하는 방법.
  11. 제 10 항에 있어서,
    상기 방법은,
    상기 1차 저장 드라이브로부터 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 상기 적어도 하나의 수정되지 않은 부분을 읽는 단계와,
    상기 2차 저장 드라이브로부터 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정된 부분을 읽는 단계를 더 포함하는
    복수의 서버를 부팅하는 방법.
  12. 제 9 항에 있어서,
    상기 1차 저장 드라이브는 상기 2차 저장 드라이브보다 더 높은 성능 레벨을 가지는
    복수의 서버를 부팅하는 방법.
  13. 제 12 항에 있어서,
    상기 1차 저장 드라이브는 플래시 메모리를 포함하는
    복수의 서버를 부팅하는 방법.
  14. 제 12 항에 있어서,
    상기 2차 저장 드라이브는 적어도 하나의 RAID 볼륨을 포함하는
    복수의 서버를 부팅하는 방법.
  15. 제 9 항에 있어서,
    상기 방법은,
    과거 읽기와 연관된 정보를 캐싱하는 단계와,
    과거 읽기와 연관된 캐싱된 정보를 사용하여 미래 읽기를 예상하는 단계를 더 포함하는
    복수의 서버를 부팅하는 방법.
  16. 복수의 서버를 부팅하는 방법으로서,
    1차 저장 드라이브에 오퍼레이팅 시스템 인스톨레이션 이미지를 저장하는 단계와,
    상기 오퍼레이팅 시스템 인스톨레이션 이미지를 수정하는 단계와,
    상기 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷 ― 각 스냅샷은 상기 오퍼레이팅 시스템 인스톨레이션 이미지에 대한 적어도 하나의 수정을 포함함 ― 을 생성하는 단계와,
    2차 저장 드라이브의 복수의 파티션에 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷을 저장하는 단계와,
    룩업 테이블에서 상기 2차 저장 드라이브의 상기 복수의 파티션에 저장된 스냅샷에 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 수정된 부분을 매핑하는 단계와,
    상기 룩업 테이블을 사용하여 상기 1차 저장 드라이브 또는 상기 2차 저장 드라이브 중 적어도 하나로부터 복수의 서버를 부팅하는 단계와,
    상기 복수의 서버 중 적어도 하나의 서버가 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정되지 않은 부분을 읽고 있는 경우, 상기 적어도 하나의 서버에게 상기 1차 저장 드라이브 내 상기 오퍼레이팅 시스템 인스톨레이션 이미지로부터 읽으라고 지시하는 단계와,
    상기 복수의 서버 중 적어도 하나의 서버가 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 수정된 부분을 읽고 있는 경우, 상기 적어도 하나의 서버에게 상기 2차 저장 드라이브 내 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 적어도 하나의 스냅샷으로부터 읽으라고 지시하는 단계를 포함하는
    복수의 서버를 부팅하는 방법.
  17. 제 16 항에 있어서,
    상기 방법은,
    상기 1차 저장 드라이브 및 상기 2차 저장 드라이브로부터 상기 복수의 서버 중 적어도 하나의 서버를 부팅하는 단계를 더 포함하는
    복수의 서버를 부팅하는 방법.
  18. 제 17 항에 있어서,
    상기 방법은,
    상기 1차 저장 드라이브로부터 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 상기 적어도 하나의 수정되지 않은 부분을 읽는 단계와,
    상기 2차 저장 드라이브로부터 상기 오퍼레이팅 시스템 인스톨레이션 이미지의 상기 적어도 하나의 수정된 부분을 읽는 단계를 더 포함하는
    복수의 서버를 부팅하는 방법.
  19. 제 16 항에 있어서,
    상기 1차 저장 드라이브는 상기 2차 저장 드라이브보다 더 높은 성능 레벨을 가지는
    복수의 서버를 부팅하는 방법.
  20. 제 16 항에 있어서,
    상기 방법은,
    과거 읽기와 연관된 정보를 캐싱하는 단계와,
    과거 읽기와 연관된 캐싱된 정보를 사용하여 미래 읽기를 예상하는 단계를 더 포함하는
    복수의 서버를 부팅하는 방법.
KR1020130133719A 2012-11-05 2013-11-05 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법 KR20140058380A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/668,379 2012-11-05
US13/668,379 US9244693B2 (en) 2012-11-05 2012-11-05 System and method for booting multiple servers from snapshots of an operating system installation image while reducing access to unmodified portions of the installation image and reducing latencies between server ports

Publications (1)

Publication Number Publication Date
KR20140058380A true KR20140058380A (ko) 2014-05-14

Family

ID=49382250

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130133719A KR20140058380A (ko) 2012-11-05 2013-11-05 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US9244693B2 (ko)
EP (1) EP2728466A1 (ko)
JP (1) JP2014093084A (ko)
KR (1) KR20140058380A (ko)
CN (1) CN103809998A (ko)
TW (1) TW201435579A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI520063B (zh) * 2014-01-29 2016-02-01 李錦峰 多重作業環境服務的管理系統及管理方法
WO2016084190A1 (ja) * 2014-11-27 2016-06-02 株式会社日立製作所 ストレージ装置
CN111221478B (zh) * 2020-01-13 2023-06-13 阿里巴巴集团控股有限公司 数据写入、读取方法、装置、设备及机器可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751658B1 (en) * 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
US20030126242A1 (en) * 2001-12-28 2003-07-03 Chang Albert H. Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image
US6990573B2 (en) * 2003-02-05 2006-01-24 Dell Products L.P. System and method for sharing storage to boot multiple servers
US7234053B1 (en) * 2003-07-02 2007-06-19 Adaptec, Inc. Methods for expansive netboot
JP4555036B2 (ja) * 2004-09-16 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のデバイス切替制御方法
US8332370B2 (en) * 2006-05-09 2012-12-11 Hewlett-Packard Development Company, L.P. Maintaining commonly named client-specific file content in hard disk drive emulation
US9262366B2 (en) 2007-09-21 2016-02-16 Microsoft Technology Licensing, Llc Software deployment in large-scale networked systems
US9047468B2 (en) * 2007-12-28 2015-06-02 Intel Corporation Migration of full-disk encrypted virtualized storage between blade servers
WO2009143124A1 (en) 2008-05-20 2009-11-26 Citrix Systems, Inc. Methods and systems for patching multiple disk images derived from a common base disk image
US7930361B2 (en) * 2008-09-15 2011-04-19 Dell Products L.P. System and method for management of remotely shared data
CN102197374B (zh) * 2008-10-24 2014-04-02 思杰系统有限公司 用于在组合的计算环境中给可修改的机器基本映像提供个性化桌面环境的方法和系统
US9009384B2 (en) * 2010-08-17 2015-04-14 Microsoft Technology Licensing, Llc Virtual machine memory management in systems with asymmetric memory

Also Published As

Publication number Publication date
EP2728466A1 (en) 2014-05-07
US20140129816A1 (en) 2014-05-08
US9244693B2 (en) 2016-01-26
CN103809998A (zh) 2014-05-21
JP2014093084A (ja) 2014-05-19
TW201435579A (zh) 2014-09-16

Similar Documents

Publication Publication Date Title
US9495294B2 (en) Enhancing data processing performance by cache management of fingerprint index
EP2732374B1 (en) Mobile memory cache read optimization
CN106547476B (zh) 用于数据存储系统的方法和装置
US9152325B2 (en) Logical and physical block addressing for efficiently storing data
US10824553B2 (en) Memory device that controls timing of receiving write data from a host
EP2674877A1 (en) Method and apparatus for reading and writing data in file system
US20140059277A1 (en) Storage for adaptively determining a processing technique with respect to a host request based on partition data and operating method for the storage device
US8458394B2 (en) Storage device and method of managing a buffer memory of the storage device
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
EP4020153A1 (en) Cache space management method and device
KR20200011579A (ko) 하이브리드 스토리지 시스템에서의 데이터 저장 제어 기법
US8725933B2 (en) Method to detect uncompressible data in mass storage device
US9965397B2 (en) Fast read in write-back cached memory
KR20170002866A (ko) 분산 환경에서 사용자 애플리케이션의 액세스 특성에 따른 적응형 캐시 관리 방법
US20150277782A1 (en) Cache Driver Management of Hot Data
CN107203480B (zh) 一种数据预取方法以及装置
KR20140058380A (ko) 오퍼레이팅 시스템 인스톨레이션 이미지의 스냅샷으로부터 복수의 서버를 부팅하기 위한 시스템 및 방법
US20210096985A1 (en) Memory controller and storage device including the same
US9384135B2 (en) System and method of caching hinted data
KR20220033976A (ko) 저장 디바이스들에 대한 강화된 선판독 능력
US9977624B2 (en) Storage control apparatus and storage control method
US20150356011A1 (en) Electronic device and data writing method
US10120616B1 (en) Storage management system and method
US9817585B1 (en) Data retrieval system and method
CN116745744A (zh) 应用于固态硬盘的存储方法及存储控制器

Legal Events

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