Google Virtual NIC 문제 해결


다음은 Google Virtual NIC(gVNIC) 문제 해결에 도움이 되는 도움말입니다.

일반적인 실수

다음 문제는 VM을 만드는 데 사용된 이미지에 gVNIC를 사용하도록 태그가 지정되지 않은 경우에 발생합니다.

ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - Invalid value for field 'resource.networkInterfaces[0].nicType': 'GVNIC'.
NetworkInterface NicType can only be set to GVNIC on instances with
GVNIC GuestOsFeature.

이 문제를 해결하려면 gVNIC를 사용하도록 태그가 지정된 이미지를 사용하고 있는지 확인하세요. 자세한 내용은 커스텀 이미지 만들기를 참조하세요.

기타 문제

이 섹션에는 Compute Engine 인스턴스에서 gVNIC 드라이버를 사용할 때 발생할 수 있는 다른 오류가 포함되어 있습니다.

VM 인스턴스가 부팅되지 않음

  • 원인: 이미지에서 gVNIC가 사용 설정되어 있지 않습니다.

  • 진단: 이미지에 ‌gVNIC가 사용 설정되어 있는지 확인하세요. 확인하려면 다음 명령어를 실행하세요.

    gcloud compute images describe IMAGE_NAME

    IMAGE_NAME를 이미지 이름으로 바꿉니다.

    명령어를 실행하면 guestOsFeatures 아래에 GVNIC가 표시됩니다.

    또한 nic-typegVNIC로 설정된 VM이 생성되었는지 확인할 수도 있습니다. 이렇게 하려면 다음 명령어를 실행합니다.

    gcloud compute instances describe VM_NAME

    VM_NAME을 VM 이름으로 바꿉니다.

  • 해결 방법: 지원되는 이미지를 사용 중인지 또는 커스텀 이미지에 올바르게 gVNIC 드라이버를 설정했는지 확인하세요.

VM 인스턴스가 부팅되었지만 네트워크를 통해 연결할 수 없음

  • 원인: gVNIC가 정상적으로 설치 및 로드되지 않았습니다.

  • 진단 : 드라이버가 설치 및 로드되었는지 확인하려면 다음 단계를 완료하세요.

    Linux

    1. 드라이버가 설치되었는지 확인합니다.

      modinfo gve

      다음과 유사한 결과가 출력됩니다.

      filename:       /lib/modules/4.15.0-1036-gcp/updates/dkms/gve.ko
      version:        1.1.0
      license:        Dual MIT/GPL
      description:    gVNIC Driver
      author:         Google, XXX.
      srcversion:     5FEFB9DD945EB2DEC94EE09
      alias:          pci:v00001AE0d00000042sv*sd*bc*sc*i*
      depends:
      retpoline:      Y
      name:           gve
      vermagic:       4.15.0-1036-gcp SMP mod_unload
      
    2. 드라이버가 로드되었는지 확인합니다.

      lsmod | grep gve

      다음과 유사한 결과가 출력됩니다.

      gve                    49152  0

    Windows

    1. SAC를 통해 인스턴스에 연결합니다.
    2. 사용자 이름과 비밀번호로 로그인합니다.
    3. 명령 프롬프트에서 다음 명령어를 실행합니다.

      dism /online /get-drivers | findstr gvnic
    4. 결과를 검토합니다.

      • 드라이버가 설치되어 있는 경우 출력에서 텍스트 Original File Name : gvnic.inf가 표시됩니다.
      • 드라이버가 설치되어 있지 않으면 메시지가 표시되지 않습니다.
  • 해결 방법: gVNIC를 사용할 수 없는 경우 지원되는 이미지를 사용 중인지 또는 커스텀 이미지에 올바르게 gVNIC를 설정했는지 확인하세요.

VPC에 설정된 MTU 값이 컴퓨팅 인스턴스에서 사용되지 않음

안내에 따라 MTU 값을 8896으로 변경한 후 인스턴스의 MTU 구성에서 동일한 MTU 값을 사용하지 않습니다. 예를 들어 인스턴스에서 /sbin/ifconfig | grep mtu 명령어를 실행하여 MTU 설정을 확인할 수 있습니다. 인스턴스를 다시 시작했지만 인스턴스 구성이 업데이트되지 않았습니다.

원인: gVNIC 드라이버 버전이 너무 오래되었습니다.

해결 방법:

  1. 인스턴스에서 공개 이미지를 사용하는 경우 운영체제 세부정보 페이지에서 OS 버전의 네트워킹 기능 탭을 검토합니다. 점보 프레임이 완전히 지원된다고 표시되는지 확인합니다.
  2. 공개 이미지가 점보 프레임을 완전히 지원하지 않거나 맞춤 OS 이미지를 사용하는 경우 설치된 gVNIC 드라이버 버전이 너무 오래되어 더 높은 MTU 값을 지원하지 않습니다. '지원되지 않는 운영체제에서 사용' 섹션의 안내에 따라 컴퓨팅 인스턴스의 gVNIC 드라이버를 업데이트합니다.
  3. gVNIC 드라이버를 업데이트한 후 인스턴스를 다시 시작하고 MTU 구성을 다시 확인합니다.

Windows Server 2022 및 Windows 11 VM의 네트워킹 처리량 저하

gVNIC 드라이버 GooGet 패키지 버전 1.0.0@44 이하를 사용하는 Windows Server 2022 및 Windows 11 VM에서 Google Virtual NIC(gVNIC)를 사용하는 경우 네트워킹 처리량이 저하될 수 있습니다.

이 문제를 해결하려면 다음을 수행하여 gVNIC 드라이버 GooGet 패키지를 1.0.0@45 버전 이상으로 업데이트합니다.

  1. 관리자 명령 프롬프트 또는 Powershell 세션에서 다음 명령어를 실행하여 VM에 설치된 드라이버 버전을 확인합니다.

    googet installed
    

    결과는 다음과 유사합니다.

    Installed packages:
      ...
      google-compute-engine-driver-gvnic.x86_64 VERSION_NUMBER
      ...
    
  2. google-compute-engine-driver-gvnic.x86_64 드라이버 버전이 1.0.0@44 이하이면 관리자 명령 프롬프트 또는 Powershell 세션에서 다음 명령어를 실행하여 GooGet 패키지 저장소를 업데이트합니다.

    google-compute-engine-driver-gvnic.x86_64