web-dev-qa-db-ja.com

小さなLinux仮想サーバーに最適なセットアップは何ですか?

私は自分のメールサーバーを持っており、それは数十人のユーザーにサービスを提供しています。今すぐ交換する必要があります。交換は、ハイパーバイザーの下で実行される仮想サーバーイメージにする必要があります。

新しいサーバーシステムの私の計画には、次のものが含まれます。

  • 無料のオープンソースソフトウェアのみを実行します。

  • 電子メールサーバー、HTTPサーバー、SSHサーバーの少なくとも3つの仮想イメージを実行します。 Webメールシステム( SquirrelMail など)を実行する予定です。

  • ハイパーバイザーOSはDebianStableになります(現在、Debian 5.0 "lenny"です)。ゲストOSもDebianStableになります。

  • ミラーリング(RAID 1)構成で2台のハードドライブを使用するソフトウェアRAID。

古いサーバーでハードウェア障害が発生するのではないかと心配しているため、ハイパーバイザーと電子メールゲストイメージをできるだけ早く起動して実行する必要があります。 (1日に約3回再起動しています!)

これは、将来に向けて物事を正しく設定するための私の絶好の機会です。完璧なセットアップは何ですか?システムをどのように構成する必要がありますか?

私の主な質問:

  • [〜#〜] kvm [〜#〜] を使用する必要がありますか? Xen を使用する予定でしたが、他のServerFaultの質問で、将来の最良の選択としてKVMを推奨する人がいます。安定した信頼できるものが必要です。今、私はそれを迅速に動作させる必要があります... Xenがより安定している場合、またはKVMが難しい​​場合は、今のところXenを使用できます(DebianはすぐにXenのサポートを終了しません) !)

  • ハイパーバイザーで [〜#〜] lvm [〜#〜] を使用する必要がありますか、それとも省略しますか?私は物事をできるだけ単純にすることを好む傾向があり、LVMはそれが複雑さの別の全体の層を追加するように思われます。しかし一方で、今では安定して成熟していると思います。仮想サーバーイメージのニーズが変化した場合、柔軟性はおそらく価値があります。

  • KVM/Xenの管理に使用できるGUIまたはWebベースのツールはありますか?私の現在の電子メールサーバーにはX11さえありません。 SSH経由でのみ管理します。

  • その他のアドバイスやヒントはありがたく受け入れられます。

私のハードウェアについて知りたい場合は、ここに重要な基本事項があります。

  • AMD BE-2300チップ(デュアルコア; AMD-V仮想化命令をサポートします)

  • 4 GB RAM

  • 2つの同一の250GBSeagateハードドライブ

6
steveha

私の古いサーバーはついに死にました。私は急いで新しいサーバーを立ち上げなければなりませんでした。

そこで、元のプランAを進め、Xenを使用しました。

これが私の設定です。それが「完璧」かどうかはわかりませんが、これが私が理解したことです。

サーバーには、次のようにパーティション化された2つの同一のハードディスクがあります。

  • パーティション1:0.5 GB/boot
  • パーティション2:4 GB LinuxソフトウェアRAID(/ dev/md0になります)
  • パーティション3:232 GB LinuxソフトウェアRAID(/ dev/md1になります)
  • パーティション5:2 GB /レスキュー

/ dev/md1デバイスは、LinuxLVMパーティションとしてフォーマットされます。

GRUBは、プレーンなext3パーティションである/ bootにインストールされます。

Dom0システムは/ dev/md0にインストールされます。これは、プレーンなext3パーティションでもあります。

「レスキュー」システムはパーティション5にインストールされており、これもプレーンなext3パーティションです。これは完全に起動可能なDebianであり、実際、私が最初にインストールしたものでした。そのシステムから残りのディスクをインストールしました。

両方のディスクにGRUBがインストールされており、「レスキュー」システムがあります。緊急時には、問題を解決するために、2つのディスクのいずれかから何らかのLinuxシステムを起動できるはずです。サーバーを再び稼働させます。

最初は、「virt-manager」など、Xen用の「libvirt」ツールを使用しようとしました。私の経験に基づくと、「libvirt」はDebian 5.0 Lennyで中途半端なものであり、お勧めしません。

次に、古いツールである「xen-tools」に目を向けました。特に、「xen-create-image」。私のユーザーは全員、mboxの設定(メールフォルダごとに1つのファイル)ではなく、Maildirの設定(メールごとに1つのファイル)を使用しているため、ReiserFSを使用しようとしました。 xen-create-imageはイメージを問題なく作成しましたが、起動しませんでした。 XFSを使用することにしましたが、それでうまくいきました。

(XFSが多数の小さなファイルのセットアップでext3よりもはるかに優れているかどうかは実際にはわかりませんが、前述したように、古いサーバーが停止した後、これらすべてを急いで行いました。)

XenイメージにLVMを使用することにした2つの主な理由:

  • パフォーマンス。ファイルシステム上のファイル内の画像と比較して、画像がLVM上にある場合にXenのパフォーマンスが向上すると述べているWebページがいくつか見つかりました。

  • サイズ変更のしやすさ。私は小さなイメージで仮想マシンを起動していますが、必要に応じてそれらを拡張できます。

新しいサーバーのBIOSには、起動中にF8キーを押してから、起動デバイスを選択できる機能があります。これを使用して、2台のハードディスクのいずれかからGRUBで起動できることをテストしました。

私の古いサーバーにはX11さえインストールされていませんでした。私は、virt-managerのようなクールなGUIツールを使用できることを期待して、新しいサーバーにGNOMEデスクトップをインストールすることにしました。最近のGNOMEインストールでは4GBはそれほど大きくないことがわかりました。すべてが収まりますが、空き容量はあまりありません。最初からやり直す場合は、/ dev/md0のDom0OSに10GBを割り当てます。本当にスペースが足りなくなったら、おそらく/ usr/binをLVMで作成された新しいボリュームに移動できます。

Dom0はRAIDボリュームにインストールされますが、LVMにはインストールされません。 LVMからの起動が困難なカーネルについてのコメントをいくつか読んだので、物事を単純にしました。

ハードディスクの最後に小さな「レスキュー」システムを配置することを強くお勧めします。次に、そのシステムをメインシステムにマウントしないでください。そうすれば、凶暴なプロセス(rm -rf /など)がシステムを壊すことができなくなります。動作中のシステムを起動し、損傷したシステムでボリュームをマウントしてから何かを修正することで簡単に解決できる問題はたくさんあります。

答えてくれた皆さん、ありがとうございました。

2
steveha

正直なところ、仮想化テクノロジーを使用することでどのようなメリットが得られるかわかりません。

  • まだ1台のサーバーを使用しているため、ハードウェアの使用量が減ることはありません。
  • このサーバーは1つしかないため、仮想マシンを(おそらく実行中でも)移行できるという考えられるメリットは当てはまりません。
  • 美徳を保つために必要な仕事の量。ハイパーバイザーとすべてのイメージの基本管理を行う必要があるため、実行中のサーバーは実際に増加しますが、一般的なタスクを自動化して多くを得るのに十分なマシンがありません。また、注意が必要な追加レイヤーとしてスーパーバイザーがあります。
  • 一方、異なるマシンでWebサービスとメールサービスを使用するメリットは、ユーザーベースが非常に小さいため非常に小さく、論理的に分離されている場合でも、安全で健全な状態に保つために同じ程度の注意が必要です。

私の意見では、仮想化はどこにでも適合するわけではないクールな手法であり、誰もがそうするという理由だけで仮想化することは良い考えではありません(繰り返しますが、私の意見では)。

12
Sven

ホストVMとゲストVMの両方で同じOS、Linuxを実行しているので、 ユーザーモードLinux または OpenVZ から選択することをお勧めします。

UMLは、ユーザーモードプロセスとして起動できる修正されたLinuxカーネルとして誕生しました。これは、ホスティング会社や、単一のサーバー上で多数のVMをエミュレートする必要がある人々によって広く使用されています。 OpenVZは、よりエンタープライズなバックグラウンドから来ており、Solarisコンテナ化をモデルにしています。アイデアは、システムをパーティション分割し、システムの他の部分に影響を与えないコンテナーにソフトウェアをインストールできるということです。ソフトウェアを削除するには、コンテナを削除するだけです。

決定する前に、2つのWebサイトを確認してください。 OpenVZの方が適しているように思われますが、多くは将来の計画によって異なります。つまり、将来の作業に使用できる可能性のあるものを選択するのが最善です。

UMLとOpenVZはどちらも、XENやKVMとはまったく異なります。一言で言えば、XENとKVMは、x86ハードウェアでサポートされている任意のオペレーティングシステムの実行を可能にする本格的な仮想化ハイパーバイザーですが、UMLとOpenVZは、chrootjailの概念の拡張です。さまざまなLinuxプロセスの分離。Linuxのみを使用する場合は、XENとKVMの複雑さを回避するのが最善です。

したがって、OpenVZとUMLはLinuxシステムの機能を拡張しますが、XENまたはKVMを使用すると、MS-Windows、FreeBSD、OpenSolarisなどを実行する非Linuxシステムに変えることができます。

XENを実行する場合は、OpenSUSE11などのXENを完全にサポートするディストリビューションを実行する必要があります。

5
Michael Dillon

KVM管理者 virt - manager 、接続 qemu over ssh )で前向きな経験をしました。 。セットアップ、構成、変更、破棄、およびゲストOSでのオールラウンドプレイは非常に簡単です。このオプションはXenでも機能するため、どちらのハイパーバイザーでも同じコマンドを使用できます。

1
nedm

Centosを使用したことを除いて、私は同様のことをしました。

攻撃者がパスワードを再利用して他のホストにアクセスすることについての他のコメントは、心配する必要があります。私の答え:sshキーのみを使用し、sshクライアントからのsshキーの転送を許可しないようにしてください。 (これにより、ログインしたホスト上の敵対的なrootユーザーが、セッションキーを再利用して、別のホストに接続できるようになります)また、ボックスごとに異なるrootパスワードがある場合は、CLIプロンプトまたは配色を設定することを検討する必要があります。別のホストのrootパスワードを誤って入力しないように、現在のホストを通知するホスト。

4Gbはあなたが話しているホストの数には十分な量ですが、その他の用途のために追加のホストをセットアップするのはとても簡単なので、すぐにその制限にぶつかるでしょう。

1
Trevor Harrison

以前はdebian安定版を使用して独自にkvmを実行していましたが、しばらくしてproxmox-ve(Web管理)の使用に切り替えました。私は自分でそれをすることをたくさん学びましたが、私は怠惰になりました。 proxmox-veの良いところは、802.1q vlanなどでkvmとopenvzの両方を同時に使用できることです(残念ながら、kvmトークのvlanは802.1qとは異なります)。 2つ(openvzとkvm)の最大の違いは、kvmは独自のカーネルを使用するため、パフォーマンスが低下することです。また、kvmが機能するには、ハードウェアvirtが必要です。

0
mthode