Vagrant와 VirtualBox 기반 가상화 개요
소프트웨어 개발 과정에서 일관된 개발 환경을 유지하는 것은 매우 중요합니다. VirtualBox는 강력한 오픈소스 하이퍼바이저이며, Vagrant는 이를 명령줄 인터페이스(CLI)를 통해 제어하고 가상 머신 생성을 자동화하는 도구입니다. 이 두 도구를 결합하면 Vagrantfile이라는 설정 파일 하나로 팀원 모두가 동일한 리눅스 환경을 신속하게 구축할 수 있습니다.
Vagrant는 미리 구성된 이미지인 'Box'를 사용하여 가상 머신을 생성합니다. 사용 가능한 다양한 이미지는 Vagrant Cloud 저장소에서 확인할 수 있습니다.
사전 준비 사항
가상 환경 구축을 위해 다음 공식 웹사이트에서 각 운영체제에 맞는 설치 파일을 내려받아 설치해야 합니다.
설치 완료 후 터미널(또는 CMD)에서 vagrant --version 명령을 입력하여 정상적으로 설치되었는지 확인합니다.
CentOS 7 가상 머신 배포 절차
Vagrant를 사용하여 가상 머신을 생성하고 실행하는 과정은 다음과 같이 단순한 명령어로 이루어집니다.
1. 프로젝트 디렉토리 생성 및 초기화
가상 머신 설정을 저장할 전용 폴더를 만들고 이동한 뒤, 사용할 OS 이미지(Box)를 지정하여 초기화합니다.
# 작업 디렉토리 생성 및 이동
mkdir my-linux-server
cd my-linux-server
# CentOS 7 이미지로 초기화
vagrant init centos/7
이 명령을 실행하면 해당 폴더에 Vagrantfile이 생성됩니다. 이 파일은 가상 머신의 CPU, 메모리, 네트워크 등을 정의하는 핵심 설정 파일입니다.
2. 가상 머신 프로비저닝 및 기동
설정된 내용을 바탕으로 가상 머신을 다운로드하고 실행합니다.
# 가상 머신 시작
vagrant up
처음 실행 시에는 원격 저장소에서 이미지를 내려받는 시간이 소요될 수 있습니다. 완료되면 VirtualBox 관리자 화면에서 새로운 가상 머신이 동작 중인 것을 확인할 수 있습니다.
3. SSH를 통한 가상 머신 접속
Vagrant는 별도의 복잡한 SSH 설정 없이도 명령어로 가상 머신 내부 쉘에 접속할 수 있도록 지원합니다.
# SSH 접속
vagrant ssh
기본적으로 vagrant라는 사용자 계정으로 로그인되며, 이를 통해 리눅스 환경 제어가 가능해집니다.
Vagrant 주요 명령어 요약
가상 환경 관리를 위해 자주 사용하는 명령어는 다음과 같습니다.
| 명령어 | 기능 설명 |
|---|---|
vagrant init |
새로운 Vagrant 환경 초기화 및 Vagrantfile 생성 |
vagrant up |
가상 머신 생성 및 부팅 |
vagrant halt |
동작 중인 가상 머신 강제 종료 |
vagrant suspend |
현재 상태를 저장하고 일시 중단 |
vagrant resume |
중단된 가상 머신 다시 시작 |
vagrant reload |
설정 파일 변경 사항 적용을 위한 재시작 |
vagrant status |
현재 가상 머신의 상태 확인 |
vagrant destroy |
가상 머신 인스턴스 및 관련 자원 완전 삭제 |