KR20210069981A - 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들 - Google Patents

가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20210069981A
KR20210069981A KR1020190159892A KR20190159892A KR20210069981A KR 20210069981 A KR20210069981 A KR 20210069981A KR 1020190159892 A KR1020190159892 A KR 1020190159892A KR 20190159892 A KR20190159892 A KR 20190159892A KR 20210069981 A KR20210069981 A KR 20210069981A
Authority
KR
South Korea
Prior art keywords
boot
server platform
virtual storage
storage facility
console
Prior art date
Application number
KR1020190159892A
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 KR1020190159892A priority Critical patent/KR20210069981A/ko
Publication of KR20210069981A publication Critical patent/KR20210069981A/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
    • 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

일 실시예는 부팅가능한 가상 스토리지 설비를 가상화 서버 플랫폼상에 부팅하는 방법이다. 하나의 이러한 방법은: 서버 플랫폼상에 가상 스토리지 설비를 제공하는 단계로서, 상기 가상 스토리지 설비는 복수의 디스크들을포함하는 디스크 어레이를 관리하도록 구성되고, 디스크들 중 적어도 하나는 부트 콘솔을 구비하는 히든 부트 파티션을 포함하는, 상기 제공 단계; 서버 플랫폼의 전원을 켜는 단계; 서버 플랫폼상에 부트 코드를 로딩하는 단계; 히든 부트 파티션으로부터 부트 콘솔을 로딩하는 단계; 및 부트 콘솔이 가상화 환경에 대한 부트 구성요소들을 로딩하는 단계를 포함한다.

Description

가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들{Systems and methods for bootable virtual storage facilities on a virtualized server platform}
본 출원은 "Method to Install and Boot a Virtual Appliance that Owns Boot Devices"란 명칭으로 2008년 7월 16일 출원되었으며 그대로 인용참증으로서 본 명세서에 포함된 미합중국 임시 특허 출원 제 61/135,231 호의우선권을 주장한다.
본 발명은 일반적으로 컴퓨터 데이터 스토리지(computer data storage)에 관한 것으로, 특히, 가상 스토리지 설비들(virtual storage appliances)과 서버 플랫폼(server platform)상의 가상 기계 모니터(virtual machinemonitor : VMM) 환경에 관한 것이다.
비지니스 환경에서 사용하기 위한 컴퓨터 네트워크들은 계속하여 보다 많은 스토리지를 요구한다. 전형적으로,이러한 기업들은 중앙집중 데이터 스토리지 시스템(a centralized data storage system)을 활용하고, 컴퓨터 네트워크는 네트워크를 통하여 데이터 스토리지 시스템과 통신하는 다양한 퍼스널 컴퓨터들, 랩탑들 등을 포함한다. 데이터 스토리지 시스템은 전형적으로 하드 디스크 드라이브들, 자기 또는 광 디스크들, 및/또는 스토리지영역 네트워크(storage area network : SAN)와 같은 전용 데이터 스토리지 자원들에 정보를 저장하고 그로부터정보를 검색하는 것을 제어하는 서버 플랫폼(server platform)을 포함한다. 서버 플랫폼은 전형적으로 물리적디스크 드라이브들을 관리하고 논리 유닛들로서 서버 플랫폼에 이들을 제공하는 스토리지 제어기(storagecontroller)를 포함한다.
하나의 솔루션에서, 스토리지 제어기는 Redundant Array of Independnt Disks(RAID) 표준의 하드웨어 구현을포함한다. RAID는 스토리지 디바이스들을 리던던시를 위한 배열들로 정렬하는 기법을 통해 보다 저가의 구성요소들로부터 스토리지 신뢰성을 제공하는 스토리지 솔루션(storage solution)이다. 일반적으로, 하드웨어 RAID구현은 다중 스토리지 디바이스들 중의 데이터를 나누고 복사하는 전용 하드웨어를 활용하지만, 배열은 하나의단일 디스크로서 서버 플랫폼에 의해 보여진다. 비록 이러한 구현이 저가의 옵션을 제공한다고 하더라도, 솔루션은 여전히 소정의 상황들에 있어서 바람직하지 않게 비쌀 수 있는 전용 하드웨어의 사용을 요구한다.
프로세싱 전력이 증가함에 따라서, 전용 하드웨어보다는 소프트웨어로 스토리지 제어기를 구현하는 것이 보다일반적이 되었다. 예를 들어, 현재 RAID 로직이 서버 플랫폼의 운영 체제의 일부인 다수의 소프트웨어 RAID 구현들이 있다. 이들 솔루션들은 전반적인 비용과 특정 하드웨어 플랫폼에 대한 의존성을 상당히 감소시킬 수 있다. 그러나, 소프트웨어 구현들은 서버 플랫폼이 가상화를 통해 다중 실행 환경들(예를 들어, 다중 에뮬레이팅된 운영 체제들)을 또한 지원하는 상황들에서 상당한 결점을 가진다.
소프트웨어 RAID 구현들의 다른 중요한 한계는 이들 구현들이 각각의 지원된 운영 체제에 대해 구성될 필요가있다는 것이며, 이는 추가적인 비용이 있을 수 있으며 개발, 디버깅, 및 배치에 불편할 수도 있다. 리눅스(Linux)의 파생상품들과 같은 몇몇 경우들에 있어서, 오픈 소스 라이센스들(예를 들어, GNU General Public
License 등)의 조건들에 기초한 소스 코스 코드의 공개에 관련된 보다 복잡문제들이 있을 수 있다. 이들 오픈소스 응낙 문제들은 이러한 운영 체체들에 대해 추가적인 비용과 소프트웨어 RAID 구현의 불편을 더할 수 있다.
가상화 기술은 가상 기계 모니터(virtual machine monitor : VMM)를 구동하는 단일 호스트 컴퓨터(single hostcomputer)가 호스트의 다중 추상적 개념들 또는 뷰들(views)을 제공할 수 있도록 하여, 근원적인 호스트 하드웨어가 하나 이상의 독립적으로 동작하는 가상 기계들(VMs)로서 보이게 된다. VMM은 호스트 컴퓨터로 하여금 다중실행 환경들을 지원하도록 하는 호스트 프로그램(host program)을 포함한다. 각각의 VM은 자신의 펌웨어, 운영체제, 및/또는 소프트웨어 애플리케이션들을 구동하는 자체-포함 플랫폼(self-contained platform)으로서 기능할 수 있다. VMM은 VM들에 대한 호스트 자원들의 할당과 가상화를 관리한다.
VMM 환경에서 가상 스토리지 설비로서 소프트웨어 RAID 또는 다른 소프트웨어 스토리지 제어기들을 결합할 때, 의미있는 구성 도전(meaningful configuration challenge)이 존재한다. 예를 들어, VMM 환경에서 가상 스토리지 설비들을 인스톨 및/또는 부팅시 포함된 여러 복잡한 문제들이 존재한다. 부팅하기 위해, 가상 스토리지 설비는 플랫폼상에 존재할 것이 요구된다. 비록 각각이 다르다고 하더라도, 많은 이용가능한 VMM 환경들이 존재한다. 기존의 솔루션들은 각각의 VMM 환경에 대해 독립적으로 설계되어야 하며, 플랫폼은 사용될 특별한 VMM 환경을 위해 사전구성되어야 하고, 이는 의미있는 로지스틱 챌린지들을 생성한다. 예를 들어, 어떠한 가상화없이 단지 약간의 모듈들을 탑재한 시스템(예를 들어, BIOS, EFI)을 가지고 표준 운영 체제를 부팅하는 것은 매우 단순하다. 전형적으로, 이러한 시나리오에 있어서, 부트 로더(boot loader)와 구동기(driver)는 O/S 로더가 프로세스를 떠맡아 제어하기에 앞서 로딩될 수 있다. 그러나, VMM 환경에서, 시스템이 VMM 환경들, 호스트 운영 체제들, 및 가상 스토리지 설비(및 스토리지 제어 로직을 동반하는) 모두가 부트 로드로부터 로딩되어야 하기 때문에 이러한 프로세스는 상당히 더 복잡하다. 이들 구성요소들 모두를 로딩하는 것은 10-100MB, 또는 그 이상 만큼을 갖는 이미지(image)를 요구할 수 있다. 더욱이, 부트 디바이스는 전형적으로 RAID 볼륨(RAIDvolulme)이며, 따라서, RAID 엔진이 운영 체제내에 존재하면, RAID 기능은 RAID 엔진을 로딩하도록 요구되며,이것은 부담이 되는 회귀 자기-참조(burdensome recursive self-references)를 포함할 수 있다.
이러한 문제를 다루기 위한 기존의 솔루션은 부트 코드내 RAID 로더를 이용하는 것을 포함한다. 그러나, 이것은또 다른 RAID 스택을 생성하기 위한 비용을 야기하며, 자체 복잡함을 갖는다. 비록 큰 제조업체들이 EFI/BIOS에서 RAID 스택에 권한을 부여하고 유지할 수 있다고 하더라도, 많은 고객들은 그렇게 할 수 없거나 하려하지 않을 것이다. 이러한 문제를 다루기 위해 시도한 다른 솔루션은 서버 플랫폼의 비휘발성 메모리에 전체 VMM 환경을 제공하는 것을 포함한다. 이것은 또한 또 다른 일련의 챌린지들을 도입한다. 예를 들어, VMM 환경을 위한 코드의 사이즈가 문제가 될 수 있다. 더욱이, 전체의 VMM 환경이 서버 플랫폼의 비휘발성 메모리에 제공될 때 VMM환경의 배포 및/또는 유지보수와 연계된 상당한 비지니스 챌린지들이 존재한다.
VMM 환경에서 가상 스토리지 설비를 결합하는데 있어서 많은 장점들에도 불구하고, 표준 서버 플랫폼에서 가상스토리지 설비를 인스톨 및/또는 부팅하기 위한 보다 비용-효과적인 솔루션들 및 시스템들 및 방법들에 대한 기술적 필요가 존재하며, 표준 서버 플랫폼은 특별한 VMM 환경에 독립적이며 플랫폼을 사전구성하기 위한 필요성을 제거할 수 있다.
가상화 서버 플랫폼상의 가상 스토리지 설비를 인스톨 및/또는 부팅하기 위한 시스템들, 방법들, 컴퓨터 시스템들, 및 컴퓨터 프로그램들의 다양한 실시예들이 개시된다. 일 실시예는 부팅가능한 가상 스토리지 설비를 가상화 서버 플랫폼상에 부팅하는 방법이다. 하나의 이러한 방법은: 서버 플랫폼상에 가상 스토리지 설비를 제공하는 단계로서, 상기 가상 스토리지 설비는 복수의 디스크들을 포함하는 디스크 어레이를 관리하도록 구성되고,디스크들 중 적어도 하나는 부트 콘솔을 구비하는 히든 부트 파티션(hidden boot partition)을 포함하는, 상기제공 단계; 서버 플랫폼의 전원을 켜는 단계; 서버 플랫폼상에 부트 코드를 로딩하는 단계; 히든 부트 파티션으로부터 부트 콘솔을 로딩하는 단계; 및 부트 콘솔이 가상화 환경에 대한 부트 구성요소들을 로딩하는 단계를 포함한다.
본 발명은 보다 비용 효과적인 솔루션들 및 표준 서버 플랫폼에서 가상 스토리지 설비를 인스톨 및/또는 부팅하기 위한 시스템들 및 방법들을 제공한다.
도 1은 가상 스토리지 설비가 인스톨될 수 있는 서버 플랫폼의 실시예를 예시하는 블록도.
도 2는 도 1의 서버 플랫폼상에 가상 스토리지 설비를 인스톨하기 위해 사용될 수 있는 IOVM 설치 패키지의 실시예를 예시하는 블록도.
도 3은 도 2의 IOVM 설치 패키지를 매개로하여 도 1의 상기 서버 플랫폼상에 가상 스토리지 설비를 설치하기 위 한 방법의 실시예를 예시하는 흐름도.
도 4 내지 도 11은 가상 스토리지 설비의 설치동안 서버 플랫폼의 동작을 예시하는 도면.
도 12는 가상 스토리지 설비가 설치된 서버 플랫폼의 실시예의 블록도.
도 13은 도 12의 가상 스토리지 설비를 부팅하기 위한 방법의 실시예를 예시하는 흐름도.
도 14 및 도 15는 도 12의 부팅 프로세스동안 서버 플랫폼의 동작을 예시하는 도면.
서버 플랫폼상에 가상 스토리지 설비를 설치하고/하거나 부팅하기 위한 시스템들, 방법들, 및 컴퓨터 프로그램들의 다양한 실시예들이 개시된다. 소개로서 그리고 가상 스토리지 설비 및 서버 플랫폼 동작에 있어서 작동 환경을 예시하기 위해, 도 1은 예시적인 컴퓨터 시스템(exemplary computer system)(100)을 예시한다. 컴퓨터 시스템(100)은 가상 스토리지 설비가 설치되고/되거나 부팅될 수 있는 서버 플랫폼(server platform)(102)을 포함한다. 실시예에서, 서버 플랫폼(102)은 하나 이상의 프로세서(들)(106), 메모리(108), 및 부트 코드(112)를 포함하는 비휘발성 메모리(110)를 포함하는 하드웨어(104)를 갖는 표준, 오프-더-쉘프 서버 플랫폼(standard,off-the-shelf server platform)을 포함한다. 프로세서(들)(106), 메모리(108), 비휘발성 메모리(110), 및 부트 코드(112)가 서버 플랫폼(102)상에 사전구성될 수 있으며 이하 기술된 설치 및 부팅 프로세스를 수행하기 위
해 사용될 수도 있다는 것을 이해하여야 한다. 따라서, 도 1에서 다른 예시된 구성요소들은 도 2 내지 도 15를참조하여 이하 기술된 설치 및 부트 프로세스에 따라서 서버 플랫폼(102)에 의해 로딩되는 구성요소들을 나타낸다는 것이 더 이해되어야 한다.
트 코드(112)는 하드웨어(104)를 구성하고 운영 체제 부트 절차를 개시하기 위해 서버 플랫폼(102)에 의해 사용된 코드를 포함한다. 실시예에서, 부트 코드(112)는, 예를 들어, BIOS 환경, EFI 환경, 또는 다른 부트 환경을 로딩하기 위해 구성될 수 있다.
가상 기계 모니터(114)는 가상 기계 환경으로부터 하드웨어(104)를 격리하기 위해 사용되는 하이퍼바이저(hypervisor) 또는 얇은 소프트웨어 층(a thin software layer)을 포함한다. VMM(114)은 독립적인 운영 체제들(예를 들어, OS 116a, 116b, 116c)과 특별한 목적의 가상 기계(즉, I/O 가상 기계(118))과 연계된 하나 이상의서비스 가상 기계들의 실행을 제어한다. 이하 보다 상세히 기술된 바와 같이, IOVM(118)은 복수의 물리적 디스크들(124)을 포함하는 디스크 어레이(122)와 연계된 I/O를 처리하도록 구성된 전용 가상 기계(dedicatedvirtual machine)을 포함한다. IOVM(118)은 디스크 어레이(122)로부터 데이터를 저장하고 검색하도록 구성된 스토리지 제어기(120)를 포함한다. 프로세서(들)(106)는 VMM(114), IOVM(118), O/S 116a-c, 및 기타 다른 소프트웨어 및/또는 펌웨어를 지원하기 위한 프로세싱을 포함하는 서버 플랫폼(102)과 연계된 프로세싱 동작들을 수행한다.
서버 플랫폼(102)과 IOVM(118)의 일반적인 동작 환경이 기술되었지만, 시스템들과 방법들의 다양한 실시예들이도 3 내지 도 11을 참조하여 서버 플랫폼(102)상에 IOVM(118)을 설치하기 위해 기술될 것이다. 도 3은 서버 플랫폼(102)상에 IOVM(118)을 설치하기 위한 방법(300)의 실시예를 예시한다. 도 4 내지 도 11은 컴퓨터 시스템(100)의 구성요소들을 참조하여 프리-부트 프로세스(a pre-boot process)로서 설치 프로세스를 예시한다. 방법(300)과 연계된 하나 이상의 프로세스 또는 방법 설명들이 처리 과정에 있어서 논리적인 기능들 또는 단계들을
구현하기 위해 하나 이상의 실행가능한 명령들을 포함하는 모듈들, 세그먼트들, 로직 또는 코드의 일부들을 나타낼 수 있다는 것이 이해되어야 한다. 논리적 기능들은 소프트웨어, 하드웨어, 펌웨어, 또는 기타 이들의 조합으로 구현될 수도 있다는 것이 더 이해되어야 한다. 소정의 실시예들에 있어서, 도 3의 흐름도를 참조하여 기술된 논리적 기능들과 도 4 내지 도 11의 시스템 블록도들은 메모리(108) 또는 비휘발성 메모리(110)에 저장되고서버 플랫폼(102)과 연계된 어떠한 다른 프로세서(들) 또는 적절한 명령 실행 시스템에 의해 실행되는 소프트웨어 또는 펌웨어로 구현될 수도 있다. 더욱이, 논리적 기능들은 명령 실행 시스템, 장치, 또는 컴퓨터-기반 시스템, 프로세서-포함 시스템과 같은 디바이스, 또는 명령 실행 시스템, 장치, 또는 디바이스로부터 명령들을 불러내어 명령들을 실행할 수 있는 서버 플랫폼(102)과 연계된 다른 시스템에 의해 또는 조합하여 사용하기 위한 어
떠한 컴퓨터 판독가능 매체에서 구현될 수도 있다.
도 3을 참조하면, 서버 플랫폼(102)(블록 302)과 IOVM 설치 패키지(200)(블록 304)가 제공된다. 실시예에서, 서버 플랫폼(102)은 VMM 또는 IOVM(118)과 연계된 어떠한 특별한 구성요소들을 갖지 않는 표준 서버(예를 들어,OEM 서버)를 포함할 수 있다. 도 2에 예시된 바와 같이, 실시예에서, IOVM 설치 패키지(200)는, 예를 들어, 설치 스크립트(202), IOVM 부트 콘솔(204), IOVM 관리 모듈(206), 및 VMM(208)과 같은 IOVM(118)을 설치하는 것과 연계된 다양한 구성요소들을 포함한다. 설치 패키지(200)는 서버 플랫폼(102)에 의해 액세스가 가능한 컴팩트 디스크, 디지털 비디오 디스크, 또는 플래시 메모리 디바이스상에 제공될 수 있다. 다른 실시예들에서, 설치패키지(200)는 서버 플랫폼(102)(예를 들어, 메모리(108), 비휘발성 메모리(110) 등)에 내부적인 구성요소로서제공될 수도 있다. 설치 패키지(200)의 구성요소들은 원하는 설치 구현에 따라서 하나 이상의 패키지들내에 제공될 수도 있다는 것이 이해되어야 한다. 예를 들어, 설치 스크립트(202), IOVM 부트 콘솔(204), 및 IOVM 관리모듈(206)이 하나의 설치 패키지내에 제공될 수 있으며, 및 VMM(208)은 표준, 오프-더-쉘프 VMM 설치 패키지로서 제공될 수 있다.
이와 관련하여, 설치 패키지(200)와 설치 방법(300)은 다양한 잇점들을 갖는 설치 체계를 제공할 수 있다는 것이 더 이해되어야 한다. 설치 체계는 어떠한 원하는 현재 또는 미래의 가상화 환경들 및/또는 VMM들(208)과 함께 작업하도록 설계될 수도 있다. O/S 특정 설치 절차들은 제거된다. 또한, 설치 체계는 표준화된 서버 플랫폼에 적용가능할 수 있다.
블록(306)에서, 서버 플랫폼(102)의 전원이 켜진다. 도 4에서 예시된 바와 같이 블록(308)에서, 전원이 켜진후, 비휘발성 메모리(110)로부터의 부트 코드(112)가 로딩된다. 부트 코드(112)는, 예를 들어, BIOS 환경, EFI환경, 또는 다른 부트 환경을 로딩하도록 구성될 수도 있다. 부트 환경은 서버 플랫폼(102)상의 스토리지 제어기(120)와 호환가능한 표준 스토리지 구동기(210)를 포함할 수 있다. 실시예에서, 스토리지 구동기(210)는 SAS구동기를 포함할 수 있고, 스토리지 제어기(120)는 SAS 제어기를 포함할 수 있다. 그러나, 당업자는 다른 제어기들과 구동기들이 다른 데이터 전송 기술들, 표준들, 및/또는 인터페이스들을 구현하기 위해 사용될 수도 있다는 것을 이해할 것이다.
블록(310)(도 5)에서, IOVM 설치 패키지(200)는 부트 코드(112)의 상부에서 구동하기 위해 로딩된다. 도 6에 예시된 바와 같이, 블록들(312, 314)에서, 설치 스크립트(202)가 실행되고, 부트 파티션이 부트 디스크상에 생성된다. 도 6의 실시예에서, 부트 디스크는 디스크 어레이(122)(즉, 물리적 디스크(124a))내 물리적 디스크들(124) 중 하나를 포함한다. 부트 파티션은 시스템으로부터 숨겨질 수 있다. 예를 들어, RAID 구현들에 있어서,부트 파티션은 RAID 표준들에 의해 정의된 디스크 데이터 포맷(Disk Data Format : DDF) 공간내에 또는 어떠한다른 사적인 파티션내에 숨겨질 수 있다. 블록(316)(도 7)에서, 설치 스크립트(202)는 IOVM 설치 패키지(200)로부터의 IOVM 부트 콘솔(204)와 IOVM 관리 모듈(206)을 부트 파티션(116)에 또한 복사할 수 있다. 부트 파티션(116)은 부팅가능하도록 제조될 수 있다.
블록(318)에서, 서버 플랫폼(102)은 재부팅되고, 도 8에 예시된 바와 같이, 부트 코드(112)는 비휘발성 메모리(110)(블록 320)로부터 로딩된다. 블록(322)에서(도 9), IOVM 부트 콘솔(204)과 IOVM 관리 모듈(206)은 부트파티션(116)으로부터 서버 플랫폼(102)으로 로딩될 수 있다. 전술한 바와 같이, IOVM(118)은 전용 OS-기반 게스트 가상 기계(dedicated OS-based guest virtual machine)을 포함할 수 있다. 따라서, OS 로더(OS loader)는부트 환경으로부터 제어를 취할 수 있고 부트 파티션(116)으로부터 IOVM 부트 콘솔(204) 및 IOVM 관리 모듈(206)을 로딩할 수 있다. 실시예에서, IOVM 부트 콘솔(204)은 표준 운영 체제를 포함할 수 있다. 따라서, IOVM부트 콘솔(204)은 표준 절차들을 이용한 운영 체제를 부팅할 수 있다. 그러나, 컴퓨터 시스템(100)에서 IOVM 부트 콘솔(204)은 스토리지 가상화를 관리(RAID 로직을 관리)하기 위해 구성된다는 것이 이해되어야 한다.
블록(324)에서, 사용자는 디스크 어레이(122)를 구성하기 위해 IOVM 관리 모듈(206)과 인터페이스할 수 있다.
예를 들어, IOVM 관리 모듈(206)은 사용자로 하여금 원하는 바와 같이 디스크 그룹들, 가상 디스크들, 볼륨들등을 생성할 수 있도록 구성될 수 있다. 블록(326)(도 10)에서, IOVM 부트 콘솔(204)은 디스크 어레이(122), 본경우에 있어서 물리적 디스크들(124b, 124c)내에 모든 디스크들상에 히든 부트 파티션(116)을 생성한다. IOVM부트 콘솔은 다른 부트 파티션들(116)내 부트 디스크(즉, 물리적 디스크 124a)의 컨텐츠를 또한 복제할 수있다. 예를 들어, RAID 체계에 대한 필요없이 물리적 디스크들(124)의 고장 발생시 컴퓨터 시스템(100)이 작업할 수 있도록 하는 리던던시 체계(redundancy scheme)를 이러한 프로세스가 인에이블한다는 것을 이해하여야 한다. 모든 물리적 디스크들(124)상에 부트 디스크의 컨텐츠를 복제함으로써, 표준 서버 부트 프로세스가 제 1 디스크(즉, 물리적 디스크(124a))로부터 부팅될 것이다. 이러한 디스크가 실패라면, 부트 프로세스는 N-방식 리던던시 체계를 제공함으로써 제 2 디스크(즉, 물리적 디스크(124b)) 등으로부터 부팅하기를 시도할 것이다.
블록(328)(도 11)에서 IOVM 부트 콘솔(204)을 설치하고 디스크 어레이(122)를 구성하였다면, 서버 플랫폼(102)은 스토리지 구동기로서 IOVM 부트 콘솔(204)을 이용한 가상 환경(예를 들어, VMM(208))을 설치한다. 전술한 바와 같이, 서버 플랫폼(102)은 어떠한 바람직한 가상 환경을 지원할 수 있다. 가상 환경은 IOVM 설치 패키지(200)로부터 또는 표준 OEM 분배 설치 패키지로부터 직접적으로 설치될 수 있다. 가상 환경의 설치는 종래의 방식으로 계속할 수 있다.
IOVM(118)과 가상 환경이 (전술한 방식으로 또는 서버 플랫폼(102)상에 제공된 기타 방식으로)설치된 후, 서버플랫폼(102)은 부트 방법의 시작을 개시할 수 있다. 부트 방법의 실시예는 도 12 내지 도 15에 예시된다. 도 12는 부트 방법의 동작을 예시하는 흐름도이고, 도 13 내지 도 15는 서버 플랫폼(102)과 디스크 어레이(122)의 구성요소들을 참조하여 부트 방법을 예시한다.
도 12를 참조하면, 블록(1202)에서, 가상 스토리지 설비가 디스크 어레이를 관리하기 위해 서버 플랫폼(102)상에 제공된다. 가상 스토리지 설비는 IOVM(118)에 관한 전술한 방식, 또는 다른 방식으로 컴퓨터 시스템(100)상에 구성되고 설치될 수 있다. 블록(1204)(도 13)에서, 부트 코드(112)가 로딩된다. 부트 코드(112)는, 예를 들어, BIOS 환경, EFI 환경, 또는 다른 부트 환경을 로딩하기 위해 구성될 수 있다. 부트 환경은 서버 플랫폼(102)상의 스토리지 제어기(120)와 호환가능한 표준 스토리지 구동기(210)를 포함할 수 있다. 부트 환경이 로딩되고 부트 로더를 호출할 수 있다. 블록(1206)(도 14)에서, IOVM 부트 콘솔(204)과 IOVM 관리 모듈(206)은 디스크 어레이(122)내 물리적 디스크들 중 하나에 히든 파티션으로부터 로딩된다. 결정 블록(1208)과 블록(1210)에도시된 바와 같이, IOVM 관리 모듈(206)은 컴퓨터 시스템(100)의 사용자가 디스크 어레이(122) 및/또는IOVM(118)의 다양한 양태들을 구성하게 하고/구성하게 하거나 관리할 수 있도록 사용될 수 있다. 블록(1212)(도15)에서, IOVM 부트 콘솔(204)은 가상 환경을 위한 부트 구성요소들을 로딩한다. IOVM 부트 콘솔(204)은 부트프로세스를 시작한다. IOVM 부트 콘솔(204)은 부트 디스크(예를 들어, 물리적 디스크들(124a 내지 124c) 중 하나)를 액세스하며 설치된 VMM 부트 로더를 위치시킬 수 있다. 실시예에서, VMM 부트 로더는 설치된 가상화 환경과 통합된 구성요소를 포함할 수 있다. VMM 부트 로더는 디스크 어레이(122)의 일부인 부트 볼륨상의 O/S 설치의 일부일 수 있다. IOVM 부트 콘솔(204)은 도 15에 예시된 바와 같이, VMM(208)을 부팅한 다음, 당업자에 의해
이해될 바와 같이 전형적인 방식으로 VMM 부트 로더로 제어를 넘긴다.
이러한 개시는 하나 이상의 예시적이거나 본 발명의 원리들과 개념들을 입증하기 위한 목적으로 기술된 실시예들을 참조하여 제공되었다는 것을 주목해야 한다. 본 발명은 이들 실시예들에 제한되지 않는다. 당업자에 의해이해될 바와 같이, 본 명세서에 제공된 설명을 고려하여, 많은 변경들이 본 명세서에 기술된 실시예들에 대해이루어질 수 있으며 모든 이러한 변경들은 본 발명의 범주내에 있다.
102 : 서버 106 : 프로세서
112 : 부트 코드 116 : 부트 파티션
118 : I/O 가상 기계 120 : 스토리지 제어기
122 : 디스크 어레이 200 : IOVM 설치 패키지
202 : 설치 스크립트 204 : IOVM 부트 콘솔
206 : IOVM 관리 208 : 가상 기계 모니터
210 : 스토리지 구동기

Claims (13)

  1. 가상화 서버 플랫폼(virtualized server platform)상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법에
    있어서,
    서버 플랫폼상에 가상 스토리지 설비를 제공하는 단계로서, 상기 가상 스토리지 설비는 복수의 디스크들을 포함
    하는 디스크 어레이를 관리하도록 구성되고, 상기 디스크들 중 적어도 하나는 부트 콘솔(boot console)을 구비
    하는 히든 부트 파티션(hidden boot partition)을 포함하는, 상기 제공 단계;
    상기 서버 플랫폼의 전원을 켜는(power up) 단계;
    상기 서버 플랫폼상에 부트 코드를 로딩하는 단계;
    상기 히든 부트 파티션으로부터 상기 부트 콘솔을 로딩하는 단계; 및
    상기 부트 콘솔이 가상화 환경에 대한 부트 구성요소들을 로딩하는 단계를 포함하는, 가상화 서버 플랫폼상에
    부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  2. 제 1 항에 있어서,상기 가상 스토리지 설비는 상기 서버 플랫폼에 연계된 게스트 운영 체제를 포함하는, 가상화 서버 플랫폼상에부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 가상 스토리지 설비는 RAID 제어기(RAID controller)를 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 가상화 환경은 상기 가상 스토리지 설비 및 상이한 운영 체계들을 실행하는 복수의 가상 기계들을 지원하는 가상 기계 모니터를 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  5. 제 1 항에 있어서,
    상기 부트 코드는 BIOS 환경 또는 EFI 환경 중 하나를 로딩하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 디스크 어레이는 하드 디스크 드라이브 어레이를 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  7. 제 1 항에 있어서,
    상기 디스크 어레이는 스토리지 영역 네트워크(storage area network)를 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  8. 제 1 항에 있어서,
    상기 디스크 어레이는 RAID 어레이(RAID array)를 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지설비를 부팅하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 가상 스토리지 설비를 관리하는 단계를 추가로 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 가상 스토리지 설비 제공 단계는:
    상기 서버 플랫폼에 의해 액세스 가능한 설치 패키지를 제공하는 단계로서, 상기 설치 패키지는 가상 스토리지설비, 부트 콘솔, 및 관리 모듈을 설치하는 설치 스크립트(installation script)를 포함하는, 상기 설치 패키지제공 단계;
    상기 서버 플랫폼의 전원을 켜고 상기 부트 코드를 로딩하는 단계;
    상기 부트 코드 위에서 동작하도록 상기 설치 패키지를 로딩하는 단계;
    상기 디스크상에 상기 히든 부트 파티션을 생성하고 상기 부트 콘솔 및 상기 관리 모듈을 상기 히든 부트 파티
    션에 복사하도록 상기 설치 스크립트를 동작시키는 단계;
    상기 서버 플랫폼을 재부팅하고 상기 부트 코드를 로딩하는 단계;
    상기 히든 부트 파티션으로부터 상기 부트 콘솔 및 상기 관리 모듈을 로딩하는 단계;
    상기 관리 모듈을 통해 디스크 어레이를 구성하는 단계;
    상기 디스크 어레이의 각 디스크 상에, 히든 부트 파티션을 생성하고 상기 부트 콘솔 및 상기 관리 모듈을 복제하는 단계; 및
    스토리지 구동기로서 상기 부트 콘솔을 이용하여 가상화 환경을 설치하는 단계에 의해, 상기 서버 플랫폼상에상기 가상 스토리지 설비를 설치하는 단계를 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  11. 제 10 항에 있어서,
    상기 설치 패키지는 컴팩트 디스크, 디지털 비디오 디스크, 및 플래시 메모리 디바이스 중 적어도 하나를 통해상기 서버 플랫폼에 제공되는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  12. 제 10 항에 있어서,
    상기 서버 플랫폼상에 상기 가상 스토리지 설비를 설치하는 단계는 상기 서버 플랫폼을 재부팅하는 단계를 추가로 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
  13. 제 12 항에 있어서,상기 호스트 서버 플랫폼을 재부팅하는 단계는:
    상기 히든 부트 파티션으로부터 상기 부트 콘솔 상기 관리 모듈을 상기 디스크들 중 하나에 로딩하는 단계; 및상기 가상화 환경을 상기 부트 콘솔이 로딩하는 단계를 포함하는, 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 방법.
KR1020190159892A 2019-12-04 2019-12-04 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들 KR20210069981A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190159892A KR20210069981A (ko) 2019-12-04 2019-12-04 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190159892A KR20210069981A (ko) 2019-12-04 2019-12-04 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들

Publications (1)

Publication Number Publication Date
KR20210069981A true KR20210069981A (ko) 2021-06-14

Family

ID=76417521

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190159892A KR20210069981A (ko) 2019-12-04 2019-12-04 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들

Country Status (1)

Country Link
KR (1) KR20210069981A (ko)

Similar Documents

Publication Publication Date Title
JP5404783B2 (ja) 仮想化サーバ・プラットフォーム上でブート可能な仮想ストレージ・アプライアンスをブートするためのシステムおよび方法
US10261800B2 (en) Intelligent boot device selection and recovery
US9483639B2 (en) Service partition virtualization system and method having a secure application
US8949585B2 (en) In-place conversion of virtual machine state
US20200319904A1 (en) Hyperconverged system architecture featuring the container-based deployment of virtual machines
US9672058B2 (en) Reduced service partition virtualization system and method
KR101232558B1 (ko) 컴퓨터 구현 방법 및 시스템
US7356677B1 (en) Computer system capable of fast switching between multiple operating systems and applications
US20150261952A1 (en) Service partition virtualization system and method having a secure platform
US11163597B2 (en) Persistent guest and software-defined storage in computing fabric
US20160077858A1 (en) Reset of single root pci manager and physical functions within a fabric
KR20210069981A (ko) 가상화 서버 플랫폼상에 부팅가능한 가상 스토리지 설비를 부팅하기 위한 시스템들 및 방법들
US8024556B1 (en) Layered execution pre-boot configuration systems, apparatus, and methods
US11829772B2 (en) Heterogeneous compute domains with an embedded operating system in an information handling system