質問: ### 前提 ■サーバー構築の大まかな全体像、手順が知りたい。 ■Javaシステム開発半年程度。 ■近い将来はRuby(on Rails)で開発を行いたい。 ■受託開発メインでまずは独立をしたい。 Herokuではクライアントの負荷が大きいため サーバー構築の基本はしっかり抑えておく必要があり まずは全体像を把握しておきたい。 ■当方、経験がまだまだ浅く勘違いしている点、 大きく足りていない知識あるかと思いますが 宜しくお願い致します。 ■現在、自分が思い描いている サーバー構造をここに記載しますので 補足、アドバイス、修正すべき点など ありましたらご助力頂きたく思います。 第4階層:WEBサーバー、WEBアプリサーバー、言語、DBなど (ちょっとはしょってまとめて書きました。) 第3階層:OS windows Serverはお金がかかるのでCentOSを想定。 第2階層:仮想化ソフトウェア (VitualBox、VMware) ※1台のPCの中に仮想的にPCを何台か作成するために作成。 第1階層:ハードウェア(PC) ※中小規模の案件であれば1台で足りる。 ### 質問1 overさんの回答に現在の不明点を返答。 (他の方でも回答できるようでしたらお願いします。) --- 仮想化ソフトウェアでおすすめは何かありますでしょうか? 優先順位: 1.業務で使用できるレベルかどうか。 2.習得しやすいかどうか。有益な情報が豊富か。 (当方、英語はできません。) ### 質問2 (解決済) サーバーは以下のような種類があるようですが それは例えば1台のPC(A)に仮想的に5台作成(B,C,D,E,F)したとして MailサーバーはB、DNSサーバーはCというように 絶対にわけなえればいけないのでしょうか? 1つのシステムを開発する際に メールとシステムが連動している場合 一緒にはできないのかなと。 サーバー例 NTPサーバ DNSサーバ Mailサーバ 認証サーバ LDAPサーバ 監視サーバ ### 質問3 overさんの回答に現在の不明点を返答。 (他の方でも回答できるようでしたらお願いします。) --- 仮想化ソフトをいれるときは ディスクやUSBでいれると考えればよいのでしょうか? ### 質問4 overさんの回答に現在の不明点を返答。 (他の方でも回答できるようでしたらお願いします。) --- 一旦サーバー(A)をダウンさせたとして 再起動の際、どの仮想サーバーがディスプレイに映し出されるのでしょうか? まずはどれを起動するかという選択のようなものがでる?
回答: > > 仮想化ソフトウェアでおすすめは何かありますでしょうか? > > > 1.業務で使用できるレベルかどうか。 > > > 実装する"業務"によるので一概には言えませんが、 ハードウェアリソースを有効に活用するのであればHyper-Visor型のソフトウェアで実現することが望ましいと考えます。 VMware-ESXi、Windows Hyper-V、Linux Xen等が挙げられると思います。 1)VMwareESXi: 無償版あり、ただし機能制限あり(CPUコア数の制限、APIの無効化等) ユーザフレンドリなGUIを備えるが、仮想化を実装したサーバ以外に操作用の端末を用意する必要あり。 国内ナレッジはそこそこ。 ただし、本家は英語で、これを翻訳して日本公式サイトでナレッジを公開している。 翻訳に時間がかかる。 翻訳されていないものは覚悟して本家サイトに挑む必要あり。 国内で使用しているサイトも多く、一般サイトでも情報が豊富。 ただし、一般サイトは一般サイトなので、情報の精度について精査するリテラシが必要。 2)Windows Hyper-V 有償、ユーザフレンドリなGUIを備える。 ナレッジもそこそこ。 VMwareと同じく本家は英語。翻訳されていないものは...(以下省略) Windowsはブラックボックスが多く、バグを仕様と宣う傾向あり。 私見ですが、WindowsOS上にHyper-Visorとして稼働している割に軽快な動作を見せます。 これと言って致命的な不具合もないため、私は好きです。 3)Xen Server 選択するディストリビューションによるが、無償で構築可能。 コマンドライン管理になるため、それなりのLinux、Xenのリテラシが求められる。 それなりに情報はあるがナレッジは期待しない方が良いかも。 > > サーバーは以下のような種類があるようですが > > それは例えば1台のPC(A)に仮想的に5台作成(B,C,D,E,F)したとして > > MailサーバーはB、DNSサーバーはCというように > > 絶対にわけなえればいけないのでしょうか? > > > 配置するネットワーク、稼働に要するハードウェアリソース等で決定すべきと考えています。 例えば、 DMZ側に配置すべきサーバ(外部公開DNS、外部公開メール、外部公開Web)等は一緒にできると思います。 ただし、外部公開Webについては公開するサービス負荷を考慮し分割可否を検討すべきと考えます。 NTPサーバは負荷がそれほどないので、いずれかのサーバに抱き合わせで問題ないと思います。 認証サーバは機能を指すワードでサービスを指しているわけではないので、分割可否は答えられません。 LDAPも使用用途、レコード数、使用頻度について検討して分割可否を検討します。 監視サーバは、各サービスを監視するものなので、他仮想ゲストとは分割すべきと考えます。 抱き合わせにしてしまうと、サービスが落ちた場合道連れになってしまう可能性があり、監視の役割を果たさなくなってしまいます。 可能であれば別ハードが望ましいです。 > > 仮想化ソフトをいれるときは > > ディスクやUSBでいれると考えればよいのでしょうか? > > > 以下のように選択したソフトウェアに依存します。 1)VMware ESXi インストールバイナリを格納した媒体でインストールします。 2)Hyper-V OSインストール後の「機能の追加」からインストールします。 3)Xen OSインストール後のパッケージ追加でインストールします。 > > 一旦サーバー(A)をダウンさせたとして > > 再起動の際、どの仮想サーバーがディスプレイに映し出されるのでしょうか? > > > 仮想サーバがディスプレイに表示されるようなことはありません。 以下のように選択したソフトウェアに依存します。 1)VMware ESXi VMware 専用のOS画面が表示されます。 本画面では仮想ゲストの操作は基本的に行えず、操作端末にインストールしたvSphere Clientから仮想ゲストを操作します。 2)Hyper-V 仮想ホストのWindowsOSが起動し、ログイン画面が表示されます。 Hyper-V管理ツールを起動して、仮想ゲストを操作します。 3)Xen 仮想ホストのLinux OSが起動され、ログインプロンプトが表示されます。 CLIで仮想ゲストを操作します。