강의 개요
- 강의명: Virtualizing your datacenter with Windows Server 2012 R2 & System Center 2012 R2
- 강사: 꼬알라님
- 장소: LearningWay Korea
- 일시: 2014년 9월 19일
강의 후기
지난 3월 18일에 들었던 데이터센터 가상화를 다시 들었다. 이제서야 지금 내가 무슨 작업(실습)을 하고 있는지 감이 온다. 완벽하게 들으려면 강의당 3번은 들어봐야 하는 것 같다. 옛날 포스트는 여기서 확인 가능.
VM 역할 구분
- DC01: iscsi target 설치되어 있음
- FS01: Storage
- HV 01, 02: Hyper-V
- SCVMM
(고립된 네트워크로 구성되어 있음)
가상화란?
오늘 배울 가상화는 Server Virtualization.
1PC로 n개의 PC 구현
- 전체 가상화(Full Virtualization) – Part 1
- Hyper-V, VMWare ESX
- VM도 실제 OS와 같은 레이어에서 동작
- 호스트 가상화(Host Virtualization)
[하이퍼바이저의 존재 확인하기]
▼ 맨밑에 Hypervisorlaunchtype 확인
▼ msinfo32에서 시스템 요약의 맨 밑에 하이퍼바이저가 검색되었다는 메시지가 뜬다.
▼ C:\Windows\System32 폴더에 HVAX64, HVIX64 파일 확인
▼ DC01 VM에서 장치 관리자를 열어보면 Microsoft Hyper-V network Adapter가 설치된 것을 확인 가능.
[Hyper-V 설정할 때 무조건 해야 할 것?]
▼ 고성능으로 바꾸세요!
VMWare vs Hyper-V
- VMWare 대비 라이선스 부분이 가장 매력적.(Datacenter하나만 사면…^^)
- 격렬한 경쟁에 사용자들은 행복
호텔 체크인하듯 OS들이 CPU자원에 액세스하도록 Intel-VT or AMD-V 기술 개발됨.
CPU, NIC, Disk가 1OS 대응하도록 설계됨. -> 점점 IO-Virtualization 이 지원되고 있음.
[NUMA]
CPU코어가 일을 처리할 때 메모리가 필요.
- Multi Core CPU와 RAM 사이에 병목이 생김
- CPU와 RAM을 그루핑해주는 기술
- CPU코어가 4개 이상일 때 필요한 기술.
▼ 총 시스템 리소스 백분율?
현재 이 호스트의 CPU 중 25%를 쓰고 있다는 의미.
가상 컴퓨터 제한: 50%로 설정하면 코어 1개만 쓸 수 있음
CPU개수는 VM에서 쓰는 코어 개수와 일치하는 것이 일반적.
▼ 윈도우 서버는 최대한 같은 NUMA 노드를 VM에 바로 할당해 효율성을 꾀함
▼ 하드웨어 정보에 바뀌면 NUMA 정보를 업데이트해야 할 필요 있음.(위의 NUMA 정보와 Core수가 동일한 것을 확인가능)
▼가중치: 다른 VM과 경쟁해 누가 메모리를 받아갈지.
※ 동적 메모리를 선택하면 가상의 NUMA 노드를 만들지 못해 성능이 떨어질 수 있다는 경고가 나타남.
VDI 환경에서는 동적메모리를 쓰는 경우가 많은데(얼마 쓸지 모르니) 일반적인 Server 환경에서는 사용하지 않는 것이 좋음.
[VHD]
VM을 만들어 윈도우를 설치.
VHD 파일을 카피해서 여러 VM으로 배포.
문제 1. 컴퓨터 SID가 충돌됨
- 윈도우는 Security ID(SID)가 있음
- 언젠가 문제가 생김.
- Sysprep을 해야 함.
- 현재 잘 돌아가는 시스템에 반영하는 순간… 이벤트 뷰어가 불바다가 됨.
- VHD 파일을 만든 뒤 바로 Sysprep 해주면 됨.
팁!!!
convert-windowsimage.ps1
- 자동으로 ISO 파일을 VHD로 바꿔주는 툴
- 옛날에 WIM2VHD가 했던 역할
▼ 가상 디스크 종류
고정 크기: 최대 성능을 얻고 싶다면
동적 확장: 최대 용량을 정해 놓고 조금씩 늘어남
차이점 보관용: 테스트용으로…
요즘은 SSD에 부모를 저장하고 SAS디스크에 차이점 보관용으로…(VDI용도로 쓰면 좋겠네!)
▼ VHD or Pass-Through
VHD: 최대 2TB.
VHDx: 최대 64TB까지.
VHD보다 VHDx가 1~2% 용량을 더 차지함.(로그를 기록하기 때문에)
[윈도우 서버를 스토리지로 사용하기]
스토리지는 어떻게 구성?
디스크 + 컨트롤러(Raid 등) + 커넥터(FC 등) + 운영체제(리눅스 등)
JBOD + Storage Pool을 활용해보자!
▼ Windows Server 2012 R2의 defrag를 보면(/G) 옵션 Tiered Disk를 위한 데이터 이동(최적화) 기능이 추가된 것을 볼 수 있다.
※ SQLIO.ps1 파일은 IO 측정 툴.
▼ 수동으로 티어링되는 데이터를 조절할 수 있다.
갑자기 VM을 많이 운영하거나 해서 Storming이 날 것을 우려해 Write-Back Cache(WBC)를 기본값인 1GB에서 10GB로 변경해 메모리를 미리 확보해 둘 수 있다.
SOFS(Scale-Out File Server)
- VM을 늘려 관리하면 됨
대형 벤더들은 SMI-S를 대부분 지원한다.
iSCSI 대상 서버
- 윈도우 서버가 iSCSI 스토리지가 됨.
Windows Storage Server
- 스토리지 기능만 갖고 있는 제품.
Classification
- 분류(금/은/동)
- 예를 들어 금-FC, 은-SMB, 동-iSCSI 이런 식으로 매칭 가능.
Network Teaming
- 상단의 스위치를 설정해야 묶인 것을 인식시킬 수 있음.
[Switch와 Hyper-V의 상관관계]
스위치와 스위치 사이를 크로스케이블로 묶듯, 실제 스위치와 가상 스위치 사이를 연결하는 데 있어 실제 PC에 있는 NIC이 uplink 개념으로 연결됨.
▼ 가상 스위치(외부 네트워크)를 만들 때, uplink 컨셉이 적용됨.
▼ vEthernet을 만든 모습.(실제 NIC을 매칭해 가상 스위치를 만들면 가상 ‘스위치’로 만들어짐.
[Network Virtualization: NV 네트워크 가상화]
Switch가 vlan으로 네트워크를 쪼갠다고 하면, 하나의 NIC을 여러 단위로 쪼개서 여러 개의 네트웍을 사용할 수 있음.
[팁] System Center Virtual Machine Manager Agent를 재시작하는 법
▼ Services.msc에서 오류가 나는 서버를 연결{좌측의 Services (HYPER-V01) 참고}하여 해당 서비스를 재시작.
[Storage]
- DAS (로컬에서 쓰는)
- iSCSI
- FC
- SMB Storage
**SLAT: CPU에서 지원하는지?
Second Level Adress Translation: 실제 메모리의 10번지에 있던 내용과 가상 메모리의 100번지에 있는 내용을 연결해 주는…
[클러스터링]
디스크 하나를 동시에 읽을 수 있어도 쓰기는 불가능
클러스터링에서 해당 디스크 단위(LUN)로 소유할 노드를 선택
1번이 죽었다는 것을 어떻게 알까? heartbeat 활용
죽어서 넘어오는 것: Fail-over
옛날엔… 클러스터링의 최소단위는 디스크 LUN 하나
장애는 planned와 unplanned가 있음.
같은 디스크라도 파일 단위로 권한을 주는 노드를 선택 가능.(write/read 권한을 선택적으로)
라이브(실시간) 마이그레이션이션: 장애 없이 넘어가는 것
- 메모리 상태를 Lock
- 넘어가는 중의 데이터를 Dirty안에 갖고 있음
클러스터링을 하려면 소유자를 정해 놔야 함.
**클러스터 인식 업데이트: 클러스터링에서 장애 없이 업데이트하는 기술
**클러스터 유효성 검사 도구: 클러스터링 문제 파악, 쓰레기 파일 정리
[SNLM]
Shared Nothing Live Migration
클러스터링으로 묶이지 않은 호스트들끼리 Live Migration
DO; Dynamic Optimization
- SCVMM 동적 최적화
- 밤에 서버가 놀 때 쫙 넘겨 최적화
- 알아서 ^^
**System Center를 위한 SQL Server를 설치할 때 데이터 정렬(Data Collation)을 SQL_Latin1_General_CP1_CI_AS로 선택(영문에서 기본값임)해야 함.
**System Center는 설치할 때 영문을 설치하고, 관리 PC에서는 한글판을 설치해서 쓰는 것도 팁임.
[권한 부여 관리자]
RBAC로 검색해서 원하는 사람에게 필요한 VM만 관리하도록 권한을 줄 수 있다.(Hyper-v Services 노드를 확장하면 됨)
아주 세부적으로 설정 가능(VM을 끄고 켜는 것 이상 관리 가능)
[새 VM 만들기]
▼ 1세대와 2세대 차이점?
- 1세대: BIOS & MBR & IDE
- 2세대: UEFI & GPT & SCSI
1세대는 C드라이브를 2TB 이상 만들 수 없음, PXE 부팅이 안 됨.
2세대는 Secure Boot를 지원, Windows Server 2012 이상부터 지원, 고급 세션(VM을 원격 데스크탑으로 연결해주는 기능) 지원.
- **세대를 서로 바꿀 수 없음
- **고급 세션은 네트워크 카드가 아닌 메모리 영역으로 통신. RDP가 동작하지 않으면 쓸 수 없음.
- **ProviderAddress와 VirtualSubnetID
- **DAC(Data Application Tier) 패키지를 붙이면 기존에 템플릿으로 만들어 둔 SQL 서버 패키지와 또 다른 서버를 배포할 수 있음.
[Mobility]
OS를 들고 다닐 뿐 아니라, 위의 패키지(Exchange, Sharepoint 등)들도 Mobility가 확보되는 미래가 올 것임.
-> Web Application Profile이라고…
[Private Cloud]
App Controller와 Azure Pack까지.