원문 : 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 20650
101 파일sync 프로그램 - AllwaySync secret 조인상 2010.08.27 0
» Windows 2016에서 디스크 미러하기(Non H/W RAID 환경) file ischo 2022.05.30 319
99 [보안 권고] 클롭(CLOP) 랜섬웨어 동향 및 대응 방안 - 스크랩 ischo 2019.09.10 1255
98 스크립트 : 활성 NIC에 DNS서버 변경하기 ischo 2017.09.01 4489
97 Win 2K에서 여러 디스크를 만드는 방법은 ? 조인상 2010.05.12 6023
96 Windows 2012 에서 원격데스크탑 세션 개수 무제한 처리 조인상 2017.01.10 6240
95 win2000 이상의 도스프롬프트에서 영문코드 사용하기 조인상 2010.05.12 6344
94 4가지 시계 화면보호기와 낙타 화면보호기 모음"Free Screensavers" v1.3 file 조인상 2010.05.11 6404
93 Windows 시리즈 기본 LANGUAGE 변경법 조인상 2010.05.12 6442
92 자주쓰는 관리툴 QuickPath 조인상 2010.05.12 6475
91 boot.ini file 안의 긴 이름은 무엇을 의미하는 것인가? 조인상 2010.05.12 6765
90 Windows 2000 administrator 유저 암호파일 조인상 2010.05.12 6810
89 Windows에서 Disk I/O 성능 측정하기 - diskspd file chosim1 2020.03.11 6847
88 테라카피 file 조인상 2010.05.11 7029
87 언라커 unlocker file 조인상 2010.05.11 7135
86 Win2003 에서 NetBEUI을 설치 조인상 2010.05.09 7598
85 파워 서플라이/파워 케이블 명세 file 조인상 2010.05.12 7611
84 커맨드라인으로 ip 바꾸기 조인상 2010.05.12 7654
83 특정포트로 ping을 날리는 유틸 file 조인상 2016.10.07 7654
82 Windows 2003 SP1 admin pack file 조인상 2010.05.12 7666
서버에 요청 중입니다. 잠시만 기다려 주십시오...