Vagrant와 VirtualBox를 이용한 리눅스 가상 환경 자동화 구성

Vagrant와 VirtualBox 기반 가상화 개요

소프트웨어 개발 과정에서 일관된 개발 환경을 유지하는 것은 매우 중요합니다. VirtualBox는 강력한 오픈소스 하이퍼바이저이며, Vagrant는 이를 명령줄 인터페이스(CLI)를 통해 제어하고 가상 머신 생성을 자동화하는 도구입니다. 이 두 도구를 결합하면 Vagrantfile이라는 설정 파일 하나로 팀원 모두가 동일한 리눅스 환경을 신속하게 구축할 수 있습니다.

Vagrant는 미리 구성된 이미지인 'Box'를 사용하여 가상 머신을 생성합니다. 사용 가능한 다양한 이미지는 Vagrant Cloud 저장소에서 확인할 수 있습니다.

사전 준비 사항

가상 환경 구축을 위해 다음 공식 웹사이트에서 각 운영체제에 맞는 설치 파일을 내려받아 설치해야 합니다.

  • VirtualBox: 가상 머신을 구동하는 엔진 역할 (다운로드)
  • Vagrant: 가상 머신 환경 설정을 관리하는 워크플로 도구 (다운로드)

설치 완료 후 터미널(또는 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 가상 머신 인스턴스 및 관련 자원 완전 삭제

태그: vagrant virtualbox linux CentOS DevOps

7월 18일 18:55에 게시됨