Microsoft MVP성태의 닷넷 이야기
Windows: 80. 윈도우 서버 백업의 복원하는 옵션 설명 [링크 복사], [링크+제목 복사],
조회: 15604
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

윈도우 서버 백업의 복원하는 옵션 설명

그동안 윈도우 서버의 백업만 해오다가 지난번 사태로 인해 처음으로 (시스템) 복원을 시도해봤습니다. ^^;

Hyper-V 서비스 시작 오류 - Not enough storage is available to complete this operation.
; https://www.sysnet.pe.kr/2/0/1568

"Windows Server Backup" MMC 도구를 실행하면 "Recovery..." 옵션을 선택해 복원을 진행할 수 있는데요. 이때 Recovery 마법사는 다음과 같이 백업이 저장된 위치를 먼저 물어봅니다.

recover_backup_1.png

제 경우에는 같은 컴퓨터에 HDD 하나를 백업 전용으로 달아 두었기 때문에 첫 번째 옵션을 선택해 진행했습니다. 참고로, 같은 머신일지라도 운영체제가 새로 설치되어 이전 운영체제의 백업본을 접근하는 경우라면 "This server(...)"에 해당하지 않습니다. 그런 경우에는 "A backup stored on another location"을 선택한 후에 현재 PC의 하드를 지정해야 합니다. 안 그러면 vhdx 백업본을 Raw 상태의 HDD로 인식하는 경우가 있어 그다음 단계에서 날짜를 선택할 때 아래의 오류 메시지가 뜨면서 진행되지 않습니다.

The disk New Volume (...) that contains the backup is either not online or is not accessible. Make sure this disk is connected to the computer and is accessible for the recovery to continue. Otherwise, choose a recovery date for which the disk is online and accessible, or choose a backup from another storage location.


정상적으로 진행하면 백업본이 생성된 날짜를 선택할 수 있고, (굵은 글씨체로 보이는 숫자입니다.)

recover_backup_2.png

해당 백업본을 대상으로 다음과 같이 5개의 옵션으로 복원을 할 수 있습니다.

recover_backup_3.png

  1. Files and folders: 말 그대로 파일 및 폴더를 복원하는 것으로 복원해야 할 대상이 명확할 때 사용하면 됩니다.
  2. Hyper-V: 아마도 서비스 정지로 인해 비활성화된 듯 싶고.
  3. Volumes: 백업에 저장된 "System Reserved" 및 특정 드라이브에 저장된 모든 데이터를 기존의 내용을 덮어쓰는 형식이 아닌, 운영체제가 설치되지 않은 일반 드라이브를 대상으로 풀어냅니다. 즉, 하드 디스크 볼륨 단위의 원복이 아닙니다.
  4. Applications: 현재 공식적으로 지원되는 것은 "Registry" 하나에 불과하므로 거의 쓸일이 없습니다. 게다가 "Volumes" 옵션과 마찬가지로 기존 설정에 덮어쓰는 형식이 아니고 새롭게 파일로 쓰는 형식입니다.
  5. System state: 기존 파일을 덮어쓰는 형식이긴 하지만 보안 접근이 불가능한 파일은 복원하지 못하고 실패합니다. 또는 "Volumes" 옵션처럼 기존 설정을 덮어쓰지 않고 특정 폴더에 풀어내는 것이 가능합니다.

이 중에서 운영체제의 구성 요소가 잘못되어 복원을 하는 경우라면 "System state" 옵션을 선택해야 하는데요. 아쉽게도 위에서 설명한 이유로 인해 대개의 경우 복원이 실패합니다. 왜냐하면 운영체제가 실행 중이기 때문에 복원이 불가능한 것입니다. (사실 운영체제가 실행된 상태에서의 "System state" 옵션은 거의 의미가 없습니다.) 대신 윈도우 설치 디스크를 이용해 부팅을 시키면 그제서야 제대로 된 "System state" 복원이 가능합니다. 이에 대해서는 다음의 글을 참고하세요.

Windows Recovery Environment overview
; https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd979562(v=ws.10)




"Files and folders" 복원 옵션을 선택한 경우 원본 위치로 쓰거나 별도의 폴더를 지정하는 것도 가능합니다. 그리고 원본 위치일지라도 다음과 같이 3개의 옵션을 선택할 수 있습니다.

recover_backup_4.png

  1. Create copies so that you have both versions: 예를 들어, "c:\temp\test.txt"라는 파일이 이미 있는 경우, 복원되는 파일을 해당 파일에 덮어쓰지 않고 "c:\temp\2014-01-05 13-49 Copy of test.txt"라는 식의 이름으로 새롭게 중복해서 복원합니다.
  2. Overwrite the existing versions with the recovered versions: 복원본에 있는 내용으로 기존 파일을 덮어씁니다.
  3. Do not recover the items that already exist on the recovery destination: 현재 존재하지 않는 파일에 대해서만 복원본으로부터 파일을 가져옵니다.

여기서 디스크 드라이브를 대상으로 "Create copies so that you have both versions" 옵션을 선택해 복원하게 되면 2배 가량의 디스크 공간이 점유될 것입니다. 물론, 복원하다가 용량이 부족하면 실패하고 거기서 작업은 멈춥니다. 참고로 "Security settings"의 "Restore access control list (ACL) permissions to the file or folder being recovered" 옵션을 주의해야 할 필요가 있습니다. 이 옵션은 기본 선택되어 있는데, 복원되는 ".... Copy of ..." 파일들의 보안도 원본 파일을 그대로 따라가게 되므로 "C:\Program Files"와 같은 식의 폴더/파일인 경우 "TrustedInstaller" 보안이 적용된다는 문제가 발생합니다.

그래도 당황하지 마시고 다음의 명령어로 일괄 삭제(또는 보안 변경)할 수 있으니 참고하세요. ^^ (그렇습니다. 제가 실수로 그 옵션을 선택해 시스템 드라이브 전체를 복원하려 했습니다.)

cd "C:\Windows"

takeown /f "2014-01-05 13-49 Copy of*" /skipsl /r /a /d n
takeown /f "2014-01-05 13-49 Copy of*" /skipsl /r /a /d y

icacls "2014-01-05 13-49 Copy of*"  /grant "Users":F /T /C

del "2014-01-05 13-49 Copy of*" /S
del /AH "2014-01-05 13-49 Copy of*" /S
del /AR "2014-01-05 13-49 Copy of*" /S
del /AA "2014-01-05 13-49 Copy of*" /S

dir /a/s "2014-01-05 13-49 Copy of*"




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/17/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13493정성태12/19/20232859닷넷: 2185. C# - object를 QueryString으로 직렬화하는 방법
13492정성태12/19/20232506개발 환경 구성: 699. WSL에 nopCommerce 예제 구성
13491정성태12/19/20232329Linux: 63. 리눅스 - 다중 그룹 또는 사용자를 리소스에 권한 부여
13490정성태12/19/20232460개발 환경 구성: 698. Golang - GLIBC 의존을 없애는 정적 빌드 방법
13489정성태12/19/20232233개발 환경 구성: 697. GoLand에서 ldflags 지정 방법
13488정성태12/18/20232204오류 유형: 884. HTTP 500.0 - 명령행에서 실행한 ASP.NET Core 응용 프로그램을 실행하는 방법
13487정성태12/16/20232491개발 환경 구성: 696. C# - 리눅스용 AOT 빌드를 docker에서 수행 [1]
13486정성태12/15/20232303개발 환경 구성: 695. Nuget config 파일에 값 설정/삭제 방법
13485정성태12/15/20232177오류 유형: 883. dotnet build/restore - error : Root element is missing
13484정성태12/14/20232291개발 환경 구성: 694. Windows 디렉터리 경로를 WSL의 /mnt 포맷으로 구하는 방법
13483정성태12/14/20232416닷넷: 2184. C# - 하나의 resource 파일을 여러 프로그램에서 (AOT 시에도) 사용하는 방법파일 다운로드1
13482정성태12/13/20233115닷넷: 2183. C# - eFriend Expert OCX 예제를 .NET Core/5+ Console App에서 사용하는 방법 [2]파일 다운로드1
13481정성태12/13/20232432개발 환경 구성: 693. msbuild - .NET Core/5+ 프로젝트에서 resgen을 이용한 리소스 파일 생성 방법파일 다운로드1
13480정성태12/12/20232823개발 환경 구성: 692. Windows WSL 2 + Chrome 웹 브라우저 설치
13479정성태12/11/20232484개발 환경 구성: 691. WSL 2 (Ubuntu) + nginx 환경 설정
13477정성태12/8/20232730닷넷: 2182. C# - .NET 7부터 추가된 Int128, UInt128 [1]파일 다운로드1
13476정성태12/8/20232474닷넷: 2181. C# - .NET 8 JsonStringEnumConverter의 AOT를 위한 개선파일 다운로드1
13475정성태12/7/20232536닷넷: 2180. .NET 8 - 함수 포인터에 대한 Reflection 정보 조회파일 다운로드1
13474정성태12/6/20232352개발 환경 구성: 690. 닷넷 코어/5+ 버전의 ilasm/ildasm 실행 파일 구하는 방법 - 두 번째 이야기
13473정성태12/5/20232630닷넷: 2179. C# - 값 형식(Blittable)을 메모리 복사를 이용해 바이트 배열로 직렬화/역직렬화파일 다운로드1
13472정성태12/4/20232288C/C++: 164. Visual C++ - InterlockedCompareExchange128 사용 방법
13471정성태12/4/20232421Copilot - To enable GitHub Copilot, authorize this extension using GitHub's device flow
13470정성태12/2/20232760닷넷: 2178. C# - .NET 8부터 COM Interop에 대한 자동 소스 코드 생성 도입파일 다운로드1
13469정성태12/1/20232586닷넷: 2177. C# - (Interop DLL 없이) CoClass를 이용한 COM 개체 생성 방법파일 다운로드1
13468정성태12/1/20232416닷넷: 2176. C# - .NET Core/5+부터 달라진 RCW(Runtime Callable Wrapper) 대응 방식파일 다운로드1
13467정성태11/30/20232551오류 유형: 882. C# - Unhandled exception. System.Runtime.InteropServices.COMException (0x800080A5)파일 다운로드1
1  2  3  4  5  [6]  7  8  9  10  11  12  13  14  15  ...