GNU/Linux >> Linux の 問題 >  >> Linux

KVMサーバーを高速にセットアップする方法

これは、KVM(Linuxカーネル仮想マシンハイパーバイザー)サーバーを起動して実行する方法に関する非常に短いクイックセットアップです。

なぜKVMなのか

KVMは、VmWare ESX、MicrosoftのHyper-V、XENと同様に、ハイパーバイザーです。 KVMの(いつものように)素晴らしい点は、Linuxの一部であり、無料であることを意味し、パフォーマンスが優れていることです。スタンドアロンのハイパーバイザーとして本番環境で使用することは優れた選択肢であり、ホストサーバーのフットプリントが低く(パフォーマンスのニーズとディスクの点で)、virt-managerなどの他のツールを使用して簡単に管理できます。

前提条件

このクイックチュートリアルでは、次のことを前提としています。
  • 少なくとも1人の仮想マシンゲストでKVMサーバーを実行したい
  • KVMサーバーはネットワーク内のIPアドレスを取得します
  • 仮想マシンはネットワークからIPアドレスを取得するため、ナッティングの代わりにブリッジを使用できます(ブリッジの代わりにNATを使用するのは簡単な作業ですが、この方法の一部ではありません)。
  • KVMマスターでのディスクスペース割り当てにlvmを使用できます(イメージファイルなどの他のディスクスペース割り当て方法を使用することも簡単ですが、このハウツーの一部ではありません)–実行する前にこれをインストールする必要があることに注意してください以下、サーバーにまだインストールされていない場合。
  • Ubuntu10.04以降を使用しています。ネットワーク接続とssh経由のアクセスを備えた最新のUbuntuサーバーである必要があります。

謝辞

これは改訂が必要な短いガイドであり、まもなく実行されますが、現在の状態では、主にwww.screenage.deから卸売りされているため、元の作者であるccmに大きな小道具があります。読みやすくするために若干の修正が行われました。

ネットワークを稼働させます

ブリッジネットワークの場合は、ブリッジユーティリティをインストールし、ネットワーク構成を変更する必要があります。最初にパッケージをインストールします:
$ sudo apt-get install bridge-utils
次に、「br0」という名前のブリッジを追加します(これは1回だけ実行されています):
$ sudo brctl addbr br0
次に、/ etc / network / interfacesを変更して、ブリッジbr0を使用するようにします。この手順では、実際にはeth0ではなくbr0を設定します。 eth0は、仮想ブリッジインターフェイスに追加された単なる物理トランスポートと考えてください。
# The loopback network interface
auto lo
iface lo inet loopback
 
auto eth0
iface eth0 inet manual
 
auto br0
iface br0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

上記のように、「eth0」を「ifaceeth0inetmanual」に設定することを忘れないでください。これは、eth0がdhcpを介してアドレスをフェッチするのを防ぎながら、物理層であるためブリッジにアドレスを残したい場合に必要です。ブリッジをセットアップした後、ネットワークを再起動します( sudo /etc/init.d/networking restart )またはサーバーを再起動します。すでにsshでサーバーにアクセスしている場合は、設定を誤るとロックアウトされる可能性があることに注意してください。

KVMをインストールする

次に、kvmといくつかの便利なヘルパーアプリケーションをインストールします。
$ sudo apt-get install qemu-kvm ubuntu-vm-builder uml-utilities \
  virtinst

これですべてです。すでにkvmサーバーがあります。時間…

最初の仮想マシンをインストールします

ゲスト用に100Gbの論理ボリュームをセットアップし、Ubuntuをダウンロードして、2GbのRAMと4つのコアを備えたマシンを作成します。

# create an empty 100Gb logical volume
sudo lvcreate --size 100G vg0 --name guest1
# download Ubuntu iso (or use one you already have)
$ wget http://..../
# create machine
$ sudo virt-install --connect qemu:///system -n guest1 -r 2048 \
 --vcpus=4 -f /dev/mapper/guest1 --network=bridge:br0 \
 --vnc --accelerate -v -c ./SOMEUBUNTUISO.iso \
 --os-type=linux --os-variant=ubuntuKarmic --noautoconsole
# please note: "ubuntuKarmic" is currently the most recent
# virt-install defaults scheme - just use this if in doubt.

VNC接続を取得する

KVMはVNCを使用して、マシンへのグラフィカルインターフェイスを提供します。これの良いところは、グラフィカルインストーラー(そしてもちろん、Windowsでも)を問題なく使用できることです。最初はUbuntuサーバーでさえグラフィカルモードで起動するので、ここでVNCを使用するのは素晴らしいことです。

リモートサーバーで作業していると思います。 KVMは、すべてのゲストに、新しい増分ポートを使用して新しいvncインスタンスを起動するように提供します。 5900から始まります。それでは、ssh経由でトンネリングしましょう:

ssh user@remotekvmhost -L 5900:localhost:5900

ssh経由でリモートkvmホストに接続し、sshトンネルフォートポート5900を開きます。次に、優先するVNCクライアントをローカルで起動し、ディスプレイ「0」またはポート5900に接続します。これは、VNCでも同じことを意味します(ええと…)。

これからは、VNCディスプレイにサーバーが表示されます。他のすべてのサーバーをインストールするのと同じようにインストールします。ネットワークはブリッジされているため、ネットワークで提供されている場合はdhcpを使用することもできます。

必ず、パッケージ「acpi」をkvmゲスト内にインストールしてください。インストールしないと、ゲストをマスターから停止できません(acpiを介して行われるため):

# make sure, "acpi" is installed in the *guest* machine
sudo apt-get install acpi

インストール後、次のコマンドを使用してkvmguesを管理できます。

# list running instances
$ virsh list
# start an instance
$ virsh start INSTANCENAME
# stop an instance politely
$ virsh stop INSTANCE
# immediatly destroy a running instance
$ virsh destroy INSTANCE
# edit the config file for an instance
$ virsh edit INSTANCE

LVMボリュームのマウント

お気づきかもしれませんが、仮想ゲストのlvmボリュームには独自のパーティションテーブルが含まれているため、マスターに直接マウントすることはできません。ただし、マスターからゲストのファイルシステムにアクセスする必要がある場合は、いくつかのデバイスノードを作成する必要があります。デバイスノードを作成および削除できる「kpartx」と呼ばれる優れたツールがあります。これと同じくらい簡単です:

# install kpartx
$ sudo install kpartx
# make sure, virtual gues is switched off!
# create device nodes
$ sudo kpartx -a /dev/mapper/guest1
# check /dev/mapper for new device nodes and mount/unmount them
# after you are done, delete the nodes
$ sudo kpartx -d /dev/mapper/guest1

この方法は、パーティションテーブルを含む画像ファイルなどの他のブロックデバイスでも機能することに注意してください。 lvmボリュームに独自のlvmが含まれている場合にのみ、問題が発生する可能性があります。その場合は、kpartxを使用した後、pvscan、vgscan、およびlvscanを試してみてください。勇気を持ってください。ただし、データのバックアップは常に優れたアイデアであることに注意してください。

代替管理インターフェース

管理のニーズに合わせてGUIが本当に必要な場合は、「virt-manager」を確認してください。これをデスクトップにインストールして、実行中のインスタンスをリモートで管理できます:

$ sudo install virt-manager

ただし、RedHatの「VirtualMachineManager」ページを確認する必要があります。より新しいバージョンを手動でコンパイルしてインストールし、セットアップのハウツーに依存することをお勧めします。個人的には、ここでプレーンテキストコンソールを使用することを好みます。これは、問題が発生したときにどこからでも非常に高速に動作できるようにするのに役立ち、もちろん、サーバーでX11を実行するオーバーヘッドがないためです。

結論

現在、KVMサーバーのセットアップはかなり簡単です。 KVM / libvirt対応のゲストは非常に高速であるため、仮想マシンをホストする場合でも、これは便利で簡単な方法です。私は2年間、約12台の仮想マシンと3台のハードウェアサーバーを問題なく実行しています。


Linux
  1. Debian11でRsyslogサーバーをセットアップする方法

  2. LinuxでパスワードなしのSSHを設定する方法

  3. LinuxでTomcatサーバーを起動するには?

  1. CentOSでSVNサーバーをセットアップする方法

  2. Debian9サーバーでSymfony4をセットアップする方法

  3. CentOSでNTPサーバーをセットアップする方法は?

  1. 完璧なセットアップ-SUSE9.2

  2. 完璧なセットアップ-SUSE9.3

  3. UbuntuサーバーでOpenVPNをセットアップする方法