tag:crieit.net,2005:https://crieit.net/tags/%E4%BB%AE%E6%83%B3%E5%8C%96/feed 「仮想化」の記事 - Crieit Crieitでタグ「仮想化」に投稿された最近の記事 2021-05-19T16:38:27+09:00 https://crieit.net/tags/%E4%BB%AE%E6%83%B3%E5%8C%96/feed tag:crieit.net,2005:PublicArticle/17202 2021-05-19T16:38:05+09:00 2021-05-19T16:38:27+09:00 https://crieit.net/posts/e28cc6f40a4e237b52548132c17348c1 仮想化基礎知識 ざっくりまとめ <h1 id="仮想化とは"><a href="#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%A8%E3%81%AF">仮想化とは</a></h1> <p><strong>CPUのリソースが余っているサーバの内部で仮想的なサーバを複数作成してリソースの有効活用すること。<br /> 物理的には一個のサーバだけど中に複数のサーバがあるイメージ</strong></p> <h1 id="仮想化の技術用語"><a href="#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AE%E6%8A%80%E8%A1%93%E7%94%A8%E8%AA%9E">仮想化の技術用語</a></h1> <h2 id="仮想化ソフトウェア"><a href="#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2">仮想化ソフトウェア</a></h2> <p>CPUやマザボといったハードウェアを再現したもの(仮想ハードウェア)。<br /> 別名<strong>エミュレータ</strong></p> <h2 id="仮想ホスト or ホスト"><a href="#%E4%BB%AE%E6%83%B3%E3%83%9B%E3%82%B9%E3%83%88+or+%E3%83%9B%E3%82%B9%E3%83%88">仮想ホスト or ホスト</a></h2> <p>仮想マシンを動かすために必要な「仮想化ソフトウェア」を動かすコンピュータ<br /> 行っちゃえば今目の前にある自分のPCで仮想マシンを動かしてたらそのPCは仮想ホスト</p> <h2 id="仮想マシンorホスト"><a href="#%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3or%E3%83%9B%E3%82%B9%E3%83%88">仮想マシンorホスト</a></h2> <p>ソフトウェアで再現されたハードウェア。物理コンピュータと同じように動く。<br /> 3次元の<strong>パソコンの中にある2次元のパソコンのこと</strong></p> <h1 id="仮想化のメリット"><a href="#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">仮想化のメリット</a></h1> <p>1.リソースが有効活用できる(リソースがある限り何個も仮想マシンが作れる)<br /> 2.省コスト(安いハードを複数買うより高いハード買ってその中に仮想化ソフトウェア作ったほうが省コスト)<br /> 3.ビジネス(システム開発)のスピードが向上(いちいち設置とかしなくて済む)<br /> 4.スナップショットが使える(今現在の仮想マシンの状態を丸ごと保存できる機能。セーブ機能)</p> <h1 id="仮想化のデメリット"><a href="#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AE%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">仮想化のデメリット</a></h1> <p>1.性能は物理より悪くなる(仮想ホストの性能ありき)<br /> 2.仮想ホスト障害時の影響が大きい(<strong>冗長化必須</strong>)</p> <h1 id="仮想マシンに使われている技術3選"><a href="#%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%81%AB%E4%BD%BF%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%8A%80%E8%A1%933%E9%81%B8">仮想マシンに使われている技術3選</a></h1> <h2 id="ホストOS型"><a href="#%E3%83%9B%E3%82%B9%E3%83%88OS%E5%9E%8B">ホストOS型</a></h2> <p>既存のOSにインストールした<strong>仮想化ソフトウェア</strong>で仮想ハードウェアを作成するタイプ<br /> 手軽だけど<strong>ホストのOSを経由</strong>して仮想マシンが物理ハードウェアにアクセスするため性能はいまいち<br /> (仮想化ソフトウェアのアプリを使って環境を作ってPCの中に二次元のPCが入ってる感じ)<br /> 代表的な製品<br /> - <strong>Oracle VirtualBox</strong><br /> - VMware Player<br /> - Parallels Desktop<br /> -</p> <h2 id="ハイパーバイザ型"><a href="#%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%83%90%E3%82%A4%E3%82%B6%E5%9E%8B">ハイパーバイザ型</a></h2> <p>物理ハードウェア上で直接、<strong>ハイパーバイザ</strong>と呼ばれる仮想化ソフトウェアを動作させ仮想ハードウェアを作成するタイプ<br /> 物理ハードウェアに<strong>ハイパーバイザ対応OS</strong>をインストールする必要がある。<br /> 仮想マシンが物理ハードウェアにアクセスするのに<strong>ホストのOSを経由しない</strong>ので、ホストOS型と⽐較して仮想マシンの性能低下が抑えられ、⾼速化している。(ハードウェア上で完結している)<br /> 代表的な製品<br /> - <strong>VMware ESXi</strong><br /> - Hyper-V, Xen(Xen Server)<br /> - Linux KVM</p> <h2 id="コンテナ型"><a href="#%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E5%9E%8B">コンテナ型</a></h2> <p>物理マシンをエミュレーションしないのが特徴で、<strong>コンテナ</strong>と呼ばれる、アプリケーションの実⾏環境を作成するタイプ<br /> 「<strong>仮想ハードウェア</strong>」と「<strong>ゲストOS</strong>」が不要の為、すぐに環境を構築でき、オーバーヘッド(負荷)も少ないのでハイパーバイザより⾼速。(コンテナってアプリだけで完結している)<br /> 代表的な製品<br /> -** Docker**<br /> - Windows Serverコンテナ</p> tobara tag:crieit.net,2005:PublicArticle/17198 2021-05-19T15:26:46+09:00 2021-06-03T12:52:30+09:00 https://crieit.net/posts/dfdb79a21febdbeba9c330ea75ce3e98 サーバ入門1 仮想化の基礎知識 <h2 id="サーバの仮想化"><a href="#%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AE%E4%BB%AE%E6%83%B3%E5%8C%96">サーバの仮想化</a></h2> <p>・・・物理的なサーバに仮想化ソフトウェアを導入し、事実上のサーバを小分けにしてユーザに提供することで物理サーバのリソースを有効活用すること。</p> <h2 id="仮想化ソフトウェア(Virtual Machine Softwares)"><a href="#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%28Virtual+Machine+Softwares%29">仮想化ソフトウェア(Virtual Machine Softwares)</a></h2> <p>・・・コンピュータアーキテクチャの「CPU」や「マザーボード」などのハードウェアを再現する(仮想ハードウェア)、いわゆるエミュレーター。いくつか種類がある。</p> <h2 id="仮想ホストorホスト"><a href="#%E4%BB%AE%E6%83%B3%E3%83%9B%E3%82%B9%E3%83%88or%E3%83%9B%E3%82%B9%E3%83%88">仮想ホストorホスト</a></h2> <p>・・・仮想マシンを動かすために実用なハードウェアリソースや管理機能を提供する「仮想ソフトウェア」を動かすコンピュータのこと。</p> <h2 id="仮想マシンorゲスト"><a href="#%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3or%E3%82%B2%E3%82%B9%E3%83%88">仮想マシンorゲスト</a></h2> <p>・・・ソフトウェアで再現されたハードウェア、コンピュータアーキテクチャ用のOSやソフトウェアが、物理コンピュータと同じように動く。</p> <h1 id="仮想化のメリット"><a href="#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AE%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">仮想化のメリット</a></h1> <ol> <li><strong>リソース(CPUやメモリ)が有効活用できる。</strong></li> <li><strong>省コストを実現できる</strong></li> <li><strong>ビジネス(システム開発)のスピードが向上</strong></li> <li><strong>スナップショットが利用可能</strong><br /> ※スナップショットとは、現在の仮想マシーンの状態を丸ごと保存できるツールのこと。</li> </ol> <h1 id="仮想化のデメリット"><a href="#%E4%BB%AE%E6%83%B3%E5%8C%96%E3%81%AE%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88">仮想化のデメリット</a></h1> <ol> <li><strong>性能が劣化する</strong></li> <li><strong>仮想ホスト障害時の影響が大きい</strong><br /> ※仮想ホスト1台で、複数の「仮想マシン」を動かしているときに、<strong>仮想ホスト</strong>が障害で停止すると、当然仮想マシン全台が停止し、仮想マシンが提供していた<strong>サービスがすべて停止</strong>になる。なので、重要かつ、止められないシステムを提供する場合は、<strong>仮想ホスト</strong>を複数用意して、<strong>冗長化</strong>させた構成にする。</li> </ol> <h1 id="仮想マシン作成に使われている技術の種類"><a href="#%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E4%BD%9C%E6%88%90%E3%81%AB%E4%BD%BF%E3%82%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E6%8A%80%E8%A1%93%E3%81%AE%E7%A8%AE%E9%A1%9E">仮想マシン作成に使われている技術の種類</a></h1> <h3 id="ホストOS型"><a href="#%E3%83%9B%E3%82%B9%E3%83%88OS%E5%9E%8B">ホストOS型</a></h3> <p>・Windows10などの既存のOS上にインストールした<strong>仮想化ソフトウェア</strong>が、仮想ハードウェアを作成する。あとは、従来の物理コンピュータ同様に、OSインストール等を行い、アプリケーションの実行環境を構築して利用する。<br /> ・手軽に利用できる反面、仮想マシンが物理ハードウェアにアクセスするには、<strong>ホストのOSを経由する構造</strong>のため、性能が低下する。<br /> <代表的な製品><br /> ・<strong>Oracle Virtual Box</strong><br /> ・VMwave Player<br /> ・Parallels Desktop</p> <h3 id="ハイパーバイザ型"><a href="#%E3%83%8F%E3%82%A4%E3%83%91%E3%83%BC%E3%83%90%E3%82%A4%E3%82%B6%E5%9E%8B">ハイパーバイザ型</a></h3> <p>・物理ハードウェア上で直接、<strong>ハイパーバイザ</strong>と呼ばれる仮想化ソフトウェアを動作させ、仮想ハードウェアを作成、物理ハードウェアにハイパーバイザ対応OSをインストールする必要がある。<br /> ・仮想マシンが物理ハードウェアにアクセスするのに<strong>ホストのOSを経由しない</strong>ので、ホストOS型と比較して仮想マシンの性能低下が抑えられ、<strong>高速化</strong>している。<br /> <代表的な製品><br /> ・VMwave Esxi<br /> ・Hyper-V、Xen(Xen Server)<br /> ・LinuxKVM</p> <h3 id="コンテナ型"><a href="#%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E5%9E%8B">コンテナ型</a></h3> <p>・仮想マシンをエミュレーションしないのが特徴で、<strong>コンテナ</strong>と呼ばれる。アプリケーションの実行環境を作成する。「<strong>仮想ハードウェア</strong>」と「<strong>ゲストOS</strong>」が不要のため、すぐに環境を構築でき、オーバーヘッドも少ないので、ハイパーバイザよりも高速。<br /> <代表的な製品><br /> ・Docker<br /> ・Windows Serverコンテナ</p> <h3 id="エミュレーション"><a href="#%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3">エミュレーション</a></h3> <p>・・・特定のコンピュータやOSに向けた開発されたプログラムを異なる環境のコンピュータで使うこと。</p> ko00w1