오래전, 필자는 VMware Player와 함께 가상화 여정을 시작했습니다. 그 당시 VMware Player는 데스크톱용 GUI 기반 가상화 솔루션 중 몇 안 되는 프로그램으로, 게스트 운영체제를 비교적 쉽게 테스트하고 사용할 수 있게 해주었습니다. 이후 가상화는 더욱 보편화되고 접근성이 높아졌으며, 이제는 격리된 환경에서 완전한 소프트웨어 스택을 탐색하고 싶을 때 선택할 수 있는 프로그램이 매우 다양해졌습니다.VMware Player는 현재 14번째 메이저 버전에 도달했으며, 이를 계기로 리뷰를 진행해 보았습니다. 프로그램 이름
몇 주 전 우리는 VMware Player 14를 테스트한 바 있습니다. 간단하고 다재다능하며 견고했지만, 기대했던 만큼 풍부한 기능을 갖추고 있지는 않았습니다. 그래서 이번에는 Workstation을 직접 테스트해 보려 합니다. 사실 무료 버전인 Player는 훨씬 강력하고, 결과적으로 더 비싼 제품인 VMware Workstation Pro의 기술 시연용 역할을 하는 셈입니다.유용한 만능 가상화 제품을 찾고 있다면 보통 두 가지 주요 후보가 거론됩니다. 바로 Oracle VirtualBox와 VMware Workstation입니
가상화는 운영체제 위에 또 다른 운영체제를 실행할 수 있게 해주는 편리한 기술입니다. 컴퓨터 안에 컴퓨터를 만드는 셈인데, 이를 통해 유연성, 레거시 시스템 지원, 여러 플랫폼에서의 소프트웨어 테스트, 격리 환경 구축 등의 장점을 얻을 수 있습니다. 다만 그래픽 성능에는 어느 정도 제약이 따릅니다.VirtualBox는 몇 년 전부터 가상 머신에 3D 가속 기능을 활성화할 수 있는 옵션을 제공해 왔습니다. 그래픽 집약적인 작업을 더 효율적으로 처리할 수 있어 전반적인 사용 경험이 한결 부드러워집니다. 물론 완벽한 솔루션은 아니지만,
오래전에 VirtualBox 가상 하드 디스크를 축소하고 확장하는 방법을 다룬 튜토리얼을 소개한 적이 있습니다. 그 당시에는 디스크를 줄이는 것은 쉬웠지만, 용량을 늘리려면 디스크 이미징 작업이 필요했습니다. 그런데 상황이 많이 달라졌습니다. VirtualBox 4.X 버전부터는 이 가상화 소프트웨어에서 디스크 확장도 기본적으로 지원하기 시작했습니다.실제로 저는 저장 공간이 부족해진 가상 머신을 운영하던 중, 한번 시도해 보기로 했습니다. 명령어 실행은 성공했는데 정작 디스크 크기는 늘어나지 않았습니다. 곧바로 원인을 깨달았습니다.
솔직히 말하면, 이 글을 읽을 일이 없기를 바랍니다. 지금 이 페이지를 보고 계신다면 심심해서 들러셨거나, 검색어를 잘못 입력하셨을 가능성도 있겠죠. 하지만 어쩌면 실제로 골치 아픈 상황에 처해 있을 수도 있습니다. 최근까지 멀쩡히 잘 작동하던 Docker 컨테이너가 갑자기 인터넷에 접속하지 못하고, 환경 설정은 아무것도 바꾸지 않았는데 말이죠.문제 정의가 다소 막연하게 들릴 수 있지만, 실제로 제가 겪었던 상황이 바로 그것이었습니다. 컨테이너에서 네트워크 접근이 불가능했고, Temporary failure resolving URL
꽤 흥미로운 문제를 하나 소개합니다. 다소 복잡한 상황이기도 합니다. 여러분이 VirtualBox를 주력 가상화 도구로 사용하고 있다고 가정해 봅시다. 그런데 3D 가속에 문제가 생겨 게스트 화면이 검게 나오는 등의 증상을 겪고 있습니다. 제 이전 튜토리얼에서 보셨듯이, 해결책은 배포판 저장소에서 제공하는 게스트 애디션(guest additions)을 사용하는 것입니다. 하지만 이 저장소 패키지는 공식 ISO에서 제공하는 버전과 달리 공유 폴더 드라이버를 포함하지 않습니다. 즉, 공유 폴더 기능 자체를 사용할 수 없다는 뜻입니다.여
가상화 소프트웨어를 이야기할 때, 특히 일반 애호가나 세미 프로 수준의 사용 환경에서는 VirtualBox가 여전히 훌륭한 선택지입니다. 친숙한 사용자 인터페이스, 풍부한 기능, 준수한 성능, 그리고 초보자부터 고급 사용자까지 모두를 만족시키는 간단한 옵션과 고급 설정까지 갖추고 있기 때문입니다. 저는 과거에도 VirtualBox를 여러 차례 다루었는데, 게스트 확장(Guest Additions) 설정부터 공유 폴더와 포트 포워딩 구성까지 수십 편에 달하는 글을 작성했고, 물론 주요 버전 리뷰도 포함되어 있습니다.최근 Virtual
며칠 전, 저는 흥미로운 문제 하나에 부딪혔습니다. 정확히는 VirtualBox에 대한 애정을 더욱 확고하게 만들어 준 운영상의 과제였는데요. 바로 여러 대의 가상 머신으로 작은 사설 네트워크를 구축하려는 것이었습니다. 한 대는 서버 역할을 맡고, 나머지는 에이전트 소프트웨어를 실행하며 서버에 데이터를 보고하는 클라이언트로 구성하는 계획이었습니다. 아주 간단해 보이죠? 그런데 문제가 발생했습니다. 모든 NAT 머신이 똑같은 IP 주소인 10.0.2.15를 받는 것이었습니다. 문제의 원인 실제로 가장 기본적인 VM 설정, 즉 머신이
저는 VirtualBox를 정말 좋아합니다. 다양한 테스트와 실험 작업에 늘 활용해 왔고, 대체로 만족스러운 도구입니다. 그런데 이렇게 훌륭한 프로그램도 이따금 말썽을 부리며 제 발목을 잡을 때가 있습니다. 대표적인 사례가 바로 브리지 네트워킹(Bridged Networking)입니다. 지난 몇 년간 저는 VirtualBox의 네트워크 기능과 관련해 여러 가이드를 작성해 왔습니다. 네트워크 및 공유 튜토리얼, NAT 환경에서 포트 포워딩으로 공유하는 방법, NAT 네트워크 구성법 등이 그 예입니다. 저 역시 유선·무선 어댑터 모두에
가상화는 정말 영리한 기술입니다. 컴퓨터 안에 또 다른 컴퓨터를 만드는 셈으로, 무궁무진한 가능성과 활용 사례를 열어줍니다. 하지만 딱 하나의 예외가 있습니다. 바로 게이밍입니다. 어떤 이유로든 가상 머신을 운영하는 컴퓨터 덕후에게 물어보면, 십중팔구 모든 가상화 소프트웨어의 공통적인 큰 약점을 지적할 겁니다. 바로 충분히 발전하지 못했거나 강력하지 못한 그래픽 스택입니다. 실제로 가상 머신 안에서 게스트 운영체제를 구동하면, 호스트의 기본 성능에는 한참 못 미치는 수준의 2D·3D 기능 등 그래픽 가속 제약을 받는 경우가 허다합니
KVM을 사용하면서 큰 문제를 겪은 지는 꽤 됐습니다. 사실 최근 몇 년간 KVM을 그렇게 자주 사용하지는 않았기 때문이기도 합니다. 하지만 최근 이 가상화 기술을 다시 활발하게 활용하게 되었고, 생산성과 함께 몇 가지 번거로운 문제도 따라왔습니다.가상 머신을 실행하려고 했는데, 특별할 것 없는 단순한 kvm 명령어 입력이었습니다. 그런데 다음과 같은 오류 메시지가 나타났습니다. Could not access KVM kernel module: Permission denied. 그래서 이번 튜토리얼이 탄생했습니다. 문제의 원인을 진단
전반적으로 VirtualBox를 사용한 경험은 대체로 만족스러웠습니다. 가끔 문제가 생기기도 하고, 브리지 네트워킹(bridged networking) 이슈처럼 꽤 심각한 문제도 있었지만, 전체적으로는 운영체제와 소프트웨어를 빠르고 효율적으로 테스트할 수 있는 유용하고 유연한 환경을 제공합니다. 네트워크 격리, 스냅샷 등 필요한 기능은 모두 갖추고 있으니까요.그런데 며칠 전 갑자기 가상 머신을 실행하려고 했는데 시작되지 않았습니다. 오류 메시지에는 다음과 같은 내용이 포함되어 있었습니다: Failed to load R0 module
VirtualBox의 매력적인 기능 중 하나는 바로 가상 머신의 스냅샷(snapshot)을 생성할 수 있다는 점입니다. 작업을 진행하고 특정 시점의 상태를 저장한 뒤, 변경 사항을 적용한 후 언제든 저장된 상태로 손쉽게 되돌아갈 수 있습니다. 가상 머신이 실행 중이든 중지된 상태든 스냅샷을 자유롭게 생성하고 분기할 수 있어, 검증된 시스템 상태를 반복적으로 테스트해야 하는 상황에서 뛰어난 유연성과 재현성을 제공합니다.하지만 스냅샷에는 치명적인 단점이 있습니다. 바로 상당한 디스크 공간을 차지한다는 것입니다. 실제로 필자의 경우, 예
Arcane Weekly에 오신 것을 환영합니다. 오늘은 평소에는 잘 마주치지 않겠지만, 한 번 겪으면 빠른 해결책이 절실해지는 문제를 다뤄보겠습니다. 준비물은 LXD 컨테이너와 Docker입니다. 목표는 이 둘을 동시에 구동하는 것, 즉 LXD 컨테이너를 생성한 뒤 그 안에서 Docker 컨테이너를 실행하는 것입니다. 왜냐고요? 왜 안 되겠습니까.그런데 여기서 문제가 발생합니다. Docker 실행이 다음과 같은 오류와 함께 실패합니다.docker: Error response from daemon: OCI runtime create
최근 필자가 사용하던 시스템 중 하나에서 VirtualBox가 갑자기 작동하지 않는 문제가 발생했습니다. 어떤 가상 머신을 실행하려고 해도 항상 같은 오류가 나타났는데, 팝업 창에는 Failed to open a session for the virtual machine [가상 머신 이름]이라는 메시지가 표시되고, 세부 정보 상자에는 NS_ERROR_FAILURE (0x80004005)라고 나타났습니다.메시지가 너무 추상적이고 암호처럼 생겨서 무엇이 문제인지 바로 파악하기 어려웠습니다. 그래서 여러 시행착오 끝에 문제를 해결했고, 그
저는 직관적인 소프트웨어를 선호합니다. 매뉴얼 없이도 쉽게 다룰 수 있고, 굳이 설명서를 찾아보더라도 반드시 원하는 답을 얻을 수 있는 제품 말입니다. 제 경험상 Docker 관련 도구들은 분명 이런 범주에 속합니다. 최근에는 새로운 Docker 도구인 Docker Desktop을 접하게 되었습니다. Docker Desktop은 Docker 컨테이너 관리를 위한 GUI로, 평소 명령줄에서 Docker 엔진으로 처리하던 작업들을 편리하게 수행할 수 있도록 도와주는 프런트엔드입니다. 꽤 흥미로워 보이니 지금부터 자세히 살펴보겠습니다.
몇 주 전에 진행했던 CentOS 7.2 기반 튜토리얼에 이어서 이번에는 한 단계 더 나아가 보겠습니다. 앞선 가이드에서는 Docker 1.12에 내장된 네이티브 클러스터링 및 오케스트레이션 기능을 시작하고 활성화하는 방법을 다뤘습니다. 하지만 당시에는 매니저(manager) 노드만 존재했고, 작업을 수행할 워커(worker) 노드는 없었습니다.이번 글에서는 바로 그 부분을 확장해 보겠습니다. 구체적으로는 서로 다른 배포판으로 구성된 비대칭 노드를 스웜(swarm)에 추가하는 방법을 소개합니다. 즉, 기존의 CentOS 머신 옆에
이번 시간에는 Docker의 매력을 더 깊이 탐구해 보겠습니다. 지금까지 두 번의 자습서를 진행했습니다. 첫 번째는 기술 전반에 대한 아주 상세한 소개로, 서비스 실행 방법과 포트 노출, Dockerfile을 활용한 이미지 커밋과 빌드 등 다양한 팁을 다뤘습니다. 이어서 supervisord를 init 스크립트 및 systemd의 대체재로 사용하는 방법도 살펴보았습니다.오늘은 네트워킹에 대해 배워보겠습니다. 컨테이너에 접속하는 방법, 생성된 인스턴스 내부에서 호스트에 접근하는 방법, 그리고 무엇보다 중요한 것은 사전에 토폴로지를 전
이쯤 되면 여러분은 KVM을 상당히 잘 다루고 있을 것입니다. 기본 소개와 중급 수준의 설치 및 사용법, 네트워크 및 스토리지 구성, 그리고 VirtualBox와 함께 KVM을 운영하는 방법까지 다양한 튜토리얼을 진행해 왔습니다. 그 다음으로 자연스러운 단계는 바로 브리지 네트워킹(bridged networking)입니다. 이를 통해 포트 포워딩 등이 필요할 때 가상 머신에 실제로 사용 가능한 외부 IP 주소를 부여할 수 있습니다.오늘 소개할 내용은 다른 곳에서 흔히 볼 수 있는 튜토리얼들과는 조금 다릅니다. 많은 자료에서 볼 수
KVM 시리즈에 오신 것을 환영합니다. 지금까지 저의 가상화 관련 글에서는 주로 VMware와 VirtualBox, 그리고 약간의 클라우드와 이미지 리마스터링을 다뤄왔습니다. 하지만 이제 새로운 영역으로 확장할 때가 되었습니다. 오늘부터 KVM을 중심으로 한 완전히 새로운 튜토리얼 시대를 공식적으로 시작하려 합니다. 추후에는 Xen과 다른 흥미로운 기술들도 다룰 예정이지만, 우선은 KVM에 집중하겠습니다.이 가이드를 통해 RedHat이 개발한 KVM(Kernel-based Virtual Machine) 기술을 배워보겠습니다. KVM