EFI GPT and BIOS MBR

이 이야기는 FileSystem 도 아니고, Storage에서 작업해서 서버에 할당 해 주는 LUN에 대한 내용도 아니다. 사실 OS를 설치 운영한다면 많지 않은 시간 지나치는 설정 항목인 Patition에 대한 내용이다.

최근 PC및 서버에서 EFI 환경으로 OS를 설치하는 경우가 많아졌다. 기본적으로 EFI는 그래픽 인터페이스를 제공하여 사용자의 편의성을 제공하고, 대용량 디스크와 다수의 파티션을 사용할 수 있는 장점이 있다.



Windows 8.1을 설치한 PC에서 DISKPART 명령어로 확인 해 본 결과 디스크는 GPT형식으로 잡혀있으며, 다수의 300MB와 128MB라는 내 컴퓨터에서는 보이지 않는 파티션이 잡혀있는 것을 확인할 수 있다. 이는 ESP(EFI(Extensible Firmware Interface) 시스템 파티션), MSR(Microsoft® Reserved) 파티션이다.

기본 UEFI 파티션 구조 다이어그램
https://technet.microsoft.com/ko-kr/library/dd744301(v=ws.10).aspx

평상시에는 느끼지 못 하지만, BIOS(MBR)과 EFI(GPT)의 경우 서버의 부팅환경에서 큰 차이를 보인다. System Board의 Firmware에서 부팅을 위해 MBR또는 EFI를 찾게되고, 바로 이곳부터 OS의 부팅이 시작되게 때문이다. 마찬가지로 UEFI환경에 설치된 OS를 Veritas 사의 SSR 등의 Third Party Tool 등으로 Restore를 진행할 때에는 보이지 않는 볼륨을(MBR구성에 비교해 설치 과정에서 추가했던 볼륨) 모두 받아야 하고, 복구 CD로 부팅 후, 미리 EFI/MSR 볼륨을 만들어 준 후 복원을 해야한다.

이 때, 복구 CD(대부분 Windows PE버전일 것이다)의 CMD(DISKPARK명령어)를 활용하여 아래와 같이 불륨을 미리 잡아 줄 수 있다.

select disk 0
clean
convert gpt
create partition efi size=100
format quick fs=fat32 label="System"
assign letter="S"
create partition msr size=128
create partition primary
format quick fs=ntfs label="Windows"
assign letter="W"

특이 사항으로 복구 옵션에 "활성 드라이브" 및 "MBR 복구" 를 빼고 진행하면 무사히 OS를 복원할 수 있다.
http://www.veritas.com/community/blogs/restoring-uefi-based-system-symantec-system-recovery-2013
https://www.veritas.com/support/en_US/article.TECH224623


재미있는 것은 LINUX 서버를 운영하면서 마찬가지로 MBR과 GPT에 대한 고민을 하게 된다는 점이다. DISK를 바라보는 관점에서 MBR은 CHS(Cylinder-Head-Sector)를 기준으로 DISK와 Partition를 활용하게 되는데(사실 지금 대부분의 상용 LINUX는 그렇지 않다), GPT의 경우 LBA(Logical Block Addressing)의 기준으로 DISK와 Partition을 사용하게 된다. CHS의 경우 실린더를 기준으로 파티션을 나누었다. AIX에서는 성능을 고려하여 파티션을 디스크의 안쪽/중심부/외곽에 위치할지도 결정할 수 있었다.


LBA는 HDD 전체 섹터에 0부터 일련 번호를 붙여서 관리하는 조금 더 단순한 방식이다. 실제 현재 사용하는 LINUX에서 fdisk -lu로 보면 예전의 실린더와 섹터의 개념이 남아있지만, 실제 그 값이 정확히 일치하지 않고, 결국 LBA의 기준으로 Partition을 구성하게 된다.

그리고 GTP 특히, 2TB이상의 OS디스크를 설치 할 시 LINUX서버의 경우 /boot/efi 라는 별도 Partition에 GRUB을 설치하게 되고, 서버의 Firmware에서 이를 불러오게 된다. 특히 최근 대용량 DBMS나 FileSystem의 수요가 많을 수록 GPT구성은 필수가 되었고, 변경 작업이나 복구에 대한 방법도 늘 고려의 대상이 되었다. 현재 GPT와 MBR방식을 On-Line으로 바꾸어줄 수 있는 기술은 없기 때문에 변경이 필요하다면 DISK 위에 FileSystem을 모두 들어내야 하기 때문에 많은 구성 전 많은 주의가 요구된다.

Intel은 EFI표준을 만들어 PC 및 서버 시장에 변화를 리딩하고 있는데, 아래 링크도 읽어볼만 하다.
https://software.intel.com/en-us/articles/uefi-architecture-and-technical-overview







댓글

이 블로그의 인기 게시물

Windows Packet Monitoring by SmartSniff (smsniff)

Starting Xperf by Windows Performance Tools (WPT)

Installing IPMI Tool for Linux Server