Vagrant

  • VirtualBox가 설치되어 있어야함
  • 테스트용으로 리눅스 서버가 여러대 필요한 상황에서 손쉽게 vm 생성을 도와 줌
  • GUI 필요 없이 SSH로 접속해서 사용하는 경우 편리함

설치

https://www.vagrantup.com/downloads

vagrant 설정 파일

  1. Vagrantfile 파일 생성
  2. 아래 내용을 입력
# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|

  config.vm.box = "generic/centos8"
  config.vm.network "public_network"

    # vm 기본 cpu/memory
  config.vm.provider "virtualbox" do |v|
    v.memory = 4096
    v.cpus = 4
  end

  # 일반 ssh 명령어를 통한 접속시 id/pwd 사용하기 / root 접속 허용
  config.vm.provision "shell", inline: <<-SHELL
     sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/g' /etc/ssh/sshd_config;
     sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config    
     systemctl restart sshd.service
  SHELL

  # vm 생성 
  config.vm.define "master" do |master|
      #master.vm.box = "generic/centos8"
      #master.vm.network "public_network"
      master.vm.hostname="master"
  end 

  # vm 생성 
  config.vm.define "node1" do |node1|
    #node1.vm.box = "generic/centos8"
    #node1.vm.network "public_network"
    node1.vm.hostname="node1"
  end 

end

root 패스워드 설정

  • Vagrant 파일이 있는 위치에서 실행
// 이름을 모르는 경우 아래 명령어를 실행하여 접속대상 이름 확인
vagrant status

// vm 접속  
vagrant ssh \[이름\]  
// 또는 - 기본 패스워드 : vagrant  
ssh vagrant@\[ip주소\]

// root 비밀 번호 변경  
sudo passwd root

https://stackoverflow.com/questions/36113556/vagrant-set-the-location-of-the-virtual-hard-drive-for-virtualbox

명령어

  • Vagrant 파일이 있는 위치에서 실행
// 실행  
vagrant up

// 상태 확인  
vagrant status

// vm 종료  
vagrant halt

// 중지  
vagrant suspend

// 중지된 VM 실행  
vagrant resume

+ Recent posts