원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

 

 

하드웨어 미러를 사용하지 않는 머신에서 Windows 2016 미러디스크로

2개중 한개의 디스크 고장발생시 무중단으로 운영하는 방법을 공유합니다.

 

------------------------------------------------------------------------------

디스크0 : Windows 2016 운영체제가 설치된 디스크 (40GB) 

디스크1 : 미러할 디스크 (40GB)

미러할 볼륨은 C 와 D 드라이브 2개

------------------------------------------------------------------------------

 

 

1. 1번 디스크에 GPT 파티션 테이블 만들기

 

## 디스크1의 GPT로 변경하고 모든 파티션을 삭제하기

 

C:\Users\Administrator>diskpart

Microsoft DiskPart 버전 10.0.14393.0

Copyright (C) 1999-2013 Microsoft Corporation.
컴퓨터: WIN-V9O8MPFR0K8

DISKPART> list disk

  디스크 ###  상태           크기     사용 가능     Dyn  Gpt
  ----------  -------------  -------  ------------  ---  ---
  디스크 0    온라인         40 GB       1024 KB   *    *
  디스크 1    온라인         40 GB         39 GB

DISKPART> select disk 1

1 디스크가 선택한 디스크입니다.

DISKPART> clean

DiskPart에서 디스크를 정리했습니다.

DISKPART> convert gpt

DiskPart에서 선택한 디스크를 GPT 형식으로 변환했습니다.

DISKPART>

DISKPART> list part

  파티션 ###  종류              크기     오프셋
  ----------  ----------------  -------  -------
  파티션 1    예약됨                128 MB    17 KB

DISKPART> select part 1

1 파티션이 선택한 파티션입니다.

DISKPART> delete part override

DiskPart에서 선택한 파티션을 삭제했습니다.

 

 

## 디스크0과 디스크1의 파티션을 동일하게 만들기

 

DISKPART> list part

이 디스크에 표시할 파티션이 없습니다.

DISKPART> select disk 0

0 디스크가 선택한 디스크입니다.

DISKPART> list part

  파티션 ###  종류              크기     오프셋
  ----------  ----------------  -------  -------
  파티션 1    복구                 450 MB  1024 KB
  파티션 2    시스템                 99 MB   451 MB
  파티션 3    동적 예약             1024 KB   550 MB
  파티션 4    예약됨                 15 MB   551 MB
  파티션 5    동적 데이터              11 GB   566 MB
  파티션 6    동적 데이터              28 GB    11 GB

DISKPART> select disk 1

1 디스크가 선택한 디스크입니다.

DISKPART> create partition primary size=450

DiskPart에서 지정한 파티션을 만들었습니다.

DISKPART> format quick fs=ntfs label="WinRE"

  100 퍼센트 완료

DiskPart가 볼륨을 성공적으로 포맷했습니다.

DISKPART> set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"

DiskPart에서 파티션 ID를 설정했습니다.

DISKPART> create partition efi size=99

DiskPart에서 지정한 파티션을 만들었습니다.

DISKPART> create partition msr size=15

DiskPart에서 지정한 파티션을 만들었습니다.

DISKPART> list part

  파티션 ###  종류              크기     오프셋
  ----------  ----------------  -------  -------
  파티션 1    복구                 450 MB  1024 KB
  파티션 2    시스템                 99 MB   451 MB
* 파티션 3    예약됨                 15 MB   550 MB

DISKPART>

 

 


2. 동적디스크 생성, 미러디스크 만들기

 

## 디스크1을 동적디스크로 변경


DISKPART> select disk 1

1 디스크가 선택한 디스크입니다.

DISKPART> convert dynamic

DiskPart에서 선택한 디스크를 동적 디스크 형식으로 변환했습니다.

DISKPART> list disk

  디스크 ###  상태           크기     사용 가능     Dyn  Gpt
  ----------  -------------  -------  ------------  ---  ---
  디스크 0    온라인         40 GB       1024 KB   *    *
* 디스크 1    온라인         40 GB         39 GB   *    *

 

## C드라이브와 D드라이브를 디스크1로 미러

 

DISKPART> select volume c

1 볼륨이 선택한 볼륨입니다.

DISKPART> add disk=1

DiskPart에서 미러를 볼륨에 추가했습니다.

DISKPART> select volume d

0 볼륨이 선택한 볼륨입니다.

DISKPART> list volume

  볼륨 ###  Ltr  레이블      Fs    형식       크기     상태          정보
  --------  ---  ----------  ----  ---------  -------  ------------  --------
* 볼륨 0     D   새 볼륨        NTFS  기본           28 GB  정상            페이지 파일
  볼륨 1     C               NTFS  미러           11 GB  다시 작성         부팅
  볼륨 2         복구          NTFS  파티션         450 MB  정상            숨김
  볼륨 3                     FAT3  파티션          99 MB  정상            시스템
  볼륨 4                           DVD-ROM        0 B  미디어 없음
  볼륨 5         WinRE       NTFS  파티션         450 MB  정상            숨김
  볼륨 6                     RAW   파티션          99 MB  정상            숨김

DISKPART> add disk=1

DiskPart에서 미러를 볼륨에 추가했습니다.

DISKPART> list volume

  볼륨 ###  Ltr  레이블      Fs    형식       크기     상태          정보
  --------  ---  ----------  ----  ---------  -------  ------------  --------
* 볼륨 0     D   새 볼륨        NTFS  미러           28 GB  다시 작성         페이지 파일
  볼륨 1     C               NTFS  미러           11 GB  다시 작성         부팅
  볼륨 2         복구          NTFS  파티션         450 MB  정상            숨김
  볼륨 3                     FAT3  파티션          99 MB  정상            시스템
  볼륨 4                           DVD-ROM        0 B  미디어 없음
  볼륨 5         WinRE       NTFS  파티션         450 MB  정상            숨김
  볼륨 6                     RAW   파티션          99 MB  정상            숨김

DISKPART>

 

 

 

 

## 아직 disk1 에서 EFI 파티션이 미러되지 않았습니다.

    디스크0의 EFI 파티션을 S드라이브, 디스크1의 EFI파티션을 T드라이브로 설정하여 데이터를 수동으로 복제해야 합니다.

 

DISKPART> select disk 1

1 디스크가 선택한 디스크입니다.

DISKPART> select part 2

2 파티션이 선택한 파티션입니다.

DISKPART> assign letter=T

DiskPart에서 드라이브 문자 또는 탑재 지점을 할당했습니다.

DISKPART> format fs=FAT32 quick

  100 퍼센트 완료

DiskPart가 볼륨을 성공적으로 포맷했습니다.

DISKPART> select disk 0

0 디스크가 선택한 디스크입니다.

DISKPART> select part 2

2 파티션이 선택한 파티션입니다.

DISKPART> assign letter=S

DiskPart에서 드라이브 문자 또는 탑재 지점을 할당했습니다.

DISKPART>

 


3. EFI 파티션을 디스크1로 복사하기

 

 

## bcdedit 명령어로 recoverysequence 값 확인하기

 

C:\Users\Administrator>bcdedit /enum | findstr recover
recoverysequence        {09169d53-daba-11ec-b17a-b76ec4ff3f78}
recoveryenabled         Yes
recoverysequence        {09169d53-daba-11ec-b17a-b76ec4ff3f78}
recoveryenabled         Yes

 

 

## 디스크0 고장시에도 디스크1의 EFI 파티션에서 부팅할 수 있게 하려면, BCD configuration 을 변경해야 합니다.


C:\Users\Administrator>bcdedit /copy {bootmgr} /d "Windows Boot Manager Cloned"
항목을 {09169d59-daba-11ec-b17a-b76ec4ff3f78}에 성공적으로 복사했습니다.

C:\Users\Administrator>bcdedit /set {09169d59-daba-11ec-b17a-b76ec4ff3f78} device partition=T:
작업을 완료했습니다.

C:\Users\Administrator>bcdedit /enum

Windows 부팅 관리자
--------------------
identifier              {bootmgr}
device                  partition=S:
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  ko-KR
inherit                 {globalsettings}
bootshutdowndisabled    Yes
default                 {current}
resumeobject            {09169d51-daba-11ec-b17a-b76ec4ff3f78}
displayorder            {current}
                        {09169d58-daba-11ec-b17a-b76ec4ff3f78}
toolsdisplayorder       {memdiag}
timeout                 30

 

 

## 디스크0의 EFI 파티션을 S드라이브, 디스크1의 EFI파티션을 T드라이브로 설정하여 데이터를 수동으로 복제합니다.


C:\Users\Administrator>s:

S:\>bcdedit /export S:\EFI\Microsoft\Boot\BCD2
작업을 완료했습니다.

S:\>robocopy S:\ T:\ /e /r:0

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Windows용 견고한 파일 복사
-------------------------------------------------------------------------------

  시작됨: 2022년 5월 30일 월요일 오전 12:23:17
        원본 = S:\
        대상 = T:\

        파일 : *.*

        옵션 : *.* /S /E /DCOPY:DA /COPY:DAT /R:0 /W:30

S:\>rename T:\EFI\Microsoft\Boot\BCD2 BCD

S:\>del S:\EFI\Microsoft\Boot\BCD2

 

001344.png

 

4. 테스트하기

 

“Microsoft Windows Server 2016 - 보조플렉스”  항목이 부팅리스트에 포함됩니다. 선택하여 부팅여부를 확인하세요.

 

 

001345.png

 

 

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 20619
101 bat 파일등 별도 실행파일을 서비스로 등록시키기 file 조인상 2011.06.27 41657
100 원격데스크탑 포트번호 변경 조인상 2010.06.12 37326
99 작업스케줄러에 등록하기 - at 명령어 사용법 조인상 2011.06.16 27243
98 FTP 전송 스크립트 조인상 2010.05.12 27087
97 WMDecode - winmail.dat 첨부파일 디코딩 file 조인상 2011.04.18 25020
96 Windows 2008 원격터미널세션 제한 해제하기 조인상 2012.09.27 24745
95 Windows 2008 환경에서 분실한 패스워드 초기화 조인상 2013.06.05 23524
94 긴 파일명, 폴더명의 검색/복사/삭제 "Path Too Long Utility" v1.4 file 조인상 2010.07.21 23028
93 Windows 시리즈 보안취약점 보완을 위한 정책강화 방법 조인상 2010.05.27 21767
92 특정디렉토리내 오래된 파일 자동삭제하기 [1] file 조인상 2012.11.15 19159
91 putty 로 ssh 접속시 보안키 저장위치 조인상 2012.06.21 17988
90 windows update를 위한 도메인 및 IP리스트 조인상 2014.07.18 16673
89 ProduKey v1.53 - windows,office,MS-SQL 잃어버린 시디키 복구하기(설치된 시디키도 확인) file 조인상 2012.08.08 16491
88 원격데스크탑 연결 프로그램 - Remote Desktop Organizer file 조인상 2010.07.09 16197
87 운영체제별 TTL값 차이 조인상 2013.01.18 16113
86 윈도우 서버 모니터링 툴 - IceSword file 조인상 2010.08.06 14985
85 작업관리자가 비활성화 되어있는 경우 조인상 2013.10.21 14883
84 win7/win2008 에서 부팅가능한 USB 만들기 조인상 2010.08.03 14870
83 프로세스 종료하는 명령어 taskkill 조인상 2010.05.12 14758
82 아웃룩 일정공유 조인상 2010.05.12 14526
서버에 요청 중입니다. 잠시만 기다려 주십시오...