반응형
PART02.2장 데이터 처리 기술( 클라우드 인프라 기술)
클라우드 컴퓨팅
- 개념 및 특징
- 동적으로 확장할 수 있는 가상화 자원들을 인터넷으로 서비스하는 기술
- Iaas, Paas, Saas
- VMware, Xen, KVM 등 : Iaas에 주로 사용
- AWS의 EMR은 하둡을 온디멘드로 이용
- 서버 가상화의 개념 및 특징
- 정의 : 서버와 OS 사이에 적절한 계층을 추가해, 사용자에게 논리적인 자원만을 보여주는 기술
- 특징
- 하나의 서버에 여러 개의 애플리케이션, 미들웨어, OS들이 영향을 미치지 않으며 동시에 쓸 수 있음
- 인프라 종류에 따라 서로 다른 기술 및 분류체계 사용
- x86은 하드웨어 제조사가 다양, 때문에 가상화 기술도 업체에 따라 다양
- CPI 제공업체는 하드웨어 차원의 CPU 가상화
- VMware 등은 소프트웨어 기반의 가상화
- 서버 가상화 기술의 효과
- 가상 머신 사이의 데이터 보호 : 가상 머신 사이에는 정상적인 네트워크 접속만 허용
- 예측하지 못한 장애로부터 보호 : 다른 가상 머신에는 영향을 미치지 않음
- 공유 자원에 대한 강제 사용의 거부 : 가상 머신 별 자원 할당
- 서버 통합
- 자원 할당에 대한 증가된 유연성 : 자원 요구량에 맞춰 자원 재배치
- 테스팅
- 정확하고 안전한 사이징 : 필요한 만큼 할당 및 추가
- 시스템 관리 : 하드웨어 장애/로드밸런싱/업그레이드 등 쉽게 함.
CPU 가상화
- 하이퍼바이저의 개념 및 특징
- 호스트 컴퓨터에서 다수의 운영 체제를 동시에 실행하도록 하기 위한 논리적은 플랫폼
- 서버 가상화의 핵심기술, x86 계열 서버 가상화는 소프트웨어 기반
- 기능
- 에뮬레이션 / 실행환경 격리 / 자원 할당 / 소프트웨어 스택 보존
- 기술 분류
- 플랫폼별
- x86 : VMware. Ms Virtual Server, Xen
- 유닉스 : IBM Power Hypervisor
- 메인프레임 : z/VM과 하드웨어 펌웨어로 분류되는 PR/SM
- 하이퍼바이저 위치와 기능에 따른 분류
- 하이퍼바이저가 물리적인 하드웨어 또는 호스트 운영체제와의 관계에서 어디에 위치하는지에 대한 분류
- 베어 메탈 하이퍼바이저 - 하드웨어와 호스트 운영체제 사이에 위치
- 반가상화와 완전 가상화로 구분 - 호스트 기반 하이퍼바이저 : 호스트 운영체제와 게스트 운영체제 사이
- 권한 명령어 처리방법에 따른 분류 : 게스트 OS에서 하드웨어에 접근할 때
- 가상화 방식의 분류
- 완전 가상화
- 우선순위가 낮은 가상 머신에서는 실행되지 않는 privileged명령어에 대해 trap 발생
- VMware ESX Server, MS Virtual Server 등
- 모든 H/W 자원을 하이퍼바이저가 직접 제어, 관리하기에 어떤 OS라도 수정하지 않고 설치 가능
- 하이퍼 바이저가 직접 자원을 제어하기 때문에 성능 저하, Para Virtualization보다 느림 - 하드웨어 지원 가상화
- Intel VT-x, AMD-V 하드웨어에서 제공하는 가상화
- 가상 머신에서 HW 자원 명령을 내릴 수 있음
- CPU에 Ring-1 계층, 하이퍼바이저는 Ring-1 계층
- 게스트 OS는 Ring 0 계층
- 주의점 : 하드웨어 지원 가상화의 경우 CPU 사용률이 높아짐, 서버 통합을 목적으로 하는 경우 비효율적 - 반가상화
- ring 0 계층의 하이퍼바이저에게 hypercall을 통해 하드웨어로 명령 수행
- 게스트 OS가 hypercall을 하기 위해 수정 필요
- 자원의 변화와 같은 통적 가상화 환경에 유연하게 적응
- VMI라는 표준 인터페이스 - Monolithic VS Microkernel
- 하드웨어에 대한 드라이버가 어느 계층에 있냐는 구분
① Monolithic : 모든 드라이버를 하이퍼바이저 계층 소유
성능은 조금 향상될 수 있지만, HW추가나 업데이트가 필요한 경우 하이퍼바이저가 수정되어함. 장애 발생 가능성 높음
② Mircokernel : 드라이버를 각 가상 머신에서 소유, Xen에서는 호스트 OS 가 가짐
게스트와 호스트는 격리되어 있길래 하이퍼바이저(혹은 VMBus)를 이용
HW 추가에 따른 하이퍼바이저 변경 없음, 장애 확률 낮음 - 호스트 기반 가상화
- 완전한 OS가 설치되고 그 위에 하이퍼바이저 설치
- 단일 운영체제의 취약성 - 컨테이너 기반 가상화
- 호스트 OS 위에 운영환경 계층을 추가하여 운영환경만을 가상화한 방식
- 가상화를 지원하는 계층을 하이퍼바이저가 아닌 가상 운영환경이라 함
- openVZ 등
- 가상화 수준이 낮아 빠른 성능
- 격리 수준이 낮아 자원 격리 잘 안됨
- 호스트 OS의 문제를 다 받음
- 완전 가상화
- 플랫폼별
메모리 가상화 : VMware 기법
- 개념 및 특징
- 가상 주소 : 하나의 프로세스가 가리킬 수 있는 최대 크기, 32비트는 4GB까지
- 가상 주소 값의 위치(VPN : Virtual Page Number)를 실제 물리적인 주소 값 위치(MPN)를 page table을 이용해 매핑
- TLB(Translation Lookaside Buffer)가 매핑 연산을 하드웨어적으로 도움
- 핵심 모듈인 VMkernel
- Service Console, 디바이스 드라이버들의 메모리 영역을 제외한 나머지 전체 메모리 영역을 관리, 가상 머신에 할당
- Shadow Page Table로 가상 메모리 주소와 물리 메모리 주소의 중간 변환 과정을 가로챔
- 실제 존재하는 것처럼 게스트 OS에게 매핑해주는 역할
- 가상 머신 메모리 할당 문제를 해결하기 위한 방법
- Mermory ballooning
- VMkernel은 예약된 메모리보다 더 많이 사용하는 가상 머신의 메모리 영역에 빈 값을 채워 게스트 OS가 swapping 하도록 함.(메모리 비움)
- Transparent page sharing
- 동일한 내용을 담고 있는 페이지는 물리적인 메모리 영역에 하나만 존재시키고 공유
- Memory Overcommitment : 권장 안 함
- Mermory ballooning
I/O 가상화
- I/O 병목현상이 문제, I/O 자원의 공유 및 파티셔닝 필요
- 가상 디스크 어댑터, 이더넷 등이 필요
- 가상 이더넷
- 에뮬레이션 기능 사용
- 별도의 물리적 어댑터와 케이블 없이 네트워크 이중화, 안정적 단절 등 가능
- 공유 이더넷
- 물리적 네트워크 카드 공유
- 병목현상 발생
- 가상 디스크 어댑터
- 자원 획득 방법
- 내장 디스크 : 가상 I/O 레이어가 내장 디스크 소유 -> 논리적 디스크 드라이브로 나눔
- 외장 디스크 : 가상 I/O 레이어가 파이버 채널을 통해 외장 디스크의 LUN 획득
-> 논리적 디스크로 나누지 않고 바로 각 가상 머신에 분배 -> SCSI 디스크로 나타남
- 자원 획득 방법
728x90
'데이터분석 > ADP' 카테고리의 다른 글
PART03.1장 데이터 분석 기획의 이해(분석 방법론) (0) | 2022.06.03 |
---|---|
PART03.1장 데이터 분석 기획의 이해(분석기획 방향성 도출) (0) | 2022.06.03 |
PART02.2장 데이터 처리 기술 ( 분산 컴퓨팅 기술) (0) | 2022.06.03 |
PART02-2장. 데이터 처리기술 ( 분산 데이터 저장 기술) (0) | 2022.06.03 |
PART02-1장. 데이터 처리 프로세스 (0) | 2022.06.03 |
댓글