개요
- 강의: 러닝웨이코리아 | 2015년 3월 20일 오전 9:30~오후 5:00 | 백승주부장님
- 제목: IT Camp: Microsoft 클라우드 OS와 함께 사설 클라우드 구축하기 (가상화 및 관리) – Core Infrastructure
- 내용:
- 마이크로소프트 클라우드 전략
- Microsoft Azure, Hyper-V Advanced
- 소감: 일년에 몇 번 하지 않는 Advanced 수업, 수업에 듣고자 하는 경쟁률이 치열했다. 작년에 듣지 못했던 아쉬움이 어제 수강으로 확 풀어졌다. 이론적인 바탕이 중요한 만큼 놓치지 않으려고 노력했다. 좋은 내용도 내용이지만, 재미를 잃지 않도록 도와주시는 백부장님께 감사 메시지를 보낸다.
과거, 현재, 미래
System Center App Controller를 보면 MS의 Cloud Platform 전략을 잘 알 수 있다.
- 사설 클라우드, 공용 클라우드, 호스팅 서비스 공급자를 한 눈에 볼 수 있음.
결론적으로 Azure가 어떻게 될 것인가? Windows Server와 동일해 질 것이다.
- Windows Server도 미래에 웹에서 관리할 수 있는 식으로 진행됨(Azure New Portal 유사)
- 이미 Windows Azure Pack을 제공하고 있음.
Server Core / Server with a minimal GUI : Windows Server Technical Preview 2에서 제공되는 기본 옵션.
- nano server로 검색해서 관련 자료를 찾아볼 수도 있다.
- 점점 shell의 비중은 높아짐
재부팅 시 시간이 늦는 이유
- hardware cold-booting 때문
- 메모리 체킹, 등등
CPU QOS 설정
- Hyper-V 설정 중에서
- 상대적 가중치
- 예약
- 제한
- 총 시스템 리소스 백분율
※ 하드웨어 사양이 낮은 서버에서 유용
Hyper-V 성능 측정
- 호스트 OS에서 Perfmon -> hypervisor 항목
레거시 네트워크 어댑터
- 범용적인 h/w를 에뮬레이트하여 Windows 2000 등을 사용할 수 있음
1세대 vs 2세대
SCSI
- 운영 중 하드웨어 핫 스왑 가능
- GPT Disk
- 1세대에서도 SCSI 컨트롤러 추가 가능.
- 운영 도중 디스크 크기 변경 가능
IDE
- MBR 사용하면 2TB 이상 불가
- 캐시가 켜져 있음
- 캐시가 제대로 반영되지 못한 상태로 서버가 꺼지면 데이터 Crash!
- DB, AD DB 등은 SCSI 디스크에 넣어라.
- 1세대 VM에서 부팅하려면 IDE디스크를 사용
UEFI or BIOS
- UEFI를 사용하는 OS는 옛날에 많지 않았다
- COM Port, Floppy Disk 등은 지금 많이 사라짐
- 1세대 VM: 에뮬레이팅 가능
VMBUS
- 네트워크와 디스크 접근(맞나?)
- VM이 host 운영체제의 드라이버를 사용
고급 세션 모드
- 편의 기능.(Ctrl+C , Ctrl+V)
- 각 VM은 서로를 신경쓰지 않음.(파티셔닝 되어 있음)
Enlightenment(계몽, 깨우치다)
- 드라이버를 설치함으로써 Hyper-V를 잘 사용할 수 있게 함
- 통합 서비스 설치 디스크를 설치하는 과정
- 드라이버 패키지
- 이걸 설치해야 ‘통합 서비스’가 동작.
- 호스트 OS에서 다른 VM을 종료, 시간 동기화, 하트비트 등을 할 수 있게 됨
- 최신 OS에는 내장되어 있음.
- Copy-VMFile
- 통합 서비스를 설치한 VM에서 사용 가능
- Windows Server 2012 R2부터 사용 가능
- 예를 들어 호스트 OS에서 모든 VM에 파일을 복사할 때 편리!
- 통합 서비스를 설치한 VM에서 사용 가능
- AVMA(Automatic VM Activation)
- 이것도 VMBUS를 통해 사용됨.
- 자동으로 Host Machine의 라이선스에 따라 작동.
- 인터넷이 안되는 네트워크에서 유용
- Next Version Windows Server에는 Windows Update를 통해 제공.
- 그래서 해당되는 메뉴가 사라진다고 함
DC를 VM으로 만들 수 있나요?
- VM에 DC가 있으면 각 DC의 DNS를 Cross로 물려야 함
- 시간 동기화
- Hyper-V 옵션 중 ‘통합 서비스’에 있는 ‘시간 동기화’ 옵션을 DC에서는 끄는 것이 좋음.
- PDC 에뮬레이터 서버를 외부 NTP 서버(time.windows.com 등)와 동기화.
Synthetic Devices
- 실제로는 없는데 VM OS에서는 있는 것처럼 속임.
- 네트워크, 저장소, 비디오, HID
- 이외에는 모두 Emullate
가상 머신의 구성
- VM 내보내기, 가져오기
- XML 파일 내에 하드웨어 구성을 지니고 있음.
- VHD만 갖고 가도 쓸 수는 있지만 네트워크 구성 등을 제대로 찾지 못함
- VM 가져올 때 GUID를 유지할 것인지 물어봄
- 같은 VM을 여러 개 불러올때 GUID 값을 리셋하는 형태로 가져와야 함
NUMA
- Non-Uniform Memory Architecture
- CPU와 Memory의 병목을 줄이기 위해 CPU와 Memory를 그루핑해 줌(노드로 묶음)
- 같은 Core의 같은 Memory 그룹의 것을 쓰는 것이 좋음
- 하드웨어의 NUMA를 그대로 활용 가능하게
- CPU Core가 4개 이하일 때에는 큰 의미가 없음
- H/W를 옮기거나 업그레이드하게 되면 NUMA 값을 알맞게 업데이트해야 함
- 동적 메모리를 사용하면 NUMA가 사용 불가능해 짐
- 하드웨어 자원이 가능하다면 동적 메모리를 사용하지 말아야.
vNUMA
- 성능 카운터
- Hyper-V Hypervisor Virtual Processor
- 원격 런타임 백분율
- 총 런타임 백분율
- Hyper-V VM Vid Partition
- Remote Physical Pages
- Hyper-V Hypervisor Virtual Processor
- CPU 코어 밀집도가 높은 것이 성능 상에서도 유리하고 라이선스 비용도 절약할 수 있음
전원 옵션
- Hyper-V를 설치하면 제일 먼저 해 줘야 하는 작업
- 성능상의 이점을 가져오는 마법의 옵션
스마트 페이징
- 시작 메모리가 4GB였고 동적 메모리로 최소 RAM을 1GB 썼을 때 남은 3GB를 디스크를 활용해서 쓴다고 함.
가상 하드 디스크 고려
- VHD or VHDX
- 최대 용량 차이
- 고정 or 동적 확장 or 차이점
- 동적 확장 디스크 용량을 줄이기: 압축
- 압축하기 전에 조각 모음을 실시하라.
- 동적 확장 디스크 용량을 줄이기: 압축
- 실제 디스크(Pass Through)
- 사용하려면 디스크가 오프라인 상태인지를 확인
I/O 처리의 변화
- OS 버전별 벤치마킹 결과
성능 부하가 가장 많이 나오는 곳: 가상화를 좀 사용해 봤다면…
- 주범은 I/O
- 네트워크
- SR-IOV를 사용하면 I/O Virtualization을 H/W가 직접 처리함
- 가상 스위치를 만들 때 SR-IOV에 체크
- 사용할 VM에 가서 SR-IOV를 켜기
- 사용 가능 여부: Get-NetAdaterSriov
- 활용하는지 여부: Get-VMHost | fl *iov*
- VF(Virtual Function)
- NIC의 Port(랜 포트)와 같은 개념이라고 함. NIC도 나눠써야 하니까.
- SR-IOV를 사용하면 I/O Virtualization을 H/W가 직접 처리함
- 디스크
- SSD 때문에 IOV가 쏙 들어갔다고..ㅎ
- 네트워크
QoS
- NIC
- VM NIC 대역폭 조절
- Storage
- ‘고급 기능’의 서비스 품질 관리 옵션
- 가상 하드 디스크 공유
- 스토리지처럼 사용하게 해줌!
- 급하게 VM Clustering을 만들 때 활용 가능.(테스트 시)
- VM에서는 SCSI에 연결된 디스크로 인식
고가용성
고가용성 클러스터링 – 쿼럼
- 홀수 개!
- MS에서는 살아있다고 보는 기준이 50% 이상이어야 하기 때문
- 짝수일 때 의도치 않은 다운이 발생할 수 있음
- 하나의 투표권을 디스크나 UNC 경로로 지정 가능
- 요즘은 추가 작업에서 쿼럼을 추가로 구성할 수 있다.
- 서버 2대로 클러스터를 만들었을 때 작업하는 것을 추천!
- 클러스터에서 ~ 옵션을 켜서 죽더라도 살아있으면 계속 살릴 수 있음
실시간 or 빠른 마이그레이션
- 실시간: 사용자가 장애를 느끼지 못함
- VM
- 사용 프로토콜: SMB(Multi-channel)
- 파워셸로 SMB Multi-channel 끄는 것도 가능.
- ‘기본 설정 소유자’ 옵션을 꼭 살펴봐서 소유권에 대한 부분을 꼭 설정.
- 사용 프로토콜: SMB(Multi-channel)
- 스토리지
- 2012부터는 SAN 스토리지 없이, SMB 스토리지로도 가능 ^^
- SMB Direct(RDMA)가 있으면 더 빨라짐
- H/W에서 제공해야 함
- 위임 설정 이후 재부팅을 한번 해줘야 함.
- AD에 조인된 서버라면 AD 복제가 일어나야 반영됨
- Planned
- VM
- 빠른: 소유자 이전 방식으로 장애가 발생
- Unplanned
고가용성 구성시 고려 사항
- 업데이트 시
- 클러스터 인식 업데이트는 클러스터 노드 이외의 서버에서 수행하는 것이 좋음.
SR-IOV와 실시간 마이그레이션
- SR-IOV용 백업 NIC이 VM 내에 생김
- SR-IOV가 H/W NIC을 직접 액세스하기 때문에
Hyper-V 복제
- Hyper-V대 Hyper-V를 넘어 Hyper-V대 Azure도 가능
- VMWare도 가능
시대의 변화 – Abstraction
- 옛날에는 서버가 물리적으로 보이는 곳에 1:1로 있었지만, 지금은 어디에 배치되는지 알기힘들다.
가상화율을 높이는데 가장 장애 요소는
- Storage가 가장 걸림돌
- SMB Storage
- 저렴함.
- SSD를 합쳐서 Tiering
- 스케쥴링러에 있는 대로 움직임
- 자주 쓰는 데이터는 SSD로 이동됨
- JBOD에 있는 것만 공식적으로 지원한다.
- 직접 테스트하려면 Set-StorageTier를 활용해서 SSD는 직접 타입을 지정해줘야 한다고.
- SMB 3.0
- FC보다 느리고 iSCSI보다 빠르다
- SMB 3.0 클러스터링
- SMB Witness의 개입으로 장애 조치
- vRSS
- 여러 코어에 나눠서 부하를 분산
- Storage Space 활용
- JBOD Enclosures(SAS, SATA)
- 우리 나라에서 잘 판매하지 않는다 ㅠㅠ
- 현재는 JBOD 자체에 복제를 하는 기능이 없지만 다음 버전 서버에 제공될 예정
- Scale-out FileServer
- 부하 분산 모델이 2012와 2012 R2가 다름
- 데이터 중복 제거
- chkdsk의 개선
- 2012부터 문제 있는 부분만 체크함
- MPIO
- SMB Multichannel
- S-SMI
- 스토리지 관리 표준화
- System Center Virtual Machine Manager에서 확인 가능
- SMB Storage
네트워크
- 2012 R2에서 VMNetworkAdapterAcl 파워셸 명령을 통해 VM의 네트워크를 포트까지 관리 가능
- 논리 네트워크, SCVMM
- 논리라는 단어가 SCVMM에 정말 많이 나옴
- 논리 스위치
- 개개별로 스위치를 만드는 것은 일반 표준 스위치
- 한 통으로 만드는 것은 논리 스위치
- VM의 대수가 많으면 처음부터 논리 스위치로 시작하는 것이 좋음
- 표준 스위치에서 운영중에 논리 스위치로 바꿀 수는 있지만, 변환되는 동안 서비스 중단이 일어날 수 있다.
- VM의 대수가 많으면 처음부터 논리 스위치로 시작하는 것이 좋음
- 포트 프로필을 활용해 편의성, 자동화의 혜택을 볼 수 있다.
- 네트워크 가상화
- 하나의 네트워크를 내부적으로 여러 개로 쪼개 쓸 수 있는 기술
- VirtualSubnetID
- 같은 Subnet ID는 같은 네트워크로 봄.
- VM 내부 IP(CustomerAddress로 표현)와 Hyper-V 내부 IP(ProviderAddress로 표현)가 1:1로 매칭되어 있어서, VM이 이동하면 Hyper-V 내부 IP만 변경되는 구조
- CA
- VM이 사용하는 IP 주소
- 변하지 않는 주소
- PA
- Hyper-V가 사용하는 IP 주소
- VM이 이동하면 변경됨
- CA
- VirtualSubnetID
- 하나의 네트워크를 내부적으로 여러 개로 쪼개 쓸 수 있는 기술
- 2012 R2에서 RRAS의 개선
- 네트워크 가상화 게이트웨이
- NAT 형태 or 직접 라우팅 형태
- NAT를 통해 VPN 서버까지 함께 제공
- H/W보다 성능이 떨어지긴 하지만, Core 버전을 활용하면 조금 향상됨
- NAT 형태 or 직접 라우팅 형태
- SCVMM을 통해 가상 서브넷에 대한 게이트웨이 설정 용이
- VM 템플릿 형태로 배포
- 네트워크 가상화 게이트웨이