회사에서 Rocky9을 적용할 예정인데 마침 좋은 강의가 있어 당분간 공부할 예정입니다!
이 공부로 저의 리눅스 실력이 향상되면 좋겠네요😂
위 글은 [이것이 리눅스다 3판 with Rocky Linux] 해당 영상을 학습한 글입니다
가상머신과 가상머신 소프트웨어의 개념
- 가상머신이란, 컴퓨터에 설치된 운영체제(호스트OS)안에 가상의 컴퓨터를 만들고, 그 안에 또 다른 운영체제(게스트OS)를 설치/운영할 수 있도록 제작된 프로그램
- PC에 이미 설치되어있는 Windows를 호스트 운영체제(Host Operating System, 호스트OS)라고 부르고, 가상머신에 설치할 그 외의 운영체제를 게스트 운영체제(Guest Operating System, 게스트OS)라고 부름
이전글에서 WSL에대해 다뤄봤는데, 가상머신과 WSL에는 차이점이 존재한단걸 알게됐습니다
아래글을 보고 차이점을 간략하게 비교해보겠습니다
WSL vs Virtual Machine
WSL
윈도우 운영체제에서 리눅스 명령이나 소프트웨어를 실행할 수 있는 환경 제공
가상머신과 달리 host machine의 리소스에 직접 접근하기에 추가적인 오버헤드가 없다
Virtual Machine
가상머신은 호스트 머신에 가상 CPU, 메모리, 하드디스트, 네트워크 카드 등을 구현해 가상 컴퓨터 장치 위에 OS를 올려 운영하는 방식
호스트머신과 완전 분리된 환경을 구축할 수 있고 서버운영, 네트워크 환경 구축 등을 하는데 유리
WSL과 VM 차이점
1. systemd
systemd는 컴퓨터를 부팅(부스트 스트래핑)하고 다른 모든 프로세스를 관리하는 시스템
PID 1번을 차지해 모든 프로세스의 부모 프로세스다
systemd 시스템의 유티리티 도구로서 systemctl명령어가 있다
하지만 WSL은 systemd가 아니라 윈도우가 부팅시키기 때문에 systemd프로세스가 없다
따라서 systemctl명령어를 사용할 수 없다
WSL에서 systemctl명령어를 사용해야하는 경우, service와 같은 기능의 다른 명령어를 ㅏ용해야한다
ex) sudo systemctl start ssh => sudo service ssh start
2. 네트워크
Virtual Box, VMware 등 가상머신 상용 소프트웨어를 이용해 가상머신들을 구성한다면 네트워크구조를 NAT, 브릿지, Host-only 등 필요에 따라 설정가능하다
하지만 WSL의 여러 배포(ubuntu, kail 등)를 동시에 실행해 서로 통신하는 것이 불가능
WSL의 배포판은 가상머신처럼 인스턴스로 실행되는 것이 아니라 NAT네트워크 내에 구성된 하나의 NIC를 현재 실행중인 배포판들이 돌려쓴느 것으로 추측
따라서 여러 장치간 통신 환경을 위해서는 가상머신이 유리하다
가상머신과 WSL 동시 사용하는 방법
Hyper-c기능이 켜져있을 때 가상머신이 동작하지 않는 경우가 있다.
이 경우 hyper-v와 가상머신 소프트웨어가 호환되지 않기 때문으로, hyper-v기능을 잠시 꺼두면 되는 경우가 있다
아래 명령어를 통해 사용가능하다.
# 상태 확인하는 법
bcdedit | find "hypervisorlaunchtype"
# VirtualBox 실행시
bcdedit /set hypervisorlaunchtype off
# docker, wsl 실행시
bcdedit /set hypervisorlaunchtype auto
가상 머신과 가상 소프트웨어 개념(2)
왼쪽이 가상머신이 설치되지않은 이미지, 오른쪽이 가상머신이 설치된 경우다
가상머신: 회사의 전산실
라우터 = 게이트웨이 : 외부와 내부를 연결해준다
리눅스: 가상의 컴퓨터라고 생각하면 된다
- 라우트: 경로, 서로 다른 네트워크 간 데이터 전송하고 전송한 데이터를 받는 경로
- 라우터: 인터넷 공유기, 한개의 인터넷 회신을 여러개의 네트워크가 사용할 수 있도록 쪼개주는 중계역할 장치
- 라우팅: 엔드 포인트(URI, 경로)의 정의, 해당 엔드포인트에 대한 클라이언트 요청에 애플리케이션이 응답하는 방식
이후에 VMware 설치를 진행하겠습니다