Hyper-V에서 리눅스 실행하기?

Hyper-V에서 Linux 실행의 이유

  • Hyper-V 가상 환경에서 특정 Linux 배포판을 테스트하려고 합니다. 예를 들어, 최근에 새로운 Linux 버전이 출시되어 이 버전을 물리 서버에 설치하기 전에 테스트하려고 합니다.
  • 컨테이너 실행. Linux는 First-class 컨테이너 지원을 제공하므로 Hyper-V에서 가상 머신으로 Linux를 설치하는 이유가 될 수 있습니다.
  • 멀티 플랫폼 소프트웨어 또는 유사한 기능을 제공하는 소프트웨어 테스트. 개발자들이 응용 프로그램을 Windows, Linux, Solaris와 같은 여러 운영 체제에서 실행할 수 있도록 만들 때 이 옵션이 유용합니다. 예를 들어 Oracle 데이터베이스와 같이 실험에 성공하면 프로덕션 환경에 Linux와 지원 소프트웨어를 설치할 수 있습니다.
  • 라이선싱. 이 점은 이전 항목과 관련이 있습니다. Windows는 유료이며 Linux는 무료입니다. Windows Server에 대한 데이터 센터 에디션 라이선스가 없는 경우, 호스트 Windows 시스템의 에디션에 포함된 Windows 라이선스 수를 초과하는 Hyper-V VM에 설치된 각 Windows에 대해 지불해야 합니다.
  • Linux는 Windows보다 적은 하드웨어 리소스가 필요합니다. Windows는 리소스 집약적인 운영 체제이며 Linux는 가벼워요.
  • Linux는 안전합니다. 사용자는 Windows 시스템이 다양한 해로운 바이러스에 취약하다는 사실을 알아야 합니다. 반면 Linux 사용자는 시스템이 올바르게 구성되어 있다면 특히 안전하다고 느낄 수 있습니다. 심지어 바이러스를 다운로드해도 Linux에서 실제로 바이러스를 실행하려면 많은 노력이 필요합니다. 예를 들어 파일 권한을 구성해야 합니다. Linux를 사용하면 개인 정보가 존중됩니다.
  • bash와 같은 Linux 셸은 작업 자동화에 필수입니다. 정규식, 스크립트 및 기타 트릭을 사용하여 Linux를 관리할 수 있습니다. Linux를 관리합니다. Linux가 당신을 관리하지 않습니다. 개발자 커뮤니티는 놀랄 만큼 뛰어납니다 – 개발자들은 Linux를 좋아합니다. 취약점이 발견되면 항상 빠르게 수정됩니다.
  • Linux를 배우고 Windows에서 Linux로 이전하려고 합니다.

물리 서버를 Hyper-V VM으로 변환하려면, 변환기를 사용하십시오. 하이퍼-V 형식의 물리 리눅스 머신을 VM으로 변환하는 것은 두 단계로 수행할 수 있습니다. VMware vCenter Converter를 사용하여 물리 머신을 VMware VM으로 변환한 다음, Microsoft Virtual Machine Converter를 사용하여 VMware VM을 Hyper-V VM으로 변환하십시오.

시작하기 전에

우분투 리눅스 설치는 오늘의 블로그 포스트의 중점으로 간주됩니다. GUI(그래픽 사용자 인터페이스)가 필요하지 않은 경우 우분투 서버를 설치할 수 있습니다. 설치 원칙은 유사합니다. 리눅스 배포판의 수가 많으며 설명된 논리를 사용하여 원하는 배포판을 선택하고 설치할 수 있습니다. 서로 다른 리눅스 패밀리 간의 주요 차이점 중 하나는 사용해야 하는 패키지 관리자의 차이입니다. 패키지 관리자는 리눅스 시스템에서 프로그램을 설치, 구성, 업그레이드 및 삭제하는 데 사용됩니다.

패키지 관리자는 다음과 같은 작업을 해결하는 데 도움이 됩니다:

  • 패키지 다운로드. 필요한 특정 패키지나 응용 프로그램을 설치하는 명령을 입력할 때 가장 적합한 소프트웨어 저장소에서 패키지가 자동으로 다운로드됩니다. 패키지에는 소프트웨어 버전, 패키지가 구축된 아키텍처, 체크섬, 제대로 작동하도록 필요한 다른 패키지 등 메타데이터가 포함됩니다.
  • 의존성 해결. 소프트웨어를 설치할 때 해당 소프트웨어에는 라이브러리를 포함한 자체적인 적절한 패키지가 필요할 수 있습니다. 이를 모두 수동으로 찾아 다운로드하고 설치하는 것은 많은 시간과 노력이 필요합니다. 패키지 관리자는 의존성이 있고 필요한 의존 패키지를 자동으로 설치하도록 제안합니다.
  • 품질 관리. 공인된 소프트웨어 저장소에 저장된 소프트웨어 패키지는 높은 품질, 안정성 및 버그의 부재를 제공하기 위해 테스트됩니다.
  • 파일 위치 표준 준수. Linux에는 많은 파일과 디렉터리가 포함되어 있습니다. 때로는 다른 Linux 배포판이 파일을 저장하는 경로나 구성 파일 이름을 다르게 사용하기도 합니다. 패키지 관리자를 사용하면 각 Linux 배포판에 필요한 위치에 파일을 저장하고 표준을 준수할 수 있습니다.

Hyper-V에 설치할 Linux 배포판을 선택하기 전에 Linux 패키지 관리자에 대한 정보를 익힐 수 있습니다. 가장 인기 있는 Linux 배포판 및 패키지 관리자 중 일부는 아래 표에 나열되어 있습니다.

리눅스 배포판 사용되는 패키지 관리자
데비안, 우분투, 쿠분투, 샤분투, 루분투, 민트 APT (고급 패키지 도구), DPKG (데비안 패키지 관리 시스템)
오픈SUSE, SLES (SUSE 리눅스 엔터프라이즈 서버) Zypper, YaST
레드햇, CentOS, 페도라 RPM (레드햇 패키지 관리자), YUM (옐로도그 업데이터 수정)
젠투 Portage

이 블로그 글의 맨 처음에서 언급된 대로, Hyper-V에서 리눅스 설치는 우분투 리눅스의 예를 사용하여 디모해질 것입니다. 우분투 18 LTS의 ISO 이미지를 공식 사이트에서 다운로드하십시오.

새 Hyper-V 가상 머신 만들기

먼저, Windows 기계에서 Hyper-V 역할(기능)이 활성화되어 있는지 확인하십시오 (제어판 > 프로그램 및 기능 > Windows 기능 켜기/끄기로 이동하여 Hyper-V 문자열 근처의 확인란이 선택되어 있는지 확인하십시오). 새 가상 머신을 만들려면, Hyper-V 관리자를 열고 작업 > 새로 만들기 > 가상 머신을 클릭하십시오. 새 가상 머신 마법사가 나타날 것입니다.

시작하기 전에. 이 단계에서는 구성할 것이 없습니다.

이름 및 위치 지정. VM 이름을 입력하십시오. 예를 들어, Ubuntu18을 입력하고 새 VM을 저장할 폴더를 선택하십시오. 시스템 볼륨 C:와 다른 볼륨을 사용하려고 노력하십시오. 이 경우 디스크 D:의 디렉터리를 사용합니다 (D:\Virtual\Hyper-V). 경로를 수동으로 입력하거나 찾아보기 버튼을 클릭하여 위치를 선택할 수 있습니다.

세대 지정. 이 가상 머신의 세대를 선택하십시오 – 1세대 또는 2세대. 호환성이 더 좋기 때문에 이 예제에서는 1세대가 선택되었습니다.

메모리 할당. GUI가 있는 Ubuntu Linux 머신에 적어도 1GB의 메모리를 지정하십시오. VM 생성 후 메모리 설정을 편집할 수 있습니다. 이 가상 머신에 대해 동적 메모리 사용 확인란을 선택하여 하드웨어 메모리 리소스를 더 합리적으로 사용할 수 있습니다.

네트워크 구성. VM의 가상 네트워크 어댑터를 연결할 가상 스위치를 선택하십시오. 이 경우 Default Switch가 사용됩니다. 나중에 다른 가상 스위치를 생성하고 구성하고 VM을 적절한 네트워크에 연결할 수 있습니다.

가상 하드 디스크 연결. 가상 하드 디스크 만들기 옵션을 선택하십시오. 동적 VHDX 가상 디스크가 기본적으로 생성됩니다. 가상 디스크 이름을 입력하십시오 (예: Ubuntu18.vhdx), 위치를 선택하고 가상 디스크의 크기를 설정하십시오 (최소 16GB).

설치 옵션. 부팅 가능한 CD/DVD-ROM에서 운영 체제를 설치합니다. 부팅 가능한 CD/DVD-ROM에서 운영 체제 설치를 선택하세요. 이미지 파일 (.iso)를 선택하고 이전에 다운로드한 Ubuntu18 설치 이미지의 ISO를 찾습니다.

요약. 설치 요약에서 설정을 확인하고 새 가상 머신을 만들려면 완료를 클릭하세요.

정적 MAC 주소 설정

이제 새로운 빈 VM이 생성되었으며 MAC 주소와 같은 다양한 VM 설정을 편집할 수 있습니다. 특히 Linux VM이 Hyper-V 호스트 간에 마이그레이션되어야 할 경우 Linux에서 정적 MAC 주소를 사용하는 것이 좋습니다. VM 이름을 마우스 오른쪽 단추로 클릭하고 설정을 클릭합니다. 설정 창에서 네트워크 어댑터를 선택하고 + 아이콘을 클릭하여 네트워크 어댑터 옵션을 확장합니다. 고급 기능을 클릭하고 창의 오른쪽 부분에서 정적 MAC 주소를 선택합니다. 변경 사항을 저장하려면 확인을 클릭하세요.

VM에 Ubuntu Linux 설치

Hyper-V 관리자에서 Ubuntu 가상 머신을 선택하고 VM 이름을 마우스 오른쪽 단추로 클릭한 다음 컨텍스트 메뉴에서 연결을 선택하여 VMConnect를 엽니다. 대안으로 VM을 선택한 후 Hyper-V 관리자 창의 메뉴 표시줄에서 동작 > 연결을 클릭할 수 있습니다.

VMConnect 창에서 시작 버튼을 클릭하여 VM을 전원을 켭니다. 가상 머신은 ISO 이미지에서 로드됩니다. 그런 다음 Ubuntu 설치 프로그램의 그래픽 사용자 인터페이스를 볼 수 있습니다. 설치 프로그램은 마법사 모드에서 여러 구성 단계를 제공합니다.

환영합니다. 이 화면에서 원하는 언어(영어)를 선택하고 Ubuntu 설치를 클릭하세요.

키보드 레이아웃. 키보드 레이아웃을 선택하십시오(예: 영어 미국) 그리고 계속을 클릭하세요.

업데이트 및 기타 소프트웨어. 일반 설치와 최소 설치 사이에서 선택할 수 있습니다. 일반 설치에는 더 많은 응용 프로그램이 설치됩니다.정상 설치최소 설치 중 선택할 수 있습니다. 일반 설치에는 더 많은 응용 프로그램이 설치됩니다.

기타 옵션을 선택하면 Ubuntu를 설치하는 동안 업데이트를 다운로드하고 그래픽, Wi-Fi 하드웨어 및 추가 미디어 형식을 위한 타사 소프트웨어를 설치할 수 있습니다.

설치 유형. 이제 Ubuntu를 설치할 디스크를 준비해야 합니다. 새로운 파티션 구성을 만들고 파티션을 포맷해야 합니다.

디스크 지우고 Ubuntu 설치. 이 옵션은 디스크를 자동으로 분할하는 데 사용될 수 있습니다. Ubuntu Linux를 처음 설치하는 경우에는 이 옵션을 선택할 수 있습니다.

새 Ubuntu 설치를 보안용으로 암호화. 이 옵션은 현재 예제에서 사용할 수 없습니다.

새로운 우분투 설치에 LVM 사용. LVM은 논리 볼륨 관리자로, 추상화 계층을 사용하여 볼륨 그룹을 만들고 두 개의 논리적 또는 물리적 디스크(또는 Linux를 Hyper-V의 VM으로 실행하는 경우 두 개의 가상 디스크)를 사용하여 볼륨 그룹을 만들 수 있습니다. 또한, 볼륨에 여유 공간이 없는 경우 볼륨 그룹에 하나의 디스크를 추가하여 볼륨 그룹 크기를 확장할 수 있습니다. 이 접근 방식은 파일 서버, 데이터베이스 서버 등에 유용할 수 있는 더 많은 유연성을 추가합니다. LVM을 사용하면 리눅스 기계를 껐다 키지 않고도 볼륨 그룹의 크기 조정 및 대부분의 다른 작업을 실시간으로 수행할 수 있습니다.

다른 것. 이 옵션을 선택하면 필요한 크기의 파티션을 수동으로 생성하고 해당 디렉토리에 마운트할 수 있습니다. 이 옵션은 숙련된 사용자에게 널리 활용됩니다.

리눅스에서 디스크 파티션은 C: 또는 D:와 같은 디스크 문자로 이름이 지어지지 않습니다(윈도우의 경우). 리눅스에서 디스크는 /dev/sda, /dev/sdb, /dev/sdc 등의 이름으로 지정됩니다. 디스크의 이름이 /dev/sda이고 세 개의 파티션이 있는 경우 파티션의 이름은 /dev/sda1, /dev/sda2, /dev/sda3이어야 합니다.

sdaSATA Disk의 약어입니다. 예전에 IDE(병렬 ATA) 디스크를 사용했을 때는 하드 디스크 장치가 hard disk로 이름이 지어졌고, 파티션은 /dev/hda, /dev/hdb 등으로 이름이 붙었습니다. 파티션의 이름은 /dev/hda1, /dev/hda2, /dev/hdb1으로 각각 지정되었습니다.

디스크 파티션은 이 경우에는 마운트 포인트라고 불리는 디렉토리에 마운트됩니다. Linux 파일 시스템의 주 디렉토리는 / 기호로 지정된 루트 디렉토리입니다. Linux에 대한 파티션 구성을 수동으로 만들 때의 권장 사항이 표에 표시됩니다. Hyper-V에 Linux를 설치할 때 비슷한 파티션 구성을 사용할 수 있습니다.

마운트 포인트 디스크 파티션 권장 크기 비고
/boot /dev/sda1 500MB – 1GB GRUB와 같은 부트 로더가 포함됩니다.
/ /dev/sda2 적어도 12-20GB 필요한 가장 중요한 파티션입니다.
/home /dev/sda3 사용자 파일과 시스템 파일을 분리하는 데 사용됩니다.
swap /dev/sda4 RAM 용량에 따라 4-8GB 스왑 파티션은 Windows 스왑 파일과 동일한 목적으로 사용됩니다.
/var/log/ /dev/sdb1 로그를 저장하기 위한 별도의 파티션을 생성하는 것은 필수는 아니지만 서버에서는 권장됩니다. 로그 파일을 쓰는 애플리케이션이 있는 경우 디스크가 가득 찰 수 있습니다. 이로 인해 운영 체제와 애플리케이션이 충돌할 수 있습니다.

참고: MBR (Master Boot Record) 파티션 구성 방식을 사용하면 파티션을 4개만 생성할 수 있습니다. GPT (GUID Partition Table)는 4개 이상의 파티션을 생성할 수 있도록 합니다.

지금 설치를 클릭하여 계속 진행하십시오.

디스크에 변경 사항을 작성하시겠습니까? 경고 메시지가 표시됩니다. 새로운 디스크 파티션 구성 방식을 적용하려면 계속을 클릭하십시오.

어디에 계십니까? 지리적 위치와 시간대를 선택하십시오. 귀하의 지역에 위치한 소프트웨어 저장소를 사용하여 더 나은 가용성과 다운로드 속도를 확보하십시오.

누구십니까? 이름, 컴퓨터 이름(이 경우에는 VM의 호스트 이름), 사용자 이름을 선택하고 비밀번호를 정의하십시오. 필요한 경우 자동으로 로그인하는 옵션을 선택할 수 있습니다. 기본적으로 로그인하려면 비밀번호가 필요합니다 – 이것이 가장 안전한 옵션이며 권장되는 옵션입니다. 파일 복사 및 설치 프로세스를 시작하고 파일을 복사하는 데 계속을 클릭하십시오.

설치 프로세스가 완료될 때까지 기다리십시오. 파일을 복사하는 동안 유용한 팁 및 OS 설명을 읽을 수 있습니다.

설치 완료. 새 설치를 사용하려면 컴퓨터를 다시 시작해야 합니다. 지금 다시 시작을 클릭하십시오.

Hyper-V Linux 가상 머신을 다시 시작한 후 로그인 화면이 표시됩니다. 사용자 이름을 선택하고 로그인하려면 비밀번호를 입력하십시오. 이미 Hyper-V에 설치된 새 버전의 Ubuntu Linux의 새로운 기능을 보여주는 창을 확인할 수 있습니다.

Linux 구성

하이퍼-V VM에 우분투를 설치했지만, 우분투와 같은 다른 리눅스도 추가적인 편리한 사용을 위해 설정되어야 합니다. 대부분의 설정은 리눅스 콘솔(터미널)에서 구성할 수 있습니다. 터미널을 열려면 왼쪽 하단 모서리에 있는 아홉 개의 점을 클릭하여(애플리케이션 표시) 나타나는 메뉴에서 터미널 아이콘을 클릭하십시오. 또한 데스크톱을 우클릭하고 컨텍스트 메뉴에서 터미널 열기를 클릭하거나 Ctrl+Alt+T 단축키 조합을 누르는 방법이 있습니다.

이제 아름다운 우분투 리눅스 터미널 창이 나타납니다. 리눅스에서 명령과 파일 이름은 대소문자를 구별합니다. ReadMe.txtreadme.txt는 리눅스에서 다른 파일 이름이지만, 윈도우에서는 이 파일 이름들 사이에 차이가 없습니다.

네트워크 설정 확인

네트워크 구성을 확인하려면 다음 명령을 사용하여 네트워크 구성을 확인할 수 있도록 넷 툴을 설치하십시오:

sudo apt-get install net-tools

sudo는 명령을 루트 사용자(대리 사용자)로 실행할 수 있도록 합니다.

ifconfig을 입력하여 하이퍼-V VM에서 실행 중인 우분투의 네트워크 구성을 확인하십시오.

A default virtual DHCP server connected to the default virtual switch has distributed the IP configuration for the virtual network adapter of the current Ubuntu Linux VM running on Hyper-V. The name of the virtual Ethernet adapter in Linux is eth0. The obtained IP address is 172.25.151.20, netmask is 255.255.255.240 and the default gateway is 172.25.151.31 in this case.

네트워크 설정 수동 변경

DHCP를 통해 IP 주소를 획득하는 것은 편리하지만, Hyper-V에서 실행 중인 Linux를 서버로 사용하려는 경우 네트워크 설정을 수동으로 구성해야 합니다. 또한 서버로 사용되는 Linux VM을 복제하려는 경우 IP 주소와 기계 이름을 변경하는 것이 필수적입니다. 또한 Hyper-V 가상 스위치를 다시 구성하거나 가상 네트워크 어댑터를 다른 가상 스위치에 연결한 후 Linux VM에서 IP 주소를 변경해야 할 수 있습니다. Linux VM의 네트워크 설정을 수동으로 구성하는 방법을 알아보겠습니다.

네트워크 설정과 같은 시스템 설정을 변경하려면 루트 권한이 필요합니다. 콘솔에서 루트 권한을 얻으려면 sudo -i를 입력하십시오(세션 도중에 비밀번호를 입력해야 합니다) (Ctrl+D를 눌러 필요할 때 루트 모드에서 나올 수 있습니다). 명령 프롬프트에서 $ 문자가 # 문자로 변경되었음을 알 수 있습니다. 새 IP 주소를 입력한 다음 네트워크 인터페이스를 다시로드하십시오:

ifconfig eth0 172.25.151.21 netmask 255.255.255.240

ifconfig eth0 down

ifconfig eth0 up

이 설정은 장치를 다시 시작할 때까지 적용됩니다.

영구적으로 정적 IP 주소를 설정하려면, Ubuntu Linux의 네트워크를 구성하는 데 사용되는 netplan 구성을 사용하십시오. Ubuntu 버전 17부터 사용되는 netplan은 이전 버전의 Ubuntu 및 일부 다른 Linux 배포판에서는 /etc/network/interfaces 구성 파일을 편집하여 IP 주소 구성을 편집할 수 있습니다. .yaml 파일을 vim을 사용하여 다음 명령을 사용하여 편집하십시오:

vim /etc/netplan/01-network-manager-all.yaml

이 파일에는 다음 구성이 포함되어 있습니다:

network:

version: 2

renderer: NetworkManager

이 파일을 편집하여 IP 주소, 넷 마스크, 게이트웨이 및 DNS 서버를 변경할 수 있습니다. 파일 구조를 유지해야 합니다. 여백 문자의 수도 포함해야 합니다.

참고: 네트워크 마스크는 비트 수로 작성할 수 있습니다.

255.255.255.0은 11111111.11111111.11111111.00000000으로 쓰고, 24비트 마스크입니다(10진 형식의 24개의 1을 볼 수 있습니다).

255.255.255.240은 11111111.11111111.11111111.11110000으로 쓰고, 28비트 마스크입니다(10진 형식의 28개의 1이 있습니다).

IP 주소와 넷 마스크는 4개의 옥텟으로 구성됩니다. 각 옥텟(8비트)은 10진 형식으로 변환될 수 있습니다(아래 표를 참조하세요).

1 1 1 1 1 1 1 1 1+1+1+1+1+1+1+1=8
128 64 32 16 8 4 2 1 128+64+32+16+8+4+2+1=255

다음 표를 사용하여 클래스 C 네트워크로 분류될 수 있는 네트워크의 네트워크 마스크를 한 형식에서 다른 형식으로 변환할 수 있습니다. 네트워크에 연결할 수 있는 호스트의 최대 수는 오른쪽 열에 표시되어 있습니다.

비트 네트워크 마스크 호스트
/30 255.255.255.252 2
/29 255.255.255.248 6
/28 255.255.255.240 14
/27 255.255.255.224 30
/26 255.255.255.192 62
/25 255.255.255.128 126
/24 255.255.255.0 254

위에서 설명한 논리를 사용하여 마스크를 수동으로 한 형식에서 다른 형식으로 변환할 수 있습니다. 네트워크에 연결할 수 있는 호스트의 최대 수를 계산하려면 다음 공식을 사용하세요:

2(32-m) – 2

여기서 m은 네트워크 마스크에 사용된 비트 수입니다. 예를 들어 /29 네트워크가 있고 이 네트워크의 최대 호스트 수는 다음과 같습니다:

2(32-29) – 2 = 23 – 2 = 8 – 2 = 6

-2는 네트워크 주소와 브로드캐스트 주소를 제외해야 함을 보여줍니다. (예: 192.168.1.0/24 네트워크의 경우 192.168.1.0 및 192.168.1.255 주소를 제외해야 함). 다른 네트워크에 연결을 가능하게 하려면 적어도 하나의 IP 주소를 기본 게이트웨이로 사용해야 함을 잊지 마세요. 네트워크를 하위네트워크로 나눌 수도 있지만, 지금은 Hyper-V VM에서 실행 중인 Ubuntu의 네트워크를 구성하는 것으로 돌아가겠습니다.

렌더러를 NetworkManager에서 networkd로 변경하고, 아래와 같이 Ubuntu 네트워크 구성을 편집하십시오. 구성 형식을 유지하기 위해 공백 문자를 추가할 때 주의하십시오.

network:

version: 2

renderer: networkd

ethernets:

eth0:

dhcp4: no

addresses: [172.25.151.21/24]

gateway4: 192.168.151.17

nameservers:

addresses: [192.168.151.17,8.8.8.8]

편집 모드에서 탐색 모드로 나가려면 Esc를 누르십시오. 변경 사항을 저장하고 텍스트 편집기를 종료하려면 :wq를 입력하고 Enter를 누르십시오.

참고. 하나 이상의 네트워크 어댑터가 있는 경우(예: eth0eth1) 해당 eth1: 블록을 네트워크 구성 .yaml 파일에 eth0: 블록 아래 추가하십시오.

편집 후 명령을 사용하여 구성 파일 형식이 올바른지 확인하십시오:

netplan try

모든 것이 올바른 경우 Enter를 눌러 이러한 설정을 유지하십시오.

Ubuntu에서 호스트 이름을 변경하는 방법

이를 변경하기 전에 현재 호스트 이름을 확인하십시오.

hostnamectl

스크린샷에서 확인할 수 있듯이 Linux 머신의 현재 호스트 이름은 Ubuntu-VM입니다. 새로운 VM-Ubuntu 호스트 이름을 설정하십시오:

hostnamectl set-hostname VM-Ubuntu

호스트 이름이 이제 /etc/hostmane 파일에서 변경되었는지 확인하십시오.

less /etc/hostname

/etc/hosts 파일에서도 호스트 이름을 편집해야 합니다.

vim /etc/hosts

Vim은 Windows PowerShell에서 대안이 없는 강력한 콘솔 텍스트 편집기입니다. 기본적으로 탐색 모드에 있습니다. 왼쪽(h), 오른쪽(L), 아래(j), 위(k) 화살표를 눌러 탐색할 수 있습니다. 커서 뒤에 문자를 추가하려면 a를 누르세요. 커서로 강조된 기존 문자 대신 문자를 삽입하려면 i를 누르세요. Ubuntu-VMVM-Ubuntu로 변경한 후 편집 모드에서 탐색 모드로 나가려면 Esc를 누르세요.

파일에 변경 사항을 작성하고 종료하려면 :wq를 입력하세요.

변경 사항이 적용되도록 리눅스 머신을 재시작하려면 init 6 명령을 사용하세요.

Ubuntu Linux에서 SSH 서버 구성

더 큰 편의를 위해 SSH를 통한 원격 액세스를 활성화해야 합니다. SSH 서버는 암호화된 SSH(보안 셸) 프로토콜을 통해 리눅스 콘솔에 원격으로 액세스하는 데 사용됩니다. 이를 위해 Hyper-V에서 실행 중인 Ubuntu VM에 SSH 서버를 설치하고 Hyper-V 호스트로 사용되는 Windows 머신에 SSH 클라이언트를 설치해야 합니다.

Ubuntu 머신에서 터미널을 열고 다음 명령을 루트 사용자로 실행하세요:

apt-get install -y openssh-server

SSH 서버의 구성은 sshd_config 파일에 저장됩니다. 필요한 설정으로 SSH 연결을 활성화하려면 이 파일을 편집하세요.

vim /etc/ssh/sshd_config

이 문자열의 주석을 해제하세요 (# 문자를 삭제하세요)

PasswordAuthentication yes

파일을 저장하고 나가십시오.

SSH 서버 데몬(서비스)을 다시 시작하십시오.

/etc/init.d ssh stop

/etc/init.d ssh start

Windows 기기용 SSH 클라이언트(예: PuTTY)를 다운로드하십시오. Windows 기기에서 PuTTY를 열고, Hyper-V에서 실행 중인 Ubuntu VM의 IP 주소를 입력하고 열기를 클릭하십시오.

사용자 이름과 암호를 입력하십시오. 이제 원격으로 Ubuntu 콘솔에 연결됩니다.

Linux VM과 Windows 호스트 기기 간 파일 전송

VMware와 달리 Hyper-V에서는 Windows 호스트와 Linux 게스트 간에 파일을 드래그하여 놓아 전송할 수 없습니다. SSH 서버를 구성했으므로 SFTP(Secure File Transfer Protocol) 클라이언트인 WinSCP를 사용하여 Ubuntu VM에서 Hyper-V 호스트로 파일을 전송하고 그 반대 작업을 수행할 수 있습니다. WinSCP는 보안 연결을 위해 SSH를 사용하며 파일 전송을 위해 SCP(Secure Copy Protocol)도 사용할 수 있습니다.

Windows 기기에서 WinSCP를 실행하십시오. 파일 프로토콜로 SFTP를 선택하고 호스트 이름 또는 IP 주소, 사용자 이름 및 암호를 입력하십시오.

로그인한 후, Windows 기기의 파일을 표시하는 첫 번째 패널과 Linux 기기의 파일을 표시하는 두 번째 패널이 있는 창이 표시됩니다. 출발지 및 목적지 기기의 지정된 디렉터리로 이동하고 파일과 디렉터리를 선택하십시오. 선택한 항목을 패널 간에 드래그하여 복사하십시오.

Linux에 Hyper-V 통합 서비스를 설치하는 방법은 무엇인가요?

Ubuntu 12.04 이후 버전부터는 Hyper-V Linux 통합 서비스가 내장되어 있습니다. 만약 귀하의 Linux 배포판이 Hyper-V 통합 서비스를 포함하지 않는다면, Microsoft의 사이트에서 다운로드할 수 있습니다. Microsoft의 사이트에서 다운로드할 수 있습니다.

PowerShell에서 Hyper-V 호스트에서 실행 중인 Ubuntu VM에 대해 활성화된 통합 서비스를 확인할 수 있습니다. 다음 명령을 Hyper-V 호스트의 PowerShell에 입력하십시오:

get-vmintegrationservice -VMName “Ubuntu18”

또한 GUI에서 이 VM에 Hyper-V가 제공할 서비스를 선택할 수도 있습니다. Hyper-V 관리자를 열고 VM 이름을 마우스 오른쪽 버튼으로 클릭한 다음 설정을 클릭하십시오. 설정 창에서 왼쪽 창에서 통합 서비스를 선택하고 필요한 서비스 옆의 확인란을 선택하십시오 (게스트 서비스는 이 예제에서 활성화되어야 합니다).

변경 사항을 저장하려면 확인을 클릭하십시오.

이제 PowerShell에서 활성화된 서비스를 다시 확인할 수 있습니다 (아래 스크린샷 참조).

get-vmintegrationservice -VMName “Ubuntu18”

한 번 Hyper-V 통합 서비스가 Ubuntu Linux에 설치되면 활성화되어야 합니다. /etc/initramfs-tools/modules 파일에는 initramfs에 포함하려는 모듈 목록이 포함되어 있습니다.

initramfs는 루트 파일 시스템(/)을 마운트하기 위한 초기 RAM 파일 시스템입니다. 결과적으로, 초기 루트 파일 시스템 및 이닛 데몬(리눅스에서 실행되어야 하는 첫 번째 프로세스)은 커널 메모리 캐시에 있을 수 있습니다(initrd 파일 시스템의 램디스크와 달리 일정한 크기의 블록 장치 역할을 하며 캐싱을 위해 더 많은 메모리를 소비합니다). initrd는 리눅스 커널 2.6 이후 initramfs로 대체되었습니다. 이는 유연성, 효율성 및 단숨함 등의 장점을 가지고 있습니다. initramfs는 루트 파일 시스템에서 볼 수 있는 디렉터리의 완전한 집합으로 gzip으로 압축된 cpio 아카이브입니다.

리눅스 커널은 단일형 및 모듈형일 수 있습니다. 대부분의 경우 모듈 커널이 사용됩니다. 필요한 모듈을 로딩할 수 있도록 설정해 봅시다.

vim /etc/initramfs-tools/modules

파일을 편집하여 적절한 모듈을 로딩할 수 있도록 이 문자열을 추가하세요.

hv_vmbus

hv_storvsc

hv_blkvsc

hv_netvsc

initramfs를 업데이트하세요:

update-initramfs -u

Ubuntu에서 Hyper-V VM을 재시작하세요:

init 6

리눅스 커널에 대한 Hyper-V 관련 모듈이 로드되었는지 확인하세요.

lsmod | grep hv

리눅스 디스크 최적화 튜닝

리눅스에는 자체적으로 디스크 I/O(입출력)를 최적화하는 I/O 스케줄러 모드가 기본적으로 있으며, 이는 특히 자기(회전) 하드 디스크 드라이브에 유용합니다. Hyper-V에는 가상 디스크 I/O 성능을 최적화하는 자체 메커니즘이 있습니다. 두 개의 디스크 최적화 도구를 사용하는 것은 필요하지 않으며, 내장된 리눅스 디스크 최적화 도구를 비활성화할 수 있습니다. 리눅스 커널은 서로 다른 알고리즘을 사용하는 다양한 I/O 스케줄러를 사용할 수 있습니다. 이 경우에는 NOOP 스케줄러를 사용해야 합니다. NOOP는 큐에 대해 선입선출(FIFO) 개념을 사용하는 가장 간단한 I/O 스케줄러입니다. 이것이 Hyper-V에서 Ubuntu를 실행하는 데 필요한 것입니다.

리눅스 커널에서 사용하는 I/O 스케줄러를 편집하려면 다음 명령을 사용하여 grub 구성 파일을 편집하십시오:

vim /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT 문자열을 찾으십시오. 이 경우 이 문자열은 다음과 같은 모양입니다:

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

이 문자열을 다음과 같은 모양으로 편집하십시오:

GRUB_CMDLINE_LINUX_DEFAULT=”elevator=noop”

이 GRUB 구성 파일에 변경 사항을 저장하십시오.

GRUB 부트로더 구성을 업데이트하십시오.

update-grub2

Ubuntu Hyper-V VM을 다시 부팅하십시오.

init 6

결론

리눅스를 사용해 본 적이 없다면 Hyper-V에서 Ubuntu를 설치하는 것은 리눅스 세계의 문을 열기 위한 첫 번째 단계가 될 수 있습니다. 새 가상 머신을 만드는 것은 간단하지만, 설치가 완료된 후 일부 수동 설정을 해야 합니다.

하이퍼-V 호스트에서 Linux 가상 머신을 실행하면 쉽게 복제하고 이동할 수 있습니다. 두 대의 기기는 호스트 이름과 IP 주소가 동일해서는 안 되므로, 기본 네트워크 구성에 대해 설명되었습니다. 하이퍼-V Linux 통합 서비스는 가상 머신의 성능을 향상시킬 수 있습니다.

가상 머신에서 운영 체제가 실행 중인 동안, Windows 및 Windows 가상 머신은 소중한 데이터를 보호하기 위해 백업되어야 합니다. NAKIVO Backup & Replication은 Hyper-V 가상 머신을 최상의 방식으로 백업할 수 있습니다.

Source:
https://www.nakivo.com/blog/run-linux-hyper-v/