-
Vagrant up 수행시 새로운 VM이 생성되는 문제소프트웨어 & 잡다 2016. 5. 25. 18:56
현재 개발환경 구성을 위해 Vagrant를 사용하는데 여러모로 편리하다. 그런데 가끔 vagrant up을 하면, 기존의 VM을 구동하는 대신, 새로운 VM을 빌드하는 경우가 있다. VagrantFile 의 내용이 바뀌는 경우 생길 수 있는 일인데, 정확한 원인은 잘 모르겠다.
암튼, 개발환경 세팅이 끝난 상황에서, 새로운 VM이 설치되어 버리니 몹시 짜증나는 상황이 아닐 수 없다. 긴 시간의 설치가 끝나고 vagrant ssh 를 해보면, 역시나 새로운 VM으로 연결된다. 하지만 기존의 VM이 사라진 것은 아니기 때문에, 다시 복구가 가능하다. (처음에는 이걸 몰라서, 당황한 나머지 그냥 모든걸 새로 설치 했었다.. -_-) VirtualBox를 실행 해 보면, 두개의 VM이 구동 되고 있는 것을 알 수가 있다.
기존의 VM으로 돌아가는 방법은 생각보다 간단하다.
1. 현재 설치된 VirtualBox VM 목록을 확인한다
$ VBoxManage list vms
"dev_env_default_1454361735276_9521" {febf70f0-2750-4c9b-8c6f-13efa1c2255f}
"dev_env_default_1463600058987_41324" {7e241e1e-cb17-4bc6-a9a6-59b2a3594efb}
두개의 VM이 설치 되어 있는 것을 확인 할 수 있다. 저 둘중 하나는 원래것이고 나머지 하나는 원하지 않게 설치된 것이다.
2. 현재 새로 매핑된 VirtualBox ID를 확인한다
매핑된 VirtualBox ID는 .vagrant/machines/default/virtualbox/id 파일에 적혀 있다. 이 패스는 VagrantFile이 있는 디렉토리 기준이다. 본인 포함 ~/.vagrant/machines/default/virtualbox/id 로 착각하는 사람들이 많다.
$ cat .vagrant/machines/default/virtualbox/id
7e241e1e-cb17-4bc6-a9a6-59b2a3594efb
확인 결과, 7e241e1e-cb17-4bc6-a9a6-59b2a3594efb으로 설정 되어 있다. 이것이 Vagrant가 실수(?)로 새로 설치한 VM의 ID이다. 따라서 이 값을 원래의 값 (여기서는 febf70f0-2750-4c9b-8c6f-13efa1c2255f) 으로 돌려놓도록 한다.
3. 접속 시도, 실패
이제 vagrant ssh를 시도하면, 느닷없이 비밀번호를 묻는다. 이는 ssh key가 새것으로 교체 되었기 때문이다. 새로운 키는 .vagrant/machines/default/virtualbox/private_key에 저장되어 있으며, 이 파일을 이용해서 public key를 생성하고, VM의 vagrant user의 authorized_keys 파일에 추가해 주면 된다. 이를 위해서는 최소 한번은 직접 VirtualBox의 GUI를 통해 접속하거나, VagrantFile을 수정하여 root계정 등으로 접속해야 한다. 이 과정을 수행하는 과정은 생략한다.
'소프트웨어 & 잡다' 카테고리의 다른 글
[쉬운 Git] git rebase 의 방법과 다양한 문제 해결 (0) 2020.04.12 [머신러닝] 한손으로 큐브 퍼즐을 푸는 로봇 (0) 2019.10.16 내 티스토리 블로그가 다음 검색에 노출되지 않는 문제 해결 (0) 2019.10.14 아직도 SVN 사용하는 분이 많으신가요? (1) 2019.10.02 간단한 리눅스 서버 성능 향상 (0) 2016.04.04 NodeJS 입문을 위한 text editor - Visual Studio Code (6) 2015.11.25 콘솔에서 git 사용시 컬러 설정 (0) 2015.09.22 AES 암호화, 그리고 AES-NI, 손에 잡힐듯 말듯한 보물. (3) 2015.03.05