가상화(virtualization)란 무엇일까요?
가상화를 처음 접해본다면, 개념이 생소해서 이해하기 어려울 수 있습니다.
그래서 쉽고 재밌게 설명하는 외국 유튜버분의 영상 내용을 정리해보았습니다. 도움이 되기를 바랍니다.
영상 앞부분의 가상화와 하이퍼바이저에 대한 내용 위주로 정리했습니다.
버츄얼박스를 설치하고 가상머신을 만드는 과정은 적어놓지 않았으니 원본 영상을 참고하세요.
you need to learn Virtual Machines RIGHT NOW!! (Kali Linux VM, Ubuntu, Windows)
https://www.youtube.com/watch?v=wX75Z-4MEoM&t=451s
가상화란 무엇일까요?
가상화가 대체 뭐야?
'가상화'라는 단어는 말그대로, 현실에 있지 않은 것을 현실에 있는 것처럼 모방한다 혹은 모사한다, 라는 의미를 가집니다. '가상현실'을 생각하면 좀 더 이해가 쉽습니다.

이때, 컴퓨터에도 가상화라는 개념을 적용할 수 있습니다.
하드웨어를 모방해서 마치 진짜 또다른 하드웨어가 존재하는 것처럼 만드는 것입니다.
여기까지 봐도 아직은 '이게 무슨 얘기냐' 싶습니다. 그렇죠?
당신의 컴퓨터에 벌어지는 마법같은 일
그럼 좀 더 이해하기 쉽게끔, 실생활 얘기를 해봅시다. 우리 모두 컴퓨터를 가지고 있죠. 컴퓨터를 까보면 cpu, gpu, 메모리, 네트워크 카드 등등을 볼 수 있습니다. 하드웨어 뿐이에요. 그래서 우리는 '운영체제'를 설치하기 전까지는 컴퓨터를 사용할 수 없습니다. 운영체제(OS)는 우리로 하여금 하드웨어 자원들을 사용하여 여러 작업을 할 수 있도록 해줍니다.
이때 예시를 한번 들어볼까요. 당신이 원래 윈도우 운영체제를 사용해왔다고 칩시다. 그런데 어느날 갑자기 당신이 리눅스를 너무 배우고 싶어집니다. 해킹이든 뭐든 리눅스로 하고싶은 작업이 생겨서요.
그럼 이런 생각을 하게 될거에요.
'어 근데 이거 다른 운영체제니까 하드웨어도 다른거가 필요한거 아니야? 그럼 컴퓨터를 하나 새로 사야겠네. 거기다가 리눅스를 깔면 되겠다'

그런데 굳이 이럴 필요가 없어요! 가상 머신(VM)이 있다면요. 아주 마법같은 일들이 벌어집니다.
또 다른 컴퓨터를, 당신 컴퓨터 안에 넣어버리는 거에요. 뭐? 말도 안되죠? 그렇지만 충분히 가능합니다. 그러면 이 일들은 어떻게 가능한 걸까요?
"가상화", "가상머신"을 통해서 그런 일들을 할 수 있어요. 짱이죠. 그럼 그건 또 어떻게 하는걸까요?

바로, "하이퍼바이저"를 사용하면 됩니다.
좀 어려운 단어같죠? 그냥 어떤 응용프로그램의 이름이라고 생각하면 이해하기 쉬워요. 흔한 프로그램마냥 본인 운영체제에 설치해서 사용하면 되는 겁니다. VirtualBox 프로그램과 같은 것들이 바로 하이퍼바이저입니다.
하이퍼바이저가 하는 일은 그냥 이거에요. 당신 컴퓨터 안에 또다른 컴퓨터를 만들어주는 거죠. 여러 개도 가능해요
그럼 윈도우 내에 맥을 깔수도 있고 맥 안에 리눅스나 윈도우를 깔 수 도 있고... 가능성이 무궁무진합니다.
하이퍼바이저의 역할, 유형
먼저, 하이퍼바이저는 당신 컴퓨터 안에 가상의 컴퓨터를 하나 만듭니다. 그 가짜 컴퓨터는 자기가 진짜 컴퓨터인줄 알고 동작하는 거에요. 사실은 그렇지 않은데도요. 매트릭스 영화에서 마냥 매트릭스 안에 있는 것처럼 속고 있는거죠.
또 그 가짜 컴퓨터에는 가상의 하드웨어 요소들이 만들어져요. 사실 OS에서 진짜 하드웨어 자원을 빌려오는 거에 불과하지만요.

그래서 내부에 있는 가짜 컴퓨터 OS를 'Guest OS' 그리고 내 원래 컴퓨터 OS를 'Host OS'라고 합니다. 당신 집에서 손님(guest)이 당신(host, 집주인) 물건을 사용하도록 하듯이, 저 guest OS는 host OS의 허락을 맡고 그 자원을 사용하는거에요.
(물론 여기선 그 손님(게스트)이 그 집을 지집인 줄 착각한다는 점이 좀 웃기긴 해요)
여기까진 원래 OS가 있는 컴퓨터 내부에 또다른 컴퓨터를 설치하는 경우를 봤어요. 이걸 type2 하이퍼바이저라고 합시다.
그렇다면 type1 하이퍼바이저는 뭘까요? 이런 건 기업이나 회사에서 주로 볼 수 있습니다.
이건 기존에 있는 OS 위에 까는게 아니에요. 이땐 OS가 없는 컴퓨터에서, 하드웨어 바로 위에 하이퍼바이저를 설치합니다. (이때는 VirtualBox가 아닌 VMware ESXi등의 하이퍼바이저를 사용합니다)
하이퍼바이저는 어디에나 설치가능하지만, 이런 1형 하이퍼바이저는 주로 서버 쪽에서 사용합니다.

어떤 유형의 하이퍼바이저던 간에 하는 일은 동일해요. "가상화"를 이용해서 "가상머신"을 만든다는 거죠.
둘의 차이점이라 하면, 2형 하이퍼바이저에서는 기존 OS에 하드웨어 자원 공유를 요청한다는 점이에요. 반면에 1형 하이퍼바이저에서는 OS가 없다보니 그냥 OS의 허락없이도 자기맘대로 모든 자원을 사용할 수 있죠.
하이퍼바이저를 사용하는 이유
그럼 사람들은 왜 하이퍼바이저를 사용할까요? (= 가상 머신을 사용하는 이유)
주관적인 이유를 3가지 얘기해볼게요.
1. 해킹을 배우고 싶다!
가상 컴퓨터 환경을 만들어서 해킹을 하는게 가장 안전하고 좋은 방법이에요.
vm을 만들고 vpn을 연결하는게 이미 해킹 학습에서 권장되고 있습니다.
2. 다른 OS에 대해 배우고 싶다!
3. 아무거나 막 부수고 싶다!
가상 머신을 만들어서, 그 안에서 설정을 막 바꾸고 부수고 그래도 상관 없어요. 그냥 나중에 삭제하고 새로 만들어도 되니까요. 원래 OS(host OS)에 절대 영향을 주지 않아요. 즉, 이것저것 실험적인걸 해보기 딱이라는 거죠.
'IT' 카테고리의 다른 글
[꿀팁] 영어 논문 쉽게 읽는 법 (5) | 2022.03.01 |
---|---|
[오류] VM VirtualBox 시작 오류 (0) | 2022.02.24 |
[오류] 맥북 m1 : gdb 설치 오류 - Error: gdb: no bottle available! (0) | 2022.01.23 |
리눅스에 GUI가 설치되어있는 지 확인하는 방법 (명령어) (0) | 2021.11.21 |