WEBVTT

00:00.120 --> 00:00.960
インストラクター：仮想化を利用する際､

00:00.960 --> 00:08.250
仮想マシンのインストールや設定を行う際には､ さまざまなリソース要件が存在することを理解することが重要です｡

00:08.250 --> 00:09.900
必要なリソースに関しては､

00:09.900 --> 00:12.690
私たちは主に4つの分野に重点を置いている｡

00:12.690 --> 00:15.390
CPUとその仮想化拡張機能､ システムメモリ､

00:15.390 --> 00:18.930
ストレージ､ ネットワーク｡

00:18.930 --> 00:20.580
それぞれを見てみよう｡ 

00:20.580 --> 00:24.150
まず､ CPUとその仮想化拡張機能である｡ 

00:24.150 --> 00:25.980
さて､ CPUの話になると､

00:25.980 --> 00:31.470
インテルやAMDなど各メーカーで仮想化技術が異なる｡

00:31.470 --> 00:33.420
インテル・ベースのチップを使っているなら､

00:33.420 --> 00:39.840
VT-x（仮想化技術､ VTの略）を探すことになるだろう｡

00:39.840 --> 00:41.910
AMDプロセッサーを使っている場合､

00:41.910 --> 00:48.180
AMDの仮想化拡張機能をAMD-Vと呼ぶ｡

00:48.180 --> 00:50.310
ホスト型ハイパーバイザーを使おうが､

00:50.310 --> 00:52.080
ベアメタル型ハイパーバイザーを使おうが､

00:52.080 --> 00:57.990
仮想化をサポートするCPUがあれば､ どちらも大幅にパフォーマンスが向上する｡

00:57.990 --> 00:59.700
現在､ 仮想化ソフトウェアによっては､

00:59.700 --> 01:05.490
仮想化を使用するためにCPUが仮想化サポートを有効にしている必要はない｡

01:05.490 --> 01:09.360
しかし､ プロセッサーの拡張機能として仮想化を有効にしていなければ､

01:09.360 --> 01:12.090
パフォーマンスが著しく低下する｡

01:12.090 --> 01:17.550
そして､ 実際に本番の仕事をするときには､ とても使えない仮想マシンを持つことになる｡

01:17.550 --> 01:19.830
お使いのプロセッサーが仮想化をサポートしている場合､

01:19.830 --> 01:21.750
そしてほとんどの最新プロセッサーがサポートしている場合､

01:21.750 --> 01:27.210
BIOSまたはUEFIにアクセスして仮想化拡張機能を有効にする必要がある｡

01:27.210 --> 01:32.070
通常､ VirtualBoxやVMwareなどで仮想マシンをインストールしようとしても､

01:32.070 --> 01:34.710
仮想化が有効になっていることが検出されないと､

01:34.710 --> 01:39.720
VT-xやAMD-Vを有効にする必要があるというエラーメッセージが表示される｡

01:39.720 --> 01:42.990
この2つの仮想化技術の拡張に加えて､

01:42.990 --> 01:48.540
SLATと呼ばれるものがある｡

01:48.540 --> 01:51.810
これは､ 最近のプロセッサの多くに搭載されているプロセッサ機能で､

01:51.810 --> 01:55.020
単一の物理ホスト上で複数の仮想マシンを実行している場合に､

01:55.020 --> 01:58.500
仮想メモリのパフォーマンスを向上させるのに役立ちます｡

01:58.500 --> 02:00.540
インテル・プロセッサーを使用している場合､

02:00.540 --> 02:06.000
SLATはEPTと呼ばれる｡

02:06.000 --> 02:07.980
AMDプロセッサーを使用している場合､ SLATはRVIと呼ばれ､

02:07.980 --> 02:11.160
これはラピッド仮想化インデキシング（rapid virtualization

02:11.160 --> 02:14.010
indexing）である｡

02:14.010 --> 02:20.430
いずれにせよ､ SLAT､ EPT､ RVIという言葉を目にした場合､ 実際には､ より高速な方法で仮想メモリにアクセスし､

02:20.430 --> 02:25.590
CPUからより良いパフォーマンスを引き出すことができる能力のことを指している｡

02:25.590 --> 02:27.180
そして､ これらのエクステンションを使用するためには､

02:27.180 --> 02:30.660
プロセッサーがサポートしている必要がある｡

02:30.660 --> 02:35.640
さて､ プロセッサーやCPU内部の仮想化エクステンションについて話すだけでなく､

02:35.640 --> 02:38.490
CPUそのものについても話したい｡

02:38.490 --> 02:42.360
仮想化を扱う際に非常に高性能なマシンを使いたいのであれば､

02:42.360 --> 02:50.640
マルチコア・ハイパースレッディングや複数の物理プロセッサをサポートするプロセッサをシステム上で探すことになるだろう｡

02:50.640 --> 02:52.470
利用可能なコアが増えるということは､

02:52.470 --> 02:54.810
処理能力が増えるということだ｡

02:54.810 --> 02:56.310
マルチプロセッサーを搭載している場合､

02:56.310 --> 03:00.630
そのマザーボードには2つ以上の物理プロセッサーが搭載されていることを意味します｡

03:00.630 --> 03:04.470
しかし､ 自宅のデスクトップやノートパソコンでは､

03:04.470 --> 03:12.810
マルチコアかハイパースレッディングのプロセッサーが仮想コアを提供していることが多い｡

03:12.810 --> 03:17.760
また､ ゲストOSを実行する個々の仮想マシンにプロセッサを割り当てることで､

03:17.760 --> 03:19.560
より多くの専用リソースを与え､

03:19.560 --> 03:23.520
パフォーマンスを向上させることができる｡

03:23.520 --> 03:27.600
さて､ CPUに関してもうひとつ補足しておくと､

03:27.600 --> 03:31.260
CPUには3つの異なるメカニズムがある｡

03:31.260 --> 03:34.320
1つ目は､ 昔ながらのx86だ｡ 

03:34.320 --> 03:36.720
さて､ x86ベースのプロセッサーといえば､

03:36.720 --> 03:39.180
実際には32ビットプロセッサーのことだ｡

03:39.180 --> 03:44.310
そしてこれは､ 他のものを使用するシステムの能力が大幅に制限されることを意味する｡

03:44.310 --> 03:47.130
なぜなら､ 32ビットのオペレーティング・システムを扱っている場合､

03:47.130 --> 03:52.290
アクセスできるRAMは4ギガバイトに過ぎず､ 1台の物理サーバーで複数の仮想マシンをホスティングしようとすると､

03:52.290 --> 03:55.290
非常に少ない量になってしまうからだ｡

03:55.290 --> 03:58.860
その代わり､ x64ベース・プロセッサーを使う方がいい｡ このプロセッサーを使えば､

03:58.860 --> 04:08.100
基本的なホスト・オペレーティング・システムが対応しているかどうかにもよるが､ 最大16エクサバイトのRAMにアクセスできる｡

04:08.100 --> 04:11.310
4ギガバイトに対して16エクサバイトということは､

04:11.310 --> 04:17.580
x64ベースのプロセッサーを使用している場合､ 40億倍以上のRAMを利用できることになる｡

04:17.580 --> 04:20.070
64ビット・プロセッサーを使用している場合でも､

04:20.070 --> 04:28.890
32ビット・プログラムと32ビット・オペレーティング・システムをゲスト・オペレーティング・システムとして物理サーバー上で実行することができます｡

04:28.890 --> 04:30.060
しかし､ 本当の制限は､

04:30.060 --> 04:32.430
32ビットプロセッサを使用している場合､

04:32.430 --> 04:39.810
ゲストOSの仮想マシンとして64ビットアプリケーションや64ビットOSを実行できないことだ｡

04:39.810 --> 04:44.520
だから､ やはりx64ベースのプロセッサーを使う方がいい｡

04:44.520 --> 04:45.900
さて､ 3つ目のタイプのプロセッサーは､

04:45.900 --> 04:47.587
ARMと呼ばれるものだ｡

04:47.587 --> 04:53.310
そしてARMは､ コンピューター・プロセッサーのための縮小命令セット・コンピューター・アーキテクチャである｡

04:53.310 --> 04:56.760
さて､ ARMプロセッサーは最近どこで見かけるようになったのだろうか？

04:56.760 --> 05:01.110
最近のマックなら､ ARMプロセッサーを使っている｡

05:01.110 --> 05:03.210
なぜなら､ MacBook Proや新しいiMACのように､

05:03.210 --> 05:07.050
M1やM2プロセッサーを搭載した最新のシステムを使用している場合､

05:07.050 --> 05:11.610
これらはすべてARMベースだからだ｡

05:11.610 --> 05:13.230
また､ ARMベースであるため､

05:13.230 --> 05:18.330
ARM上で動作していないゲストOSをネイティブにホストすることはできない｡

05:18.330 --> 05:20.880
なぜなら､ 翻訳が必要だからだ｡ 

05:20.880 --> 05:23.820
例えば､ M1やM1 Proプロセッサーを搭載したMacやMacBook

05:23.820 --> 05:28.530
Proを購入した場合､ それはARMベースのプロセッサーです｡

05:28.530 --> 05:30.660
また､ Windows 11やWindows

05:30.660 --> 05:33.240
10をゲストOSにインストールしようとした場合､

05:33.240 --> 05:40.410
x86やx64ベースのOSバージョンだと､ 実行できずにエラーが発生する｡

05:40.410 --> 05:44.730
そのため､ さまざまな仮想マシンをホストする物理システムでARMベースのプロセッサーを使用している場合､

05:44.730 --> 05:53.340
すべてのオペレーティング・システムにARMベースのバージョンがあるとは限らないため､ ゲストOSの選択肢が大幅に制限されることになる｡

05:53.340 --> 05:58.560
本稿執筆時点では､ ウィンドウズ11は現在ARMベースのプロセッサ用のバージョンを作っており､

05:58.560 --> 06:00.990
それらはそれらのARMチップ上で動作する｡

06:00.990 --> 06:02.580
また､ ARMベースのLinuxバージョンもあり､

06:02.580 --> 06:07.170
MacBookやその他のARMベースのプロセッサーで実行できる｡

06:07.170 --> 06:11.160
ただ､ このことを指摘しておきたかっただけなんだ｡

06:11.160 --> 06:13.800
さて､ リソースの面で2番目に説明しなければならないのは､

06:13.800 --> 06:15.240
システムメモリだ｡

06:15.240 --> 06:16.650
システム・メモリというのは､

06:16.650 --> 06:25.200
ホスト・オペレーティング・システムとして動作する物理的なサーバーやワークステーションにインストールされている物理的なメモリ量のことです｡

06:25.200 --> 06:27.810
例えば､ ノートパソコンに8ギガバイトのRAMしかなくて､

06:27.810 --> 06:39.690
4つの異なるゲスト・オペレーティング・システムを走らせたい場合､ それぞれのオペレーティング・システムに2ギガバイトのRAMが必要なら､ すでに物理メモリを使い切ってしまっていて､

06:39.690 --> 06:49.140
基盤となるホスト・オペレーティング・システムのためのメモリは残っていない｡

06:49.140 --> 06:50.550
マックOSのようなものを使っている場合､

06:50.550 --> 06:53.160
マックを起動して必要なことをするためには､

06:53.160 --> 06:59.130
およそ8ギガバイトのメモリが必要になる｡

06:59.130 --> 07:00.600
ウィンドウズ・マシンを使っている場合､

07:00.600 --> 07:06.720
一般に､ ウィンドウズをホスト・オペレーティング・システムとして十分に稼働させるためには､ 約4ギガバイトが必要だ｡

07:06.720 --> 07:13.110
つまり､ 8ギガバイトのメモリがあり､ ウィンドウズ10ホスト内でウィンドウズ11をゲストとして実行したい場合､

07:13.110 --> 07:17.160
4ギガバイトに4ギガバイトを足した8ギガバイトのメモリが必要になる｡

07:17.160 --> 07:19.410
ですから､ リソースについて話すときは､

07:19.410 --> 07:22.350
ゲスト・オペレーティング・システムにどれだけのメモリを割り当てられるか､

07:22.350 --> 07:28.230
物理メモリが多ければ多いほど､ より多くのことができるようになります｡

07:28.230 --> 07:31.440
リソースの次に考慮すべきは､ ストレージだ｡ 

07:31.440 --> 07:35.850
そして､ これらの仮想マシン・イメージをどこに保存するのかという話だ｡

07:35.850 --> 07:37.710
ゲスト・オペレーティング・システムとともに作成する仮想マシンはすべて､

07:37.710 --> 07:42.870
物理サーバーのディスク・スペースを占有することになる｡

07:42.870 --> 07:44.430
つまり､ 256ギガバイトの容量しかないラップトップを持っていて､

07:44.430 --> 07:54.480
そのシステムにウィンドウズ10のゲストOSをインストールしたい場合､ おそらく50ギガバイト程度の容量が必要になるだろう｡

07:54.480 --> 07:59.610
つまり､ 1つの仮想マシン・イメージにハードディスク・ドライブ全体の5分の1を使ったことになる｡

07:59.610 --> 08:01.860
そのコピーを3つも4つも持っていたら､

08:01.860 --> 08:09.480
50の3倍から4倍､ 150ギガバイトから200ギガバイトになる｡

08:09.480 --> 08:13.080
だから､ 大容量記憶装置は本当に注意しなければならないものになる｡

08:13.080 --> 08:15.390
通常､ Windowsをインストールする場合､

08:15.390 --> 08:19.440
素のWindowsインストールは約20ギガバイトの容量を必要とするが､ そこにファイルを保存したり､

08:19.440 --> 08:22.230
アプリケーションをインストールしたりする場合は､ さらに容量が必要になるため､

08:22.230 --> 08:28.230
40ギガバイトか50ギガバイトの容量を使いたい｡

08:28.230 --> 08:30.000
Linuxを使うなら､ 一般的に､

08:30.000 --> 08:38.460
より軽量で､ ほとんどのディストロは4〜8ギガバイトのスペースにインストールでき､ ウィンドウズよりかなり少ない｡

08:38.460 --> 08:41.640
ゲスト・オペレーティング・システムとしてマック環境を扱っている場合､

08:41.640 --> 08:45.840
これも通常､ 20～40ギガバイト相当の容量を消費する｡

08:45.840 --> 08:48.630
物理デバイスのディスク容量が非常に限られている場合は､

08:48.630 --> 08:53.760
それをアップグレードしてストレージ容量を増やした方がよいでしょう｡

08:53.760 --> 08:58.320
そうすれば､ 同じ物理サーバー上でより多くのゲストOSをホストすることができる｡

08:58.320 --> 09:01.380
そして最後に考えなければならないのは､ ネットワークだ｡ 

09:01.380 --> 09:05.640
これは､ ホスト・オペレーティング・システム上で動作するハイパーバイザーが､

09:05.640 --> 09:12.480
そのシステム上でホストされている他のすべての仮想マシンが通信するための仮想ネットワーク環境を構築するためだ｡

09:12.480 --> 09:17.100
しかし､ インターネットやローカル・エリア・ネットワークに接続してファイルをダウンロードする場合は､

09:17.100 --> 09:21.810
物理的なデバイス上の同じネットワーク・インターフェース・カードを通して行うことになる｡

09:21.810 --> 09:24.000
つまり､ 毎秒100メガビットしか動作しない古いネットワーキング・カードを使用していて､

09:24.000 --> 09:26.490
そのサーバー上で5台の仮想マシンを稼働させている場合､

09:26.490 --> 09:32.820
各仮想マシンは実質的に毎秒20メガビットしか動作していないことになる｡

09:32.820 --> 09:37.110
この場合､ ゲストをホストしている物理サーバーのネットワーク・インターフェイス・カードをアップグレードして､

09:37.110 --> 09:38.280
ギガビット・ネットワーキング・カード､

09:38.280 --> 09:45.870
あるいは複数の仮想マシンをホストしている場合は10ギガビット・ネットワーキング・カードを入れることをお勧めします｡

09:45.870 --> 09:47.760
これにより､ ネットワークがスローダウンすることなく､

09:47.760 --> 09:49.560
すべての仮想マシンをホストすることができるように､

09:49.560 --> 09:53.280
追加のスループットと帯域幅を持つことができます｡

09:53.280 --> 09:56.430
これに加えて､ この後のネットワーク学習で学ぶことになるが､

09:56.430 --> 09:58.890
複数のネットワーク・インターフェース・カードを入れて､

09:58.890 --> 10:01.980
いわゆるチーミング構成にすることもできる｡

10:01.980 --> 10:04.500
これにより､ 複数のカードが連動して動作し､

10:04.500 --> 10:06.600
より高速な通信が可能になる｡

10:06.600 --> 10:09.330
つまり､ 1ギガビットのネットワーキング・カードが2枚あり､

10:09.330 --> 10:10.710
それらがチームで動作している場合､

10:10.710 --> 10:15.330
ネットワークに接続するために使用できるスループットは2ギガビットになる｡

10:15.330 --> 10:18.330
多くの場合､ 企業やエンタープライズ環境で多数の仮想マシンをホストするサーバーで作業していると､

10:18.330 --> 10:24.300
最大4枚のネットワーク・インターフェース・カードがあり､ すべてのカードがチームで動作するため､ 最大で毎秒4ギガビット､

10:24.300 --> 10:28.680
あるいは最大で毎秒40ギガビットになります｡

10:28.680 --> 10:33.240
そのサーバーで毎秒10ギガビットのネットワーク・インターフェース・カードを使用している場合｡

10:33.240 --> 10:36.090
だから､ リソース要件に関しては､ CPUやプロセッサーとその能力､

10:36.090 --> 10:44.850
メモリの量､ ストレージの量､ ネットワークの量を考慮することが重要だということを覚えておいてほしい｡

10:44.850 --> 10:47.430
これら4つの分野は､ すべてあなたが考慮したい分野である｡ 

10:47.430 --> 10:49.230
特定のサーバーやワークステーションでホストできる仮想マシンの数や､

10:49.230 --> 10:59.373
特定のハイパーバイザー上で仮想マシン内で実行されるゲストOSのパフォーマンスを向上させる方法を決定しているときだ｡
