Hyper-v에서 Linux를 실행 하기 위한 모범 사례

 

적용 대상: Hyper-V Server 2012, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 R2, Microsoft Hyper-V Server Technical Preview, Windows Server 2012, Hyper-V Server 2012 R2, Windows 10 Technical Preview, Windows Server Technical Preview, Windows 8

이 문서에는 Hyper-v에서 Linux 가상 컴퓨터를 실행 하기 위한 권장 사항 목록을 포함 합니다.

동적 VHDX 파일의 Linux 파일 시스템을 튜닝합니다.

일부 Linux 파일 시스템 파일 시스템은 대개 비어 있는 경우에 상당한 양의 실제 디스크 공간을 사용할 수 있습니다. 동적 VHDX 파일의 실제 디스크 공간 사용량을 줄이려면 다음 권장 사항을 따릅니다.

  • VHDX를 만들 때 (32MB 기본값)에서 1 MB BlockSizeBytes PowerShell에서 다음과 같이 사용

    PS > New-VHD –Path C:\MyVHDs\test.vhdx –SizeBytes 127GB –Dynamic –BlockSizeBytes 1MB
    
  • Ext4 형식은 ext4 e x t 3 동적 VHDX 파일을 사용할 때 보다 효율적으로 더 많은 공간 이므로 e x t 3을 선호 합니다.

  • 때 파일 시스템 만들기 4096 예 되도록 그룹의 수를 지정 합니다.

    # mkfs.ext4 –G 4096 /dev/sdX1 
    

2 세대 가상 컴퓨터에서 grub 메뉴 제한 시간

레거시 하드웨어 에뮬레이션에 2 세대 가상 컴퓨터에서 제거 되 고, 인해 grub 메뉴 카운트다운 타이머 카운트다운 너무 빨리 표시 될 grub 메뉴에 대 한 기본 항목을 즉시 로드 합니다. Grub EFI 지원 타이머를 사용 하 여 고정 되어 때까지 수정**/boot/grub/grub.conf**/etc/default/grub또는 있어야 그와 동등한 "제한 시간 = 100000" 기본 대신 "timeout = 5".

2 세대 가상 컴퓨터에서 PxE 부팅

PIT 타이머를 세대 2 가상 컴퓨터에 있는 않으므로 PxE TFTP 서버에 대 한 네트워크 연결 조기에 종료 될 수 있습니다 및 Grub 구성 읽기 및 서버에서 커널을 로드에서 부팅 로더를 방지 합니다.

RHEL에 6.x, 여기에서 설명한 대로 grub2 대신 레거시 grub v0.97 EFI 부팅 로더를 사용할 수 있습니다: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/s1-netboot-pxe-config-efi.html

RHEL 이외의 Linux 배포판의 6.x에서 비슷한 단계를 PxE 서버에서 Linux 커널 로드 grub v0.97를 구성 하려면 올 수 있습니다.

또한 RHEL/CentOS 6.6 키보드 및 마우스 입력 작동 하지 것입니다 방지 하는 설치 전 커널 메뉴에서 설치 옵션을 지정 합니다. 직렬 콘솔 설치 옵션을 선택할 수 있도록 구성 되어야 합니다.

  • efidefault PxE 서버에 파일을 다음 커널 매개 변수를 추가 합니다. “console=ttyS1”

  • Hyper-v에서 VM에서이 PowerShell cmdlet을 사용 하 여 COM 포트를 설치:

    Set-VMComPort –VMName <Name> -Number 2 –Path \\.\pipe\dbg1
    

설치 전 커널에 활용 파일을 지정 하지 키보드 및 마우스 설치 하는 동안 입력에 대 한 필요성도 합니다.

장애 조치 클러스터링 된 정적 MAC 주소를 사용 합니다.

각 가상 네트워크 어댑터에 대 한 정적 미디어 액세스 제어 (MAC) 주소와 장애 조치 클러스터링을 사용 하 여 배포 되는 Linux 가상 컴퓨터를 구성 합니다. 일부 Linux 버전에서 네트워킹 구성 때문일 수도 있습니다 손실 장애 조치 후 새 MAC 주소를 가상 네트워크 어댑터에 할당 됩니다. 네트워크 구성을 잃지를 방지 하려면 각 가상 네트워크 어댑터에 정적 MAC 주소가 있는지 확인 합니다. Hyper-v 관리자 또는 장애 조치 클러스터 관리자에서 가상 컴퓨터의 설정을 편집 하 여 MAC 주소를 구성할 수 있습니다.

레거시 네트워크 어댑터가 아닌 하이퍼-V 관련 네트워크 어댑터를 사용 합니다.

구성 하 고 가상 이더넷 어댑터는 향상된 된 성능 제공 하는 하이퍼-V 관련 네트워크 카드를 사용 합니다. 레거시와 하이퍼-V 관련 네트워크 어댑터를 가상 컴퓨터에 연결, 경우에 네트워크의 출력에 이름을ifconfig –a와 같은 임의의 값을 표시할 수 있습니다**_tmp12000801310**합니다. 이 문제를 방지 하려면 Linux 가상 컴퓨터에서 하이퍼-V 관련 네트워크 어댑터를 사용 하는 경우 모든 레거시 네트워크 어댑터를 제거 합니다.

더 나은 디스크 I/O 성능에 대 한 I/O 스케줄러 NOOP를 사용 합니다.

Linux 커널에는 서로 다른 알고리즘을 사용 하 여 요청을 다시 정렬 하려면 4 명의 서로 다른 I/O 스케줄러에 있습니다. NOOP은 하이퍼바이저 수행 하기 위해 일정 의사 결정을 전달 하는 선입 선출 큐입니다. Hyper-v에서 Linux 가상 컴퓨터를 실행할 때 NOOP 스케줄러로 사용 하는 것이 좋습니다. 부팅 로더가 구성에서의 특정 장치에 대 한 스케줄러를 변경 하려면 (/ etc/grub.conf, 예:), 추가elevator=noop커널 매개 변수 및 다음 다시 시작 합니다.

추가 "numa = off" Linux 가상 컴퓨터에 7 개 이상의 가상 프로세서 또는 RAM 이상 30GB 합니다.

7 개 이상의 가상 프로세서를 사용 하도록 구성 하는 Linux 가상 컴퓨터를 추가 해야numa=off2.6. x Linux 커널의 알려진된 문제를 해결 하려면 GRUB boot.cfg에 있습니다. 30 개 이상의 사용 하도록 구성 하는 Linux 가상 컴퓨터 1GB RAM을 추가 해야numa=offGRUB boot.cfg에 있습니다.

Kdump에 대 한 더 많은 메모리를 예약 합니다.

덤프 캡처 커널 부팅에는 먹지 마세요도 끝나는 경우에 커널에 대 한 더 많은 메모리를 예약 합니다. 예를들어, 매개 변수를 변경crashkernel=384M-:128Mcrashkernel=384M-:256MUbuntu grub 구성 파일에 있습니다.

잘못 된 GPT 파티션 테이블 VHD 파일을 확장 또는 축소 될 수 있습니다.

Hyper-v는 모든 파티션, 볼륨 또는 디스크에 있을 수 있는 파일 시스템 데이터 구조에 관계 없이 가상 디스크 (VHD) 파일을 축소 수 있습니다. 파티션의 끝나기 전에 끝 VHD의 원본 위치에 VHD을 축소 하는 경우 데이터가 손실 될 수 있습니다, 그리고 파티션을 읽을 때 파티션 손상 또는 잘못 된 데이터를 될 수 있습니다을 반환할 수 있습니다.

VHD의 크기를 조정한 후 관리자 fdisk와 같은 유틸리티를 사용 해야 하거나 parted 파티션, 볼륨 및 파일 시스템 구조는 디스크의 크기에 변경 사항을 반영 하도록 업데이트 합니다. 축소 또는 GUID 파티션 테이블 (GPT) 있는 VHD의 크기를 확장 하면 경고 파티션 관리 도구는 파티션 레이아웃을 확인 하는데 사용 되 고 첫번째 및 보조 GPT 헤더를 해결 하려면 관리자를 열라는 경고가 표시 됩니다. 이 단계를 직접 데이터 손실 없이 수행 해도 됩니다.

참고 항목