이미 vmware의 편리함을 경험한 분들이라면 가상머신이 얼마나 유용한지 짐작하고 있을 것입니다.
오늘은 윈도우10에서 지원하는 Hyper-v를 사용하여 Centos를 가상으로 설치한 후 네트워크 환경까지 설정해 보겠습니다.
이 글은 성공된 하나의 사례이며 사용자의 환경에 따라서 다른 부분도 있을 수 있으므로 참고하시기 바랍니다.
제일 처음으로 해야 할 작업은 자신의 컴퓨터 하드웨어 환경이 Hyper-v를 제대로 사용할 수 있는 환경인지 알아내는 것입니다.
윈도우 펑션키(왼쪽알트키 왼쪽에 있는 키)+r을 눌러 cmd를 실행합니다.
그리고 열려진 명령창에 "systeminfo" 라고 타이핑 하고 엔터!
그러면 메세지의 아래쪽에 위와 같은 내용을 확인할 수 있을 겁니다. 4가지 모두 예라고 되어 있으면 Hyper-V를 설치할 준비가 된 상태며 하나라도 아니오라면 설치할 수 없습니다. 단 펌웨어 가상화 사용이 "아니오"인 경우는 바이오스에서 막아놓은 경우 일 수도 있으므로 자신의 메인보드가 최신이라면 바이오스 설정을 들어가서 설정을 해주시면 됩니다. 바이오스마다 설정방법이 다르지만 여기에선 제가 사용하고 있는 Asus prime x370 메인보드의 예만 들어보도록 하겠습니다.
재부팅 해서 바이오스 설정에 들어간 후 Advanced Mode -> cpu configuration -> SVM MODE가 Disable로 되어 있는데 이것을 Enable로 바꿔 주시고 저장 후 재부팅 하시면 됩니다.
이제 앞에서 했던 테스트(cmd창에서 "systeminfo" 실행)를 해서 Hyper-v를 설치할 수 있는 환경이 제대로 되었는지 확인해 봅시다. 그리고 4가지 설정이 모두 "예"라면 이제 Hyper-V를 설치하면 됩니다.
Hyper-v 설치
설치를 하는 방법은 여러가지가 있습니다. 여기에서 그 방법들을 확인할 수 있습니다.
보통 수동으로 설정하는데 위도우 시작 단추 옆 검색창에서 windows라고 치고
Windows 기능 켜기/끄기를 선택해서 클릭해 줍니다.
그리고 Hyper-V에 체크를 한 후 확인을 하면 컴퓨터를 재부팅해야 한다고 나오며 재부팅하면 윈도우 업데이트를 하게 됩니다.
윈도우 업데이트가 되면 Hyper-V를 사용할 수 있습니다.
Hyper-V 사용
앞서 했던 방법과 같이 윈도우 시작단추 옆 검색을 눌러 hyper-V 관리자를 검색해서 실행해 줍니다.
위 화면은 이미 하나의 centos7 가상환경이 만들어져 있는 화면입니다. 테스트용으로 만들었는데 하나 더 만들어 보겠습니다.
우선 오른쪽에 작업 메뉴에서 가상 스위치 관리자를 선택합니다.(가상머신을 2개 이상 만들더라도 가상 스위치는 하나만 만들어 놓으면 된다.)
내부를 선택한 후 가상 스위치 만들기를 클릭합니다.
이름을 정한 후 VLAN ID 사용을 체크한 후에 확인을 눌러줍니다.
다시 Hyper-V 관리자 창에서 새로만들기 -> 가상컴퓨터를 선택합니다.
다음과 같은 창이 뜨며 왼쪽 메뉴 하나씩 설정해야 하는데 어려운 것은 없습니다.
이름 및 위치 지정 : 이름을 정해줍니다. (예 : centos7-2)
세대 지정 : 2세대
메모리 할당 : 전 4096으로 했습니다.
네트워크 구성 : 앞에서 만든 가상 스위치의 이름을 선택해주면 됩니다.
가상 하드 디스크 연결 : 다양한 옵션이 있는데 현재 사용하는 하드 디스크에 가상 컴퓨터 정보를 저장하려면 그대로 하시면 됩니다. 저는 크기만 20으로 바꾸었습니다.
설치 옵션 : 미리 받아놓은 ISO 파일을 선택해 주면 됩니다.
이렇게 설정을 모두 마쳤으면 마침을 눌러주면 아래와 같이 Hyper-V 관리자에서 방금 만든 가상컴퓨터가 추가된 것을 볼 수 있습니다.
이제 위 가상 컴퓨터를 더블클릭하면 하나의 참이 뜨면서 앞에서 만든 이미지로 부팅되는 가상 컴퓨터 화면을 볼 수 있습니다. 이제 centos7을 설치하면 됩니다. 설치 방법은 생략합니다.
Centos7 인터넷 설정
가상환경에 centos7은 설치하였으나 네트워크는 현재 연결되지 않은 상태다.
네트워크 설정의 컨셉은 이렇다. 앞에서 이미 만들어 놓은 가상 스위치가 가상머신들의 게이트웨이가 되고 이 게이트에서 나가는 회선이 실제 윈도우10의 인터넷 회선에 연결되는 형태다.
가상머신의 개수는 더 늘릴 수 있고 내부 스위치에 의해서 사설 IP들을 가질 수 있다. 이렇게 내부 스위치는 가상 머신들의 게이트웨이로 사용되면서 실제 인터넷에 연결된다.
우선 앞에서와 같이 내부스위치를 만들어 놓았으면 가상머신에 연결하는 작업을 하도록 하자. Hyper-V 관리자에서 연결할 가상 컴퓨터를 선택한 후 작업에서 설정을 누른다.(그림생략)
그러면 다음과 같은 창이 나오는데
네트워크 어댑터를 선택하고 스위치 선택 과 위 그림의 표시처럼 설정한다. 식별자는 앞에서 3이라고 정했으므로 3이라고 한다. 그리고 확인을 누른다.
이제 윈도우 검색창에서(윈도우 펑션 + r) ncpa.cpl을 입력하면 네트워크 연결 창이 뜬다.
왼쪽에 가상 스위치 오른쪽에 이더넷이 표시되는데 이더넷이 윈도우10의 인터넷이라고 보면된다. 위 그림처럼 공유됨이라고 만들면 되는데 이더넷에서 오른쪽 클릭 -> 속성-> 공유 -> 다른 네트워크 사용자가 이 컴퓨터 ~~~어쩌구에 추가로 체크해주면 된다.
이렇게 하고 가상 스위치의 속성 -> 인터넷 프로토콜 버전 4(TCP/IPv4)를 선택한 후 속성을 누르면 다음처럼 IP 주소 사용에 IP주소와 서브넷 마스크가 입력되어 있을 것이다.(IP 주소는 그림과 다를 수 있다.)
여기에 IP주소는 1로 끝나는데 이것은 가상 스위치의 게이트웨이 주소다. 그리고 이 게이트웨이에 연결되는 가상 머신들의 IP주소는 마지막 1대신 사용자가 임의로 정해주면 된다.(2이상 255이하의 수로) centos7를 부팅해서 이 작업을 해주면 된다. 또한 DNS 서버 주소를 설정해야 하는데 이 작업 역시 Centos7에서 해줄 것이다.(중요)
centos7에서 설정하기
$ vi /etc/sysconfig/network-scripts/ifcfg-eth0
(vi 편집기 사용법에 대한 설명은 생략한다.) 위 명령어로 들어가서 주황색은 변경 연두색은 추가를 한 것이다.
IPADDR의 경우는 가상 스위치에 설정되어 있는 게이트웨이의 IP주소에서 마지막 1만 88로 바꾼 것이다.
저장후 나온뒤 다음 명령을 내린다.
$ vi /etc/sysconfig/network
그리고 다음과 같이 편집한다.
# Created by anaconda
NETWORKING=yes
NETWORKING_IPV6=no
저장하고 나온 후 또 다음과 같은 명령을 내린다.
$ vi /etc/resolv.conf
여기에는 네임서버를 추가해줘야한다. 자신의 인터넷 회선의 네임서버를 추가하면 되는데 잘 모르겠으면 다음과 같이 해준다. 8.8.8.8은 구글의 네임서버다.
# Generated by NetworkManager
nameserver 8.8.8.8
저장하고 나온 후에 재부팅(reboot)한 후 ping 테스트를 해보자.