본문 바로가기

hyper-v

[Hyper-V] improve network performance w/ SR-IOV (2/2) SR-IOV 적용 가이드를 기반으로 다른 플랫폼에서 테스트를 완료 했고, 실제 서비스 HOST/VM에 SR-IOV 의 할당을 받도록 적용 했지만, 안타깝게도 CPU 사용률은 떨어지지 않았습니다. i350 기가비트의 VF 스펙이 최대 6개 였고 서비스 VM이 6개 이상 올라갔기 때문에, 트래픽이 가중되는 공인(Public)망 쪽 pNIC 및 SR-IOV 가상 스위치를 2개로 나누어 두었는데, 실제 적용 후 모니터링을 해보니 각 SR-IOV 스위치 1/2에 실리는 트래픽이 전혀 다른 상태을 보여줬었습니다. vSwitch_Public_SR-IOV_1 의 가상 스위치와, HP 366FLR_6 번이 논리적으로 맵핑 된 한 세트이고, vSwitch_Public_SR-IOV_2 와 HP 366FLR_5 번이 나머지 .. 더보기
[Hyper-V] improve network performance w/ SR-IOV (1/2) 일반적으로 서버 가상화 환경에 올라가는 어플리케이션들의 종류를 보면 대부분 웹이나 게임 서버 등의 TCP 소켓 기반의 연결 혹은 연결 지향형 어플리케이션들 위주로 올라가고, 빠른 반응 속도(network latency)를 위해 디자인 된 UDP 프로토콜 기반의 중계 어플리케이션들은 (ex> Dedicated 서버 혹은 Relay 서버) 애초에 가상화 대상이 아니거나 물리 기반의 서버에서만 운용을 하던 것이 대부분이었습니다. 이유를 살펴보면 TCP 프레임에 비해 상대적으로 많은 수의 패킷을 처리하고 UDP 프레임을 인코딩/디코딩 하는 과정에서 많은 CPU의 오버헤드를 발생할 수 있어서 CPU 의존도가 높아서 그렇다고 합니다만, Hyper-V 기반의 VM에서 이와 같은 '데디 혹은 릴레이' 서버의 적용을 위.. 더보기
[Hyper-V] SQL Server 백업/복원 on VM Case1 물리서버/SQLServer에서 (Hyper-V)가상서버/SQLServer 로 로그 전달을 구성 시 아래의 경고 메시지가 발생한다. The tail of the log for database DATABASE_DBN is being rewritten to match the new sector size of 4096 bytes.2048 bytes at offset 836282368 in file X:\dblog\DATABASE_DBN.ldf will be written Case2 물리서버/SQLServer에서 백업된 풀백업/트랜잭션 백업 데이터를 (Hyper-V)가상서버/SQLServer 에서 복원 시 (restore database) 메시지 9004 로 오류가 발생한다. 이와 같은 문제가 발생하는.. 더보기
[Hyper-V] VHD 이동(복사) 후, 권한 문제로 VM 시작이 안 될 시 시나리오1. Hyper-V Host 에서 VHD 가 담긴 디스크의 물리/논리적 재구성이 필요하여, 드라이브를 비웠다가 다시 구성해야할 경우 시나리오2. VM 을 정상적으로 내보내지 않고 오프라인 상태로 VM 의 파일들을 (Virtual Machines 의 XML 파일과 Virtual Hard Disks) 의 구조를 그대로 복사해서 백업하거나 가져올 경우 시나리오1의 경우로 VHD 파일이 저장된 디스크의 재구성 (DISK * 6 에서 DISK * 2 로 축소)이 필요하여 D:\VHD\ 아래에 저장된 VM 별 폴더를 다른 디스크로 이동 후 (이동 시 삭제하지 못하는 문제는 서비스에서 Hyper-V 가상 컴퓨터 관리를 잠시 중지) 디스크 재구성 후, 기존 환경과 동일한 경로로 다시 이동 후 VM 을 시작 시,.. 더보기
[Hyper-V] 에서는 MAC 을 어떻게 할당 하는가? Windows Server 2012 R2 부터 추가 된 기능 중, 가장 마음에 드는 것을 하나 꼽으라면 VM을 끄지 않더라도 내보내기 할 수 있는 "온라인 내보내기" 입니다. 기존 2012 까지만 하더라도 VM Guest를 복제하기 위해서는 반드시 VM을 꺼야 했었는데, 2012 R2 부터는 VM을 끄지 않고, 저장된 상태로 다른 호스트 혹은 복제를 할 수 있습니다. 이 기능을 쓰면서 발견한 문제인데, 종종 네트워크 (L2 Layer)에서 Mac Flapping 이 발생한다는 것이 었습니다. 저희 사이트에서는 고정 MAC이 아닌 동적 MAC을 사용하고 있었는데, VM을 복제해서 사용하면서 이와 같은 MAC 충돌이 발생 했습니다. 결론만 말씀드리면, 온라인 내보내기 후 가져오기를 한 다음 VM의 종료/시작.. 더보기
[Hyper-V] VM 시작 시, 메모리 부족 Hyper-V VM 시작 시, 사용 가능 한 메모리 (Available Memory)가 충분함에도 불구하고 시스템의 메모리가 부족하다고 에러를 뱉는 경우가 있는데 대부분 호스트 서버를 재시작 하면 해결 되긴 합니다만, 이는 작업 관리자에서는 Available Memory를 Standby + Free 로 표시하고 있고, Hyper-V 에서는 Free 영역에만 메모리를 할당 할 수 있어서 발생하는 문제 입니다. 이 대기 메모리 (Standby Memory, OSX 에서는 inactive memory)는 재사용을 할 수도 있고, 안 할 수도 있는 영역입니다만, Sysinternals 의 RamMap을 통해 Standby Memory를 비워주고 VM 을 시작 하면 정상적으로 VM 에 메모리가 할당 되고 실행 됩.. 더보기
[Hyper-V] Linux Intergration Component Hyper-V 에서 Windows 계열의 OS를 설치 시, Intergration Component를 같이 설치하면 가상 하드웨어(네트워크) 드라이버를 같이 설치하게 되어 최적의 VM Guest의 상태로 운영 됩니다만, 비-Windows 계열의 (예, Linux) OS에서는 이와 같은 IC가 Linux Kernel 혹은 배포본에 포함 되어있습니다. 하지만, 이 Linux용 IC는 Windows VM과는 다르게 아무리 최신 버전으로 설치를 해도 Degraded 에서 Ok 상태로 올라오지 않습니다.“저하됨(Degraded)” 으로 표시되는 것과는 다르게, 실제로는 Hyper-V 프로토콜을 통해 백단(backward compatible)에서 호환되어 이용 되고 있으며 이는 다음 Hyper-V 릴리즈 에서는 정.. 더보기