Windows에서 VirtualBox에 VM을 3대 만들어서 서로 통신하게 만들고 싶은데, 각각 VM을 만들어서 네트워크 설정하는 건 까다롭거나 시간이 걸릴 수 있다.
Vagrant 설치해서 몇 분 만에 VM 3대를 만들고 통신이 되게끔 할 수 있다.
Vagrant는 주로 가상머신을 생성하고 관리할 때 사용된다.
전반적인 글의 내용은 아래 블로그를 참고하였습니다. (Vagrant 사용 시 많은 도움을 받았습니다.)
https://jungeol.github.io/2020/01/07/Vagrant-Windows-%EC%82%AC%EC%9A%A9%EB%B2%95/
VirtualBox는 이미 설치했다고 가정한다.(다운로드하여서 몇 번의 클릭만으로 install 가능)
--Vagrant 2.3.4 버전은 VirtualBox 버전 6.1.x 까지만 호환
--Vagrant 2.3.7 버전(최신 버전 23.6.16 Release)은 VirtualBox 버전 7.0.x 까지 호환 가능
Vagrant Windows 64bit 버전 다운로드하여 설치(AMD64)
https://developer.hashicorp.com/vagrant/downloads
Vagrant 설치 후 버전 확인 (Windows CMD)
c:\>vagrant -v
Vagrant 2.3.4
Vagrant init
Vagrant init 명령을 수행한 디렉터리에 Vagrant 설정 파일이 생성되며, VM은 VertualBox 환경설정 > '기본 머신 폴더' 지정한 경로에 생성된다.
vagrant init을 수행할 디렉터리 이동 후 (또는 VM 생성될 디렉터리 이동) vagrant init 수행
D:\>cd VirtualBox VMs\CentOS7.9>
*참고: D드라이브 이동법
C:\>D:
d:\VirtualBox VMs\CentOS7.9>vagrant init
해당 디렉터리에 아래 두 파일이 및 폴더가 생성된다.
Vagrantfile 수정
메모장에서 Vagrantfile을 열면 안에 설명이 되어 있는데 해당 내용 대신 아래 'Vagrantfile' 스크립트 전체를 복사하면 된다.
(본인의 사양에 맞게 편집 또는 그대로 복사)
**base image는 아래 링크를 통해 원하는 버전 검색
https://app.vagrantup.com/boxes/search
Vagrantfile
Vagrant up
터미널 창에서 vagrant up 수행하면, vagrantfile을 읽어서 이미 설치되었던 VirtualBox에 VM을 생성해준다.
#3개의 CentOS 7.9 버전 설치 로그
d:\VirtualBox VMs\CentOS7.9>vagrant up Bringing machine 'server01' up with 'virtualbox' provider... Bringing machine 'server02' up with 'virtualbox' provider... Bringing machine 'server03' up with 'virtualbox' provider... ==> server01: Box 'bento/centos-7.9' could not be found. Attempting to find and install... server01: Box Provider: virtualbox server01: Box Version: 202107.21.0 |
VM root 패스워드 설정
> vagrant ssh [서버이름]
각각 3대의 서버에 접속해서 sudo passwd root 입력 후 원하는 패스워드 설정
d:\VirtualBox VMs\CentOS7.9>vagrant ssh server01 This system is built by the Bento project by Chef Software More information can be found at https://github.com/chef/bento [vagrant@server01 ~]$ sudo passwd root Changing password for user root. New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully. [vagrant@server01 ~]$ exit logout Connection to 127.0.0.1 closed. |
*server02, server03 동일하게 수행
d:\VirtualBox VMs\CentOS7.9>vagrant ssh server02
[vagrant@server02 ~]$ sudo passwd root
d:\VirtualBox VMs\CentOS7.9>vagrant ssh server03
[vagrant@server03 ~]$ sudo passwd root
(참조)$init_script 부분에 yum으로 설치한 wget 패키지 설치 확인
[vagrant@server01 ~]$ rpm -qa | grep wget
wget-1.14-18.el7_6.1.x86_64
Vagrant 기본 명령어 참조
> vagrant halt
가상머신을 종료한다.
> vagrant destroy
가상머신을 삭제한다.
감사합니다.