頭弱いがPCの勉強する

正真正銘のPC初心者。勉強ノートのつもり。
ITなんてトンチンカン、だから書くことやること全部適当。

仮想化ソフトに入門しよう

2020-04-05 17:36:28 | ITの勉強

こんにちは。

みなさんは仮想化ソフトって常日頃使っていますか?

趣味や仕事で触る人は別として、普通にパソコン使ってたら使いませんよね。。。
ただ、使えるととても便利なので覚えておいて損はないです。

1.そもそも仮想化ソフトとは

仮想化ソフトとは、簡単にいうなら「パソコンの中でもう一つ仮想のパソコンを動かすソフト」、「一台のパソコンを複数のパソコンとして動作させるソフト」です。
パソコンでWebサイトを閲覧したり、文書作成を行う場合でも必ずOSが基盤に動いてますよね?本来OSとは一つのPCで一つしか同時に動作しません。

しかし、仮想化ソフトはPCのリソース(メモリやCPUなどの処理能力)を一部割り当てることでPC上に仮想のPCを作ります。 その仮想のPC(通称、仮想マシン)にOSをインストールすることで、一つのPCで複数のOSが動かせるわけです。

仮想化ソフトには大まかに分けると3種類程になります。
  • ホスト型
  • OSの上にアプリケーションとしてインストールする方式です。
    仮想化専用のPCを用意しなくても、お手元のPCで仮想化を実現できます。
    ただしホスト型の場合、仮想化ソフトをインストールするPC(通称、ホストマシン)で動いているOSもリソースを使用している事と、 入力や出力がホストマシン→ホストOS→仮想化ソフト→仮想マシン→仮想OSと経由する為パフォーマンスは低下します。

  • ハイパーバイザー型
  • ホストOSの代わりに、動作する仮想化ソフトです。
    仮想化用のPCを用意する必要する必要があります。
    ホストOSを介さずにハードウェアを直接制御し、リソースの割り当てを行う為ホスト型に比べて高いパフォーマンスを実現します。

  • コンテナ型
  • そのうち説明します。。。

2.何に使うの

仮想マシンを用いることで様々な事を便利にできます。
例えばサーバ用途での使い方であれば、複数の物理サーバの統合化なんかにも使えます。

  • 例:物理サーバの統合化
  • 一つのサーバでファイルサーバ、データベース、Webサーバなどのサービスが同じサーバで動作していた場合、 そのサーバが不正アクセスされてしまえば全サービスのデータを奪取、改ざんされる可能性が発生してしまいます。
    また、システム障害が起こった際もすべてのサービスが巻き添えになって使用不可能になる可能性もありますし、複数のサービスが同居していることによりメンテナンス性の低下することだってありえます。
    なのでそれらのサービスが稼働するサーバは本来物理的にも分けることが推奨されます。
    ただ、お金の事情ですべてのサービスごとに物理サーバを用意するのは難しいことが多いです。
    そこで役に立つのが仮想化技術です。一つの物理サーバの中で複数の仮想マシンを作成することで、一つの物理サーバを複数のサーバとして動作させることが可能になります。
    物理サーバを1台にすることにより、金銭的にも抑えながら、セキュリティ上の問題や、システムの可用性を高めることも可能となります。
    もちろん、1台にしてしまえば物理障害に対しては弱くなってしまいますが、仮想化製品によっては動的な冗長構成をサポートしているものもあります。
    これには主にハイパーバイザー型の仮想化ソフトが用いられます。
個人用途であればこんなことにも使えます。
  • 例:検証環境としての使用
  • サーバの勉強をするのにLinuxを入れてみたいと思ったとしても、手持ちのPCにLinuxをインストールするのはなかなかハードルが高いと思います。
    ※ Linux…サーバ用途で使われることの多いOS
    そんな時に仮想マシンを用意してそこでLinuxを動かすことによって、既存のPCのOSを上書きすることなく手持ちのPCでサーバ構築・運用の勉強が出来ちゃうんです。
    エンジニアを目指している方も多くがこの用途で利用していますし、エンジニアやSIerであっても取り扱う製品の練習や設計書づくりのための調査で仮想マシンを使うことがとても多いです。

  • 例:特定OSでしか使えないソフトのインストール
  • 古いバージョンのWindowsでしか動かないけど、どうしても使わないといけないソフトがある場合なんかも仮想化は役立ちます。
    仮想マシンに古いバージョンのWindowsをインストールしておけば、わざわざ古いPCを使わなくたってそのソフトが最新PCで動きます。

あくまでここに挙げたのは一例でしかありません。上述したもの以外にも様々な用途に用いることができます。
そして多くの仮想化ソフトについている便利な機能「スナップショット」についても説明します。
スナップショットとは、仮想マシンの状態を静止点として記録しておくことで、いつでも静止点に一瞬で戻せる機能のことです。
この機能を使えばたとえ仮想OSのシステムが破損し起動しなくなったとしてもスナップショット時点に戻すこことで復元することができます。
この機能を用いればシステムに危害が加わるような設定変更を事前に検証することも容易になりますし、なんなら使用後に毎回スナップショットに戻す事でクリーンな状態を保つこともできます。
この他にも仮想化ソフトには製品によって様々な便利機能がありますので、興味があったら調べてみてください。

3.仮想化ソフトの代表例

  • VMware WorkStation Player
  • VMware社がリリースしているホスト型仮想化ソフトです。
    VMware社の製品はITの仮想化市場において世界一のシェアを誇っています。
    有償版と無償版がありますが、無償版では多くの機能が制限されています。(スナップショットも無償版では使用不可)

  • VMware ESXi
  • VMWare社がリリースしているハイパーバイザー型の仮想化ソフトです。
    多くの現場で使われている製品です。これもWorkStation Playerと同様に有償版と無償版が存在しています。

  • Oracle VM VirtualBox
  • Oracle社がリリースしているホスト型仮想化ソフトです。VirtualBoxと呼ばれることが殆どです。
    VirtualBoxはフリーソフトでありながら、スナップショット機能も使用可能です。

4.使い方

今回はVirtualBoxについて書きます。
  1. 1.VirtualBoxをダウンロードします。
  2. URL:https://www.oracle.com/virtualization/technologies/vm/downloads/virtualbox-downloads.html
    Windowsをお使いの方は、「 Windows Installer」をクリックすればOKです。
  3. VirtualBoxをインストールします。
  4. VirtualBoxを起動し、仮想マシンを新規作成します。
  5. お好きなOSのISOを用意し、仮想マシンにインストールします。
  6. 起動します
  7. (゚д゚)ウマー
  8. みなさんお気づきかもしれませんが、私はそろそろ書くのに飽きてきています。
    ちゃんとした使い方は、また今度別の記事で書こうかと思います。