네 강사님 가상
컴퓨터를 설치하고 구성하는 데 가상화를
사용할 때 존재하는 다양한
리소스 요구 사항을
이해하는 게 중요합니다 ?
자원 요구 사항에 관해서는
네 가지 주요 영역에 집중합니다
Cpu와 그 가상화 확장 시스템
메모리, 저장소 그리고 네트워킹이죠
하나씩 살펴보도록 하죠
먼저 cpu와 그 가상화 확장이 있습니다
이제 CPU에 대해 이야기할
때 Intel, AMD 등 제조업체마다 가상화를
위해 서로 다른 기술을 사용합니다.
네 인텔 베이스 칩을 사용한다면
vt-x를 찾아야 합니다 vt-x는
가상화 기술로 vt를 뜻하죠
,
Amd 프로세서를 사용하는
경우 amd 가상화를 위해 가상화 확장 amd-v를
호출합니다.
네 이제 이제 둘 다 상당한
성능 향상을 얻습니다
cpu가 가상화를 지원한다면요
,
이제 일부 가상화 소프트웨어에서는
가상화를 사용하기 위해 cpu에서
가상화 지원을 활성화할 필요가 없습니다.
하지만 프로세서 확장으로서 가상화가
활성화되지 않을 경우
성능이 현저히 감소합니다
그리고 실제 생산 작업에 있어서는 아주
사용하기 힘든 가상 컴퓨터가 될 겁니다
네 이제 이제 bios나
uefi에 들어가야
가상화 확장을 사용할
수 있나요? ?
네 보통 VirtualBox나
VMware에 가상
컴퓨터를 설치하려 해도 가상화가
활성화됐는지 감지하지
못하면 VT-x나 AMD-V를 활성화해야
한다는 오류 메시지를 보내죠 ,
이제 이러한 두 가지
가상화 기술 확장 외에도 두 번째
수준 주소 변환을 나타내는 slat라는
또 다른 확장이 있습니다.
이는 단일 물리적 호스트에서
여러 가상 머신을 실행할 때
가상 메모리의 성능을
향상시키는 데 도움이 되는 많은
최신 프로세서의 프로세서
기능입니다.
네 자 인텔 프로세서를 쓰면
ept라고 하는 slat가 있어요 확장된
페이지 테이블이죠
Amd 프로세서를 사용하면
slat를 rvi라고 부릅니다 빠른
가상화 인덱싱이죠
네 어느 쪽이든 ept나 rvi라는 용어를 본다면 가상 메모리에 빠른
메서드로 액세스하는
능력과 cpu에서 더 나은 성능을 얻는
기능을 말하는 겁니다
네 여러분의 프로세서가
지원해야 하는 거죠 이런 확장을
사용할 수 있도록요
네 이제 프로세서와
cpu 내의 가상
확장 외에 cpu 자체에
대해서도 얘기해 보죠
고성능 컴퓨터를 갖길 원한다면
가상화를 다룰 때요 여러분의
현재 시스템에서
멀티코어 하이퍼 스레딩을 지원하는
프로세서나 다중 물리적 프로세서를 찾으세요
이용 가능한 코어를 추가적으로 갖는다는 것은
추가적인 프로세싱 기능이 생긴다는 것을 의미합니다
네 프로세서가 여러 개라면
머더보드에 두 개 이상의 물리적 프로세서가
설치된다는 뜻이죠 ,
네 이건 서버 기반
기술을 쓰지 않는 한 상당히 드문 일이죠 하지만
집이나 노트북의 데스크톱에서 가상 코어를
주기 위해 프로세서에서
멀티코어나 하이퍼 스레딩을
더 찾기 쉬울 겁니다
이렇게 하면 해당 게스트
운영 체제를 실행하는 개별 가상 머신에 프로세서를 할당하고
성능을 향상시키는 더 많은 전용
리소스를 제공하는 추가 기능을
제공합니다.
네 cpu에
관한 또 다른
팁은 cpu 메커니즘은
세 가지라는 겁니다
첫 번째는 구형 x86입니다
이제 x86 기반 프로세서에 대해 이야기할 때 실제로는
32비트 프로세서에 대해 이야기하는 것입니다.
즉 여러분의 시스템이 다른 것을 사용할 수
있는 능력이 현저히 제한된다는 의미입니다
32비트 운영
체제를 다룰 때 4gb의 ram에만
액세스할 수 있기 때문입니다. 이는 단일
물리적 서버에서 여러
가상 머신을 호스팅하려는 경우 매우 적은
양입니다.
대신 기본 호스트 운영 체제가 이를 지원하는지 여부에
따라 해당 시스템에 대해 최대 16엑사바이트의
RAM에 액세스할 수 있는 x64
기본 프로세서를 실행하는 것이
더 좋습니다.
16 엑사바이트가 4기가와
비교하면 x64 베이스
프로세서를 쓴다면 램이 40억 배 이상 더 사용
가능하다는 의미입니다
네 자 64비트 프로세서를 실행할 경우
여전히 32비트 프로그램과 32비트
운영 체제를 게스트 운영 체제로
실행할 수 있어요 물리적 서버에서요 그렇게
하고 싶다면요
네 하지만 진짜 한계는
이거예요 32비트 프로세서가 있다면
64비트 응용 프로그램이나 64비트
운영 체제를 가상 머신으로서 게스트
운영 체제에서 실행할 수 없어요 ,
x64 기반 프로세서를
쓰는 것이 더 낫습니다
여러분이 마주칠 세 번째 유형의
프로세서는 arm입니다
Arm은 컴퓨터 프로세서를
위한 명령 세트 컴퓨터
아키텍처입니다
요즘 필드에서 arm 프로세서를
어디서 보게 될까요?
글쎄요, 최신 Mac을 사용한다면 모두
ARM 프로세서를 사용합니다.
MacBook Pro나 이러한 M1 또는
M2 프로세서 중 하나를 실행하는 새로운 iMAC 중
하나와 같은 최신 시스템
중 하나를 실행하는 경우 이는 모두 ARM 기반이기 때문에 이는
중요합니다.
그리고 arm 기반이기 때문에
arm으로 동작하지 않는 게스트 운영체제를 호스트
할 수 없습니다.
왜냐하면 번역이 필요하기 때문이죠
네 그래서 예를 들어 M1이나 M1 Pro 프로세서를
쓰는 MacBook Pro를 산다면 그건 팔에
기반한 프로세서죠
Windows
11이나 네 실행되지
않을 겁니다 오류가 발생할 거예요
네 즉, 여러 가상 머신을 호스팅할
물리적 시스템에서
arm 기반 프로세서를
사용하는 경우 선택권이
상당히 제한될 것입니다
모든 운영체제가 arm 버전을
가지고 있는 것은 아니기
때문입니다
네 이 영화를 찍을 때
Windows 11은 현재
ARM 기반 프로세서를 만들고 있어요
ARM 칩에 작동할 거예요 ,
또한 MacBook이나 기타
ARM 기반 프로세서에서 실행할
수 있는 ARM 기반 Linux 버전도 있습니다.
하지만 이걸 지적하고
싶었어요 여러분이 곧
겪게 될 한계니까요
이제 리소스 측면에서
이야기해야 할 두 번째 영역은 시스템
메모리입니다.
시스템 메모리에 관해
이야기할 때 실제로는 호스트
운영 체제 역할을 하는 물리적
서버나 워크스테이션에 설치된 물리적
메모리의 양을 의미합니다.
네 그래서 예를 들어 제 능력이 8기가든
16기가든 32기가든 가상 컴퓨터를 호스팅할
땐 많을수록 좋겠죠 만약
제 노트북에 8기가짜리
램만 있다면, 그리고 4개의 다른
게스트 운영체제를 실행하고 싶다면, 만약 한 개가 2기가짜리 램을 사용한다면, 물리 메모리는 이미 다 써버려서 내부 호스트 운영 체제에는 아무것도
안 남았죠
간단히 말해서 Mac
OS와 같은 것을 실행하는 경우 Mac을
부팅하고 필요한 작업을 수행하는 데 약
8GB의 메모리가
필요합니다.
Windows 시스템을 사용하는
경우 일반적으로 Windows를 호스트 운영 체제로
충분히 실행할 수 있으려면 약 4GB가 필요합니다.
8기가바이트가 있고 Windows
10 호스트의 게스트로
Windows 11을 실행하려면 4기 더하기
4기가 즉 8기가바이트 메모리가
다 필요합니다
네 다시 말씀드리지만 리소스에 대해 얘기할
때 여러분이 고려해야
할 것은 게스트 운영체제에 얼마나
많은 메모리를 할당 할 것인가 입니다
물리 메모리가 많을수록 더 많은
것을 할 수 있습니다
리소스의 다음 고려 사항은 저장소입니다
그리고 우리는 이러한 모든 가상 머신 이미지를 어디에
저장할 것인지에 대해 이야기하고 있습니다.
기억하세요 우리가 만드는 가상
컴퓨터는 게스트 운영 체제와 함께 여러분의
물리적 서버의 디스크 공간을 차지합니다
따라서 공간이 256GB밖에
없는 노트북을 가지고 있고 해당 시스템에 Windows
10 게스트 운영 체제를 설치하려는
경우 아마도 약 50GB의 공간이 필요할 것입니다.
따라서 하나의 가상 머신 이미지에서
총 하드 드라이브의 5분의
1을 사용했습니다.
네 이제 서너 개의 다른 복사본이
있다면 3, 4 곱하기 50이
됩니다 150-200기가바이트가
되죠 거의 전체 디스크 드라이브예요
따라서 대량 저장소는 반드시
알아둬야 할 것이 됩니다
네 일반적으로 베어bones Windows는
20기가가 넘는 공간이
소요되는데 여러분은 40이나 50을
사용하세요 왜냐하면 파일을 저장하고 응용 프로그램 등을 설치하려면 추가 공간이 필요하니까요
그렇습니다 일반적으로 Linux를
사용하신다면 훨씬 더 가볍고
대부분의 디스스트로는 4에서 8기가
바이트의 공간에서 설치됩니다 윈도우 보다
훨씬 적은 거죠
네 Mac 환경을 다룰 경우
게스트 운영 체제로서
이건 보통 20-40기가바이트의
공간을 차지합니다
그걸 염두에 두세요
물리적 장치에 디스크
공간이 아주 제한돼 있다면 업그레이드해 저장소
양을 늘리세요
이렇게 하면 동일한 물리적 서버에서 더 많은 게스트
운영 체제를 호스팅할 수 있습니다.
마지막으로 고려할 부분은 네트워킹입니다
이는 호스트 운영 체제에서 작동하는
하이퍼바이저가 해당 시스템에서 호스팅되는
다른 모든 가상 머신이 통신할 수 있도록
가상 네트워크 환경을 생성하기 때문입니다.
그러나 그들이 모두 인터넷에 접속하거나
lan에 접속하여 파일을 다운로드하려는 경우
물리적 장치에 있는
동일한 네트워크 인터페이스 카드를 통해 이를
수행합니다.
네 초당 100메가비트로 작동되는
오래된 네트워킹 카드를 쓸 경우 서버에서
가상 컴퓨터 5개를 실행하는데 각 가상 컴퓨터는
사실상 초당 20메가비트예요
이 경우 게스트를 호스팅하는
물리적 서버에서 네트워크 인터페이스 카드를 업그레이드하고
여러 개의 가상 컴퓨터를 호스팅한다면
네트워킹 카드를 10기가바이트도 넣으세요
추가적인 처리량과 대역폭을
확보해 가상 컴퓨터를 호스트할
수 있게 해줍니다 네트워크를
느리게 하지 않고요
이 외에도 나중에 네트워킹
연구에서 배우게 될 것처럼 여러
네트워크 인터페이스 카드를 배치하고 이를
팀 구성이라고 하는 것에
배치할 수도 있습니다.
여러 카드가 함께 움직여서
속도가 빨라지죠
네 2기가 네트워킹 카드가 있고
팀으로 일한다면
네트워크에 연결하는
데 2기가 처리량이
생겨요
자주 사용합니다 기업
환경에서 많은 가상 컴퓨터를
호스팅하는 서버에서 작업하는
경우 4개의 네트워크
인터페이스 카드가 팀으로 작동하는
게 보일 겁니다 따라서
초당 4기가, 심지어는 40기가까지
가능하죠
만약 서버에서 초당 10기가바이트의 네트워크
인터페이스 카드를 사용한다면요
기억하세요 리소스 요구에 관해선 cpu와
프로세서 그리고 기능을 고려하는 게 중요합니다
메모리는 얼마나 갖고 있고 저장소는 얼마나 갖고
있고 네트워크는 얼마인지도요
이 네 가지 영역은 모두 고려해야 합니다
주어진 서버에서 가상 머신 몇
대를 호스트할지 혹은 워크스테이션에서
게스트 운영체제의 성능을 높일
수 있는지 결정합니다 가상 머신에서 실행되는
하이퍼바이저의 성능입니다