이곳은 백업 블로그 입니다. 현재 캐플이 활동 중인 블로그는 CAppleBlog.co.kr 입니다. 최신 정보들은 새로운 블로그에서 확인해 보세요. ^^

- 이곳은 기존 블로그들의 글을 한군데로 모아 놓은 백업 블로그입니다.

- 현재 링크는 대부분 올바르지 않으며 이러한 링크들은 모두 cappleblog.co.kr 로 이동합니다. (※ 링크 주의)

- 블로그와 커뮤니티는 서로 다른 공간입니다.(로그인을 따로 해야합니다.)

- 저는 윈티티(WinTT)이자 신비(ShinB)이며 캐플(CApple)입니다. 편한대로 불러주세요.

Snapshot

컴퓨터에 어떠한 영향을 미칠지 모르는 작업을 해야만 할 때 여러분들은 어떻게 하시나요? 가장 먼저 시스템의 현재 상태를 고스트와 같은 툴로 백업하는 일을 가장 먼저 하게 될 겁니다. 그리고 문제가 생긴다면 백업본을 바탕으로 다시 되돌리는 것이지요.

VMware Workstation 에서는 가상 머신의 현재 상태를 저장하고 언제든지 그 때 그 상태로 되돌아갈 수 있는 스냅샷이라는 기능을 제공합니다. 일종의 가상 머신에 대한 백업이라고 생각하시면 됩니다. 가상 머신 전체를 저장하는 것이기 때문에 하드웨어의 구성까지도 저장이 되는 막강한 기능을 자랑합니다. 누군가 저에게 VMware 의 최대 장점이 무엇이냐고 묻는다면 저는 서슴없이 이 스냅샷 기능이라고 할 수 있을 정도로 굉장히 유용한 기능입니다.

그렇다면 실제로 서비스 팩을 버전별로 설치하고 되돌려 보는 작업을 통해 스냅샷을 생성하고 복원, 관리하는 과정을 배워보도록 하겠습니다.

가상 머신의 상태를 저장하고자 하는 상태에서 메뉴 -> VM -> Snapshot -> Take Snapshot 으로 들어갑니다.
스냅샷의 이름과 설명을 적절히 적은 후 OK 버튼을 클릭합니다.
스냅샷의 저장을 시작합니다. 약간의 시간이 필요하니 기다립니다.

※ VMware 6.5 이전 버전에서는 백그라운드 작업이 기본 값이었으나 6.5 버전부터는 포그라운드 작업이 기본 값입니다.
스냅샷의 저장을 모두 마쳤습니다. 저장된 스냅샷을 확인해 보도록 하겠습니다. 메뉴 -> VM -> Snapshot -> Snapshot Manager 로 들어갑니다.
저장된 스냅샷을 확인할 수 있습니다.


스냅샷 작업을 백그라운드로 전환하기

6.5 이전 버전까지는 스냅샷 작업은 백그라운드가 기본 값이었기 때문에 스냅샷이 저장되는 중간에도 가상 머신에서 작업을 계속할 수 있었습니다. 이러한 방식에 익숙한 사용자는 6.5 의 기본 값인 포그라운드 작업이 다소 불편하게 느껴질 수 있습니다. 스냅샷 작업을 백그라운드로 설정하는 방법은 다음과 같습니다.

메뉴 -> Edit -> Preferences -> Priority -> Take and restore snapshots in the background 체크



어떻습니까? VMware 에서 스냅샷 저장하는 것 굉장히 쉽죠?

참~ 쉽죠잉~


스냅샷 관리자에서 You Are Here 는 가상 머신의 현재 위치를 나타냅니다. 자신의 가상 머신이 어떠한 스냅샷 후에 이어서 작업이 이루어지고 있는지 알려주게 되죠. 이 상태에서 새로운 스냅샷을 만들게 되면 해당 스냅샷은 You Are Here 의 위치에 저장이 되게 됩니다. 이 You Are Here 는 스냅샷의 갈래를 만들 때 중요한 참고가 되기 때문에 You Are Here 의 위치가 무엇을 의미하는지 반드시 기억하고 계시길 바랍니다.

※ 스냅샷 관리자에서도 스냅샷을 생성하는 작업이 가능하지만 일단은 VM 메뉴를 통해 작업을 진행하도록 하겠습니다.

이제 이 상태에서 가상 머신에 어떠한 변화를 주고 다시 스냅샷을 저장해 보도록 하겠습니다. 글에서는 서비스 팩 1 을 설치한 후 스냅샷을 저장해 보도록 하죠. 확실한 구별을 위해 배경화면을 다르게 지정하도록 하겠습니다.

서비스 팩 1 을 설치한 직후입니다. 메뉴 -> VM -> Snapshot -> Take Snapshot 으로 들어갑니다.
스냅샷의 이름과 설명을 적절히 적은 후 OK 버튼을 클릭합니다.
스냅샷의 저장을 시작합니다. 약간의 시간이 필요하니 기다립니다.
스냅샷 관리자로 들어와 확인한 모습입니다. 스냅샷이 정상적으로 저장된 모습입니다.



이제 서비스 팩 2 를 설치해 보도록 하겠습니다. 이 상태에서 바로 서비스 팩 2 를 설치할 수도 있지만 저는 서비스 팩 2 를 윈도우 XP 오리지널 상태에서 설치를 해보고 싶군요. 가상 머신을 다시 오리지널 상태로 되돌린 후 서비스 팩 2 를 설치하도록 하겠습니다. 이 작업을 통해 순서대로 스냅샷이 이어져 나가는 것 외에 스냅샷의 갈래를 구성하는 것을 이해하실 수 있게 되실 겁니다.

먼저 첫 번째 스냅샷인 윈도우 XP 오리지널 상태로 되돌아가도록 하겠습니다. 가상 머신의 현재 위치, 즉 You Are Here 의 위치 변화를 잘 보시길 바랍니다.

스냅샷 관리자에서 되돌아가고자 하는 스냅샷을 선택한 후 Go To 버튼을 클릭합니다.
현재의 모든 상태를 잃는다는 경고 메시지 입니다. Yes 버튼을 클릭합니다.
과거의 스냅샷 상태로 되돌리는 중입니다. 잠시 기다리시면 됩니다.
윈도우 XP 오리지널 상태로(스냅샷 1) 되돌아온 모습입니다.

You Are Here 의 위치 또한 이에 맞게 윈도우 XP 오리지널의 뒤로 위치한 것을 확인할 수 있습니다.



우리는 지금 첫 번째 스냅샷인 윈도우 XP 오리지널 상태로 되돌린 것이기 때문에 가상 머신의 현재 위치는 당연히 위의 스크린 샷에서 보는 것과 같이 윈도우 XP 오리지널의 뒤로 위치하게 되는 겁니다. 이제 이 상태에서 스냅샷을 저장하게 되면 현재 위치 즉 You Are Here 에 스냅샷이 저장이 되는 것 입니다. 이와 같은 방식으로 스냅샷의 갈래가 구성이 되는 것 입니다. 이해하시겠죠?

스냅샷을 통해 되돌리기 전에 저장하지 않은 모든 정보를 잃을 수 있다는 경고 메시지가 출력이 되게 되는데 이는 스냅샷을 저장한 후 부터 이루어진 모든 작업 즉, 스냅샷으로 저장하지 않은 현재의 모든 변화를(You Are Here 의 상태) 잃게 된다는 뜻 입니다. 백업과 복원을 한 번이라도 해보신 분이라면 무슨 의미인지 쉽게 이해하실 수 있을거라 생각합니다.

이제 서비스 팩 2 를 설치하고 스냅샷으로 저장해 보도록 하겠습니다.

서비스 팩 2 를 설치한 직후입니다. 메뉴 -> VM -> Snapshot -> Take Snapshot 으로 들어갑니다.
스냅샷 관리자로 들어와 확인한 모습입니다. 스냅샷이 정상적으로 저장된 모습입니다.



어떻습니까? 이제 가상 머신의 스냅샷을 저장하고 되돌리는 것에 대해 확실히 아시겠죠? 서비스 팩 3 는 서비스 팩 1 과 2 상태 모두에서 설치가 가능하기 때문에 서비스 팩 1 과 서비스 팩 2 상태에서 각각 설치하여 스냅샷으로 저장을 해 보았습니다.




이와 같이 스냅샷을 활용하면 어떠한 작업에 대한 결과를 각각의 분기별로 저장하여 언제든 되돌아가거나 조건을 달리하여 같은 작업을 진행한 후 각각 스냅샷으로 저장하여 비교를 해보는 등 그 활용가치가 매우 큰 기능이라 할 수 있습니다.

이러한 스냅샷에도 어쩔 수 없는 한 가지 단점이 있는데 아무래도 가상 머신의 상태를 저장하는 것이다보니 가상 머신의 하드 디스크 변동량 + 가상 머신의 메모리 용량 만큼의 호스트 하드 디스크의 용량을 잡아먹는다는 점 입니다. 하드 디스크의 변동량을 저장하는 것은 어쩔 수 없는 부분이기 때문에 그러려니 하겠지만 가상 머신의 메모리 용량만큼 항상 메모리 저장 파일이 생성된다는 것은 굉장히 아깝게 느껴질 수 있습니다.

하지만 스냅샷은 가상 머신이 구동된 상태에서만 저장할 수 있는 것은 아닙니다. 가상 머신이 꺼진 상태에서도 스냅샷을 저장할 수 있죠.




이와 같이 가상 머신을 끈 상태에서 스냅샷을 저장하게 되면 굳이 메모리의 내용을 저장할 필요가 없기 때문에 메모리 저장 파일은 생성이 되질 않습니다. 아래의 스크린 샷은 1~3 번 스냅샷은 가상 머신이 동작 중인 상태에서 스냅샷을 찍고 4~5 번 스냅샷은 가상 머신을 끈 상태에서 스냅샷을 찍은 후 생성된 파일들을 비교해 놓은 것 입니다.

가상 머신을 끈 상태에서 저장한 스냅샷에는 vmem 파일이 생성되지 않습니다.



위의 스크린 샷에서 확인할 수 있듯이 가상 머신이 작동 중인 상태에서는 항상 가상 머신의 메모리 용량 만큼 vmem 파일이 생성되고 가상 머신의 동작 상태를 저장한 vmsn 파일의 크기도 크지만 가상 머신을 끈 상태에서 저장한 스냅샷에서는 vmem 파일은 생성되지 않고 vmsn 파일의 용량도 작은 것을 확인할 수 있습니다.

현재 예로 들고 있는 가상 머신의 메모리 용량이 256MB 로 작게 설정하여 크게 느껴지지 않을 지 모르겠지만 만약 비스타를 구동시키기 위한 가상 머신처럼 메모리의 용량을 굉장히 크게 잡은 가상 머신의 경우엔 스냅샷을 한 번씩 저장할 때 마다 vmem 파일이 쌓이고 이는 엄청난 공간 낭비를 불러오게 됩니다. 만약 가상 머신의 메모리가 2GB 라면 스냅샷을 다섯 번만 찍으면 10GB 를 그냥 잡아먹는 것 입니다.

그렇기 때문에 스냅샷을 저장할 때 반드시 가상 머신이 작동 중인 상태여야만 하는 경우가 아니라면(예를 들어 윈도우 설치 중간 스냅샷을 찍어야 한다던지) 가급적 가상 머신을 종료한 후 스냅샷을 저장하는 것을 추천해 드립니다.



그럼 이제 스냅샷을 지워보도록 하겠습니다. 스냅샷을 지우는 것은 굉장히 간단합니다.

스냅샷 관리자에서 지우고자 하는 스냅샷을 선택한 후 Delete 버튼을 클릭합니다.
Yes 버튼을 클릭합니다.
스냅샷이 정상적으로 지워진 모습입니다.


스냅샷을 지울 때는 굳이 순서대로 지울 필요 없이 처음이나 중간에 위치한 스냅샷을 바로 지울 수도 있습니다. 이렇게 스냅샷 사이에 위치한 스냅샷을 지울 때는 중간에 위치한 스냅샷을 통합하는 작업을 하기 때문에 스냅샷 제거에 약간의 시간이 필요하게 됩니다.








독립 디스크의 활용

VMware 의 스냅샷 기능은 굉장히 강력하고도 편리하지만 한 가지 치명적인 단점이 있습니다. 그것은 바로 모든 하드 디스크의 변동 사항까지 저장되어 되돌아간다는 것 입니다. 이는 작업에 따라 장점이 될 수도 있지만 때론 치명적인 단점이 될 수도 있습니다. 스냅샷에 관계없이 특정 디스크의 자료는 보존하고자 하는 경우엔 굉장히 난감할 수 밖에 없습니다.

예를 들어 서버의 DB 가 저장되는 디스크는 스냅샷에 관계없이 자료가 보존되어야만 합니다. 그렇지만 스냅샷을 통해 뒤로 되돌리게 되면 DB 의 내용도 스냅샷을 저장할 때 상태 그대로 되돌아가 버리게 되는데 이는 자료의 유실이라는 서버 입장에서 본다면 굉장히 어이없고 난감하고도 황당한 시츄에이션이 아닐 수 없습니다.

그래서 VMware 에서는 디스크를 생성할 때 독립 디스크라는 옵션을 가지고 있습니다. 바로 스냅샷과는 상관없이 독립적으로 작동하는 하드 디스크를 만들 수 있는 것이죠. VMware 사가 바보가 아닌 이상에야 서버를 주력으로 하는 제품에 이런 황당한 시츄에이션을 사용자에게 겸허하게 받아들이라고 하진 않습니다. 다 기능이 있습니다.


가상 머신의 하드 디스크 타입이 IDE 라면 바로 독립 디스크 형식으로 변경을 할 수 있습니다. 하지만 이미 스냅샷이 한 번이라도 생성된 디스크라면 독립 디스크 형식으로 변환할 수 없게 됩니다. 그럴 땐 새로 하드 디스크를 만들어서 추가해주는 작업을 해 주어야만 합니다.

가상 머신에 하드 디스크를 추가합니다. 하드 디스크 생성 옵션 중간 Mode 의 Independent 체크 박스를 체크하고 종류는 Persistent 로 선택합니다.
Persistent 형 독립 디스크를 추가한 모습입니다.
가상 머신으로 부팅하여 하드 디스크를 사용할 수 있도록 파티션 작업 및 포맷까지 모두 마쳤습니다. 이 독립 디스크는 현재 아무 파일도 기록되지 않은 깨끗한 상태입니다.



이제 이 상태에서 스냅샷을 저장하도록 하겠습니다. 가상 머신에 독립 디스크가 존재하면 가상 머신이 작동 중인 상태에서는 스냅샷을 저장할 수 없습니다. 가상 머신을 종료한 후 스냅샷을 저장합니다.

가상 머신을 종료한 후 스냅샷을 저장합니다.
스냅샷이 저장된 모습입니다.



이제 가상 머신을 다시 작동시킨 다음 독립 디스크에 파일을 저장해 보도록 하겠습니다.




위의 스크린 샷과 같이 독립 디스크에 파일을 저장한 후 독립 디스크를 막 추가한 후 저장했던 스냅샷으로 되돌아가도록 하겠습니다. 원래대로라면 위의 파일들은 스냅샷이 저장된 후 추가된 파일들이기 때문에 되돌아가게 되면 모든 자료가 스냅샷의 상태 때로 깨끗하게 사라지게 될 것 입니다. 하지만 이 파일들이 저장된 하드 디스크는 일반 디스크가 아닌 독립 디스크이기 때문에 스냅샷에 상관없이 자료가 사라지지 않고 그대로 보존이 될 것입니다. 그걸 확인해 보도록 하겠습니다.

독립 디스크를 막 추가한 상태의 스냅샷으로 되돌아 갑니다.
해당 스냅샷으로 되돌아간 후 독립 디스크의 내용을 살펴본 모습입니다. 자료가 사라지지 않고 그대로 보존되어 있는 것을 확인할 수 있습니다.



어떻습니까? 스냅샷을 통해 되돌아갔지만 독립 디스크의 내용은 사라지지 않고 그대로 보존된 것을 확인할 수 있습니다. 이제 독립 디스크란 것이 무엇인지 확실하게 아시겠죠? 적재적소에 독립 디스크를 잘 활용하시기 바랍니다.

Nonpersistent 형 독립 디스크

독립 디스크에는 두 가지 형식이 있는데 하나가 위에서 알아본 Persistent 형 독립 디스크이고 다른 하나가 바로 Nonpersistent 형 독립 디스크 입니다. Persistent 형 독립 디스크가 일반 디스크와 동일하게 사용가능한 것에 반해 Nonpersistent 형 독립 디스크는 조금 특이한 형식을 가집니다.

Nonpersistent 형 디스크는 가상 머신을 껐다가 다시 시작하게 되면 디스크의 내용이 초기로 되돌아가는 유형의 디스크 입니다. 즉, 애초에 디스크를 생성할 때 부터 Nonpersistent 유형으로 생성을 하게 되면 가상 머신을 작동하여 파티션을 나눠주고 포맷까지 마치고 파일들을 저장해 봤자 가상 머신을 껐다가 다시 켜게 되면 초기의 파티션도 할당 안 된 상태 그대로 다시 되돌아가 버리게 되는 겁니다.

즉, Nonpersistent 형 독립 디스크는 하드 디스크 롤백 프로그램과 유사한 특성을 가지는 디스크인 것 입니다.

그래서 Nonpersistent 형 디스크는 새로 생성하는 것 보다 이미 생성되어 자료가 들어있는 디스크를 Use an existing virtual disk 로 불러와서 Nonpersistent 형식으로 지정하는 방식을 이용하게 됩니다.









가상 머신의 복제

간혹 사용하고 있는 가상 머신과 똑같은 가상 머신이 한 대 더 필요한 경우가 있습니다. 그럴 때는 어떻게 해야 할까요? 물론 단순하게 가상 머신이 저장된 폴더를 통채로 복사한 후 Open 으로 열어주는 것 만으로도 가상 머신이 그대로 복제가 되긴 합니다. 하지만 이런 단순 무식한 방법을 사용하게 되면 원본 가상 머신과 복제 가상 머신을 함께 돌릴 때 네트워크 카드의 MAC 주소가 겹치는 등의 중복 오류가 발생하게 됩니다.

그렇기 때문에 가상 머신을 복제하고자 할 때는 이러한 중복으로 생기는 문제를 VMware 가 알아서 처리하여 복제해주는 Clone 기능을 활용하여 가상 머신을 복제하는 것이 좋습니다. 또한 Clone 기능은 현재 상태 뿐만 아니라 이전에 저장해 놓은 스냅샷 상태 그대로 복제하는 것도 가능합니다.

※ 스냅샷 상태에서 복제하는 것은 해당 스냅샷이 Power Off 상태에서 저장된 스냅샷이어야만 합니다.

그럼 실제로 가상 머신을 복제해 보도록 하겠습니다.

복제하려는 가상 머신을 선택한 후 메뉴 -> VM -> Clone 으로 들어갑니다.
다음 버튼을 클릭합니다.
The current state in the virtual machine 을 선택한 후 다음 버튼을 클릭합니다.

※ An existing snapshot (powered off only) 는 저장된 스냅샷에서 복제를 하는 옵션입니다. 이 때 해당 스냅샷은 반드시 Power Off 된 상태에서 저장된 스냅샷이어야 합니다.
Create a full clone 을 선택한 후 다음 버튼을 클릭합니다.

※ Create a linked clone 은 클론 가상 머신에 모든 파일을 복사하지 않고 원본 가상 머신의 파일들을 링크로 연결하여 복제하는 것을 의미합니다.
복제 가상 머신의 이름과 저장 경로를 설정한 후 마침 버튼을 클릭합니다.
가상 머신을 복제하고 있는 모습입니다. Full Clone 의 경우 복제에 시간이 다소 걸릴 수 있습니다.
복제를 모두 마쳤습니다. Close 버튼을 클릭합니다.
복제된 가상 머신의 요약 화면 입니다. 가상 머신을 시작해 보도록 하겠습니다.
가상 머신의 복제가 정상적으로 이루어진 것을 확인할 수 있습니다.



가상 머신의 복제에는 Full Clone 과 Linked Clone 이 있는데 Full Clone 은 가상 머신의 모든 파일을 모두 복사하는 복제이고 Linked Clone 은 원본 가상 머신의 파일에 연동하여 이루어지는 복제입니다.

Full Clone 은 모든 파일을 복사하기 때문에 복제에 원본 만큼의 용량이 필요하다는 단점이 있지만 복제를 마친 후 원본과 상관없이 독립적으로 운영 가능하다는 장점이 있습니다.

반면 Linked Clone 은 원본 가상 머신의 파일에 연동하여 이루어지는 복제이기 때문에 용량이 굉장히 작게 든다는 장점이 있지만 원본 가상 머신이 반드시 필요하다는 단점이 있습니다. 만약 원본 가상 머신을 제거하게 되면 복제된 가상 머신은 정상적으로 작동하지 않습니다. 또한 원본 가상 머신에서 독립 디스크를 사용하는 등의 특정한 환경에서는 Linked Clone 은 사용할 수 없습니다.

결국 진정한 의미의 복제는 Full Clone 방식이라고 할 수 있습니다. 하지만 자신의 하드 디스크의 여유 공간 등을 잘 파악하여 Full Clone 과 Linked Clone 중 적절한 방식을 잘 선택하는 것이 중요합니다.



이상으로 스냅샷과 클론 기능을 통한 가상 머신의 백업과 복원 그리고 복제에 대해서 모두 알아보았습니다. 지금 이곳에서 알아본 기능들이야 말로 어찌보자면 가상 머신을 사용하는 큰 이유이자 활용가치가 굉장히 높은 기능들이 아닐까 생각합니다.
: