[노트] 데이터센터 가상화

개요

  • 강의명: Virtualizing your datacenter with Windows Server 2012 R2 & System Center 2012 R2
  • 강사: 꼬알라님
  • 장소: LearningWay Korea
  • 일시: 2014-03-18

이번 실습은 16GB 정도 RAM이 있어야…

  • Hyper-V 설치 방법
    • Windows Server에서 설치
    • System Center에서 설치
virtualizing_datacenter_01
Hyper-V 파일이 그리 크지 않다. (C:\Windows\System32)
virtualizing_datacenter_02
성능 모니터
virtualizing_datacenter_03
상단의 + 클릭
virtualizing_datacenter_04
하이퍼바이저에 직접 물어보는 구조로 되어 있음

VM을 만드는 방법

  1. Local
  2. Storage

부서가 틀릴 때 VM들이 같이 있기 싫어할 때가 있음

  • 특정 VM이 많은 자원을 소모할 때

VM 100개를 만든다? -> 파이를 나눠서 쓰는 것

  • RAM은 나눠쓰는 게 아니라 할당하면 끝
  • 10G?
  • CPU Core 20개(2 * 10)?
virtualizing_datacenter_05
총 시스템 리소스 백분율 : 25로 되어 있음 -> Core 하나 쓴다는 의미.
virtualizing_datacenter_06
메모리도 총합을 넘어갈 수 없음(메인 시스템 성능)

VMWare의 Memory overcommit 이야기를 한다고. 메모리가 없을 때 하드 디스크의 paging file을 만드는 경우는 요새는 아님. (ECC 메모리 기가당 1만원대)

네트워크?

virtualizing_datacenter_07
NIC을 나눠쓰는데, 가상 스위치가 만들어져서 물리/가상 머신이 접근
virtualizing_datacenter_08
가상 스위치 만들기(외부)를 선택했을 때 랜카드(uplink 선택)를 선택하게 되어 있음

VM이 서로 따로 놀려면 네트워크를 분리해 줘야. 조직이 16개라고 랜카드를 16개를 사서 ? no…

랜카드는 하나라도 vlan을 쪼갤 수 있다면… !

스토리지의 경우에는 LUN으로 구분

storage를 비싼 값으로 사서 붙이는 것도 좋지만 윈도우 서버로 싸게 만들어 보자.(하드웨어 스토리지가 많이 비쌈)

스토리지에 VM을 만들었던 이유는?

  • 나눠 쓰기 위해

파일 공유(SMB)에서 VM을 운용할 수 있음

  • 가장 많이 바뀐 것 -> 파일 복사 일시 중지(이어받기) 가능
  • 잠깐 끊어진 것을 세워 놓을 수 있음
    • 옛날에 끊어졌던 이유는 네트워크가 끊어지기 때문(IP 주소에 대한 ownership이 있었기 때문)

SMB

  • \\ -> UNC 경로
  • 파일 서버가 죽을 때를 대비해서 클러스터링을 만듦
  • 파일 서버 owner가 넘어갔을 때 그 스토리지를 쓰는 VM에게 알려주고 잠시 일시정지를 시킨 후 reconnection

JBOD

  • 스토리지 가격의 1/4
  • 그냥 스토리지 박스
    • 왕창 꽂아서 윈도우 서버로 묶으면…
      • Windows Storage Server (OEM사에만 제공)

2012 R2부터는 스토리지 티어링(HDD+SSD)을 제공

get-FileStorageTier -VolumeDriveLetter D | ft -AutoSize

virtualizing_datacenter_09
2012 R2부터는 온라인 상에서 중복 제거(디듑)가능

2012 R2부터는 온라인 상에서 중복 제거(디듑)가능

  • 데이터 중복 제거 기능만 설치하면 됨

디듑을 하면 성능이 ?

  • 여러 곳에서 하나에 IO를 집중하면 떨어짐 -> 많은 IO 때문에 부하가 걸림
  • 이를 방지하기 위해 디듑된 파일을 메모리에 로드 -> 디스크 읽기를 거의 하지 않고 있음
  • 동일한 머신이 많으면 디듑을 사용하면 좋다.
    • 대신 메모리를 많이 사용하게 됨
    • 2012 R2에서 제공하는 기능

가상 하드 디스크 공유 사용

  • 여러 대의 머신에서 VM머신 하나를 공유
  • vhdx 파일 하나를 스토리지로 인식

하이퍼브이 관리하려면

  • 운영팀, 스토리지팀, 네트워크 팀 필요

나중 쓰기 캐시

  • Write Back Cache
  • VM을 동시에 100대를 켜게 되면?
    • 스토리지에 엄청난 부하를 겪음
  • SSD로 티어링을 해놓으면 서버에서 캐시 값을 수정 가능
    • 100G로 수정을 하면…

smi-s

  • 스토리지 관리 표준화

스토리지를 등록할 때 어떤 분류인지 지정 가능

  • 가상머신 만들 때 어디에 있는 스토리지를 쓸지? 선택 가능

\\….\….

  • SMB를 스토리지처럼 써보자.
  • SMB는 디코딩과 인코딩을 OS에서 함
  • SMB RDMA: 랜카드가 SMB 상태를 그대로 전송(OS가 재해독하는 절차(오버헤드가 날 가능성 높음)가 필요 없음)
virtualizing_datacenter_10
파워쉘에서 궁금한 커맨드는 Get-Commanad *단어*로 검색

파워쉘에서 궁금한 커맨드는 Get-Commanad *단어*로 검색

  • Get-NetAdapterRdma 명령은 RDMA를 지원하는지 체크

EMC는 VMWare 모기업

  • SMB는 오픈스펙이므로 누구든지 구현할 수 있음

NIC Team

  • 최대 32개의 랜카드를 묶을 수 있음
  • 모든 것은 하드웨어가 더 뛰어남 -> 하지만 소프트웨어로도 구현 가능하게 하는 것이 MS의 전략
  • 묶었는데 속도가 제대로 안나면 스위치에 Teaming 되었다는 사실을  사실을 알려줘야 함

교재 27페이지 5번의 네번째 옵션은 대규모 서버에서 …

  • 운영체제가 없이 깡통 컴퓨터 만들어서 리모트 설치가 가능한 듯

하이퍼-V 서버는 윈도우 라이선스가 포함되어 있지 않아 무료임

  • 리눅스만 사용한다고 하면 사용할 만 함
  • 우리 나라의 하이퍼-V 머신 10대 중 2대가 그렇게 구성되어 있다고 함

윈도우 서버 하이퍼-V는 IO 성능 처리가 뛰어남

System Center Virtual Machine Manager Agent

-> SCVMM에서 가상 컴퓨터 적용이 너무 안될때 위 서비스가 꺼지지 않았는지 체크

가상 스위치

  • 외부 – 밖으로 나가는 것
  • 내부 – VM끼리, 호스트와 통신
  • 개인 – VM끼리만
virtualizing_datacenter_11
관리 운영체제에서도 스위치를 통해 네트워크에 접근하게 되어 있는데, 체크를 해제하면 관리 운영체제에서 네트워크 사용 불가능하게 됨.
virtualizing_datacenter_12
vEthernet이 생김

SCVMM에서 스위치를 만들 때 2가지

  • Standard 스위치
    • Hyper-V에서 가능
    • VM마다 일일이 지정해야 함
  • Logical 스위치
    • 하나의 템플릿을 만들고 여러 기기를 한방에 반영할 수 있음
    • 하나의 스위치 컨셉
    • SCVMM에서 가능
    • 중앙 관리를 위해서는 논리 스위치가 나음
    • Logical 스위치를 써야 네트워크 가상화 제대로 사용 가능

동일한 vlan을 사용해서 Logical 스위치로 물려놔도 네트워크가 안될때?

  • Switch에서 Tagging을 해줘야..

vlan을 2개 이상 태깅하는 것 trunk 라고 함

  • 2008 R2에서는 지원하지 않았음
  • SCVMM에서는 레지스트리를 바꾸면서 지원
virtualizing_datacenter_13
Trunk 모드를 사용하려면 파워쉘로만 가능하게 되어 있음

내 컴퓨터의 모든 vlan값 디스플레이(위 스크린샷을 촬영한 PC에는 vlan 태깅이 하나도 없음 😉

네트워크의 IP 영역: Pool 이라고 표현

포트 프로파일은 논리 스위치에서만 쓸 수 있는 기능

교재 41페이지 12번의 옵션들은 하이퍼-V에서도 봤던 기능들.

  • 일일이 설정하지 않고 논리 스위치로 한방에 적용 가능

SR-IOV

가상 스위치에서 자원 나눠 쓰기!

CPU는 VT로, 메모리는 주소별로… 그러나… NIC이나 Storage는 나눠쓰는 것을 전제로 개발되지 않았다

  • 누군가 중재를 해줘야 함

가상화 환경에서 제일 먼저 부하가 걸리는 곳은 NIC

  • NIC이나 Storage의 IO를 가상화하는 기술이 필요
  • SR-IOV는 네트워크에 대한 가상화 기술
  • vSwitch에서 부하가 걸림
    • 랜카드가 여러 개의 신호를 동시에 받지 못함
virtualizing_datacenter_14
SR-IOV를 지원하는 랜카드인지? 현재 컴퓨터는 지원 안 됨(요즘 나오는 10G 랜카드에는 대부분 지원)

지원하지 않고, 지원할 때 성능 차이가?

NTttcp-v5.28

  • 네트워크에 부하를 걸어 주는 마이크로소프트 툴
  • 대역폭을 MB/s 단위로 보여줌

마이크로소프트 SR-IOV는 VMWare와는 다르게 live migration(HA)을 지원

랜카드가 vRSS를 지원하는가?

  • CPU 1 Core만 자원을 많이 사용한다면 체크할 필요가 있음

virtualizing_datacenter_15

SR-IOV가 지원하는지 체크(지원하지 않으면 위 사진처럼 이유가 나타남)

클러스터링

  • 최소 2대 필요
  • 공유 스토리지 필요(SMB도 괜찮^^)
  • Heartbeat: 죽었나 살았나 체크하는…

노드의 과반수 이상을 서비스할 수 있게 해주는 것이 필요

동적 쿼럼(Quorum): 전부 다 죽을때까지 서비스

  • 옵션이었던 것이 2012 R2부터 기본적으로 켜져 있음

Live Migration  (2008 R2부터 나옴)

  • 장애를 느끼지 못함
  • 서버 2012부터는 네트워크를 풀로 활용해서 넘어감
    • 2012 R2에서는 데이터 압축을 사용해서 더욱 효율적
    • RDMA가 가장 빠르고 압축이 그 다음, 일반적인 TCP/IP가 가장 느림
    • 랜카드가 많으면 많을수록 속도가 빨라짐(SMB MultiChannel 사용)

CSV

  • Cluster Share Volume
  • 엣날처럼 LUN 단위로 권한을 넘나들지 않고, Read 권한을 공유하고 Write에 대한 권한만 나눠서 넘나드는 방식

클러스터링 오류가 생기면

  • \\PC이름\c$\windows\cluster\reports
  • 위 폴더에 들어가서 보고서 확인

미션 크리티컬을 위해서는 장애 복구는 하지 않는 것이 나음

클러스터 인식 업데이트

  • 장애 없이 클러스터 내 컴퓨터들을 업데이트

Availability Set

같은 머신 내에 VM들이 들어가서 클러스터로 묶이지 않도록 함(VM이 같은 머신에 있지 마라고…)

  • Anti-Affinity 라고 함
  • 특정 머신은 죽을 때를 대비해서 enclosure별로 떼어줌

Automatic Virtual Machine Activation

  • 구글에서 검색하면 해당 key를 찾을 수 있음
  • 호스트 머신을 인터넷 없이 인증 가능

재해 복구(DR)

  • 하이퍼-V에서는 Replica라고 명칭
  • 같은 AD로 묶이지 않아도 가능(PKI 인증 가능)

물리 컴퓨터를 VM으로 바꾸는 기능은 2012 R2부터 없어짐

  • 주 대상인 2003 서버의 지원 기간이 끝나서 안된다고 함
  • 옛날 버전을 평가판으로 받아서 컨버팅 기능을 사용할 수는 있음
  • disk2vhd 를 사용해서 쓸수는 있음. (꼼수)
  • ISO파일을 VHD로 컨버팅해주는 툴이 있음(sysprep 할 필요 없음)
    • Convert-WindowsImage 로 검색

NVGRE

  • VM들이 통신하는 것처럼 보여도 사실은 Hyper-V에서 가지는 주소를 가지고 연결해줌

교재의 7장까지 VM을 다루는 기초라 꼭 알아놔야 함

이것도 살펴보세요!

메인 컴퓨터 윈도우 재설치: 프로그램 설치용 winget 스크립트, 그 외 프로그램들(기록용)

마이크로소프트365https://office.com Hyper-V 설치 via. https://learn.microsoft.com/ko-kr/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 윈겟(Winget) 프로그램 자동 설치 스크립트 …

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다