web-dev-qa-db-ja.com

仮想マシンのベストプラクティス、RAWとQCOW2

Tl/Dr:OS SSDクラッシュ後のVMの再構築。ベストプラクティスのヒントを探して、不足しているものがないかどうかを確認し、RAWとQCOW2にパフォーマンスの違いがあるかどうか、同じコマンドでセットアップできるか、セットアップに別のコマンドが必要かどうかを確認します。私はLinuxが苦手なので、推奨事項を解読するのにかなり時間がかかります。

みなさん、こんにちは。私はUbuntuサーバーを非常に環境に優しいユーザーです。数年使った後でも、忘れてはいけないセットです。 OSに使用されている故障したOS SSDからサーバーがクラッシュしましたが、バックアップすることはありませんでした。システムを再び稼働させていますが、仮想マシンのバックアップを設定しようとしています。以前は14.04 LTSでしたが、現在は18.04 LTSです。以下のコードは、基本的にVMをスピンアップするために使用するもので、非常にうまく機能しました。ベストプラクティスがこれに当てはまる限り、私が不足しているものがあるかどうかを確認しています。

コンソールアクセスを追加する必要があります。SSDが再起動後に起動せず、制御不能になったVMで開始されたためです。 VMは「開始」してping可能ですが、SSH接続を拒否するため、完全に開始することはできません。私はまだコンソールのセットアップ方法を学ぶ必要があり、今週はそれで作業する予定ですが、ここで見落としているものが他にあるかどうか疑問に思っています。

Sudo ubuntu-vm-builder kvm xenial \
 --dest /mnt/Chaos.raw \
 --hostname Chaos \
 --Arch AMD64 \
 --mem 4096 \
 --cpus 4 \
 --user admin \
 --pass password \
 --bridge br0 \
 --ip 172.16.5.21 \
 --mask 255.255.255.0 \
 --net 172.16.5.0 \
 --bcast 172.16.5.255 \
 --gw 172.16.5.1 \
 --dns 172.16.5.2 \
 --components main,universe \
 --addpkg acpid \
 --addpkg openssh-server \
 --addpkg nfs-common \
 --addpkg linux-image-generic \
 --addpkg postfix \
 --addpkg mailutils \
 --addpkg libsasl2-2 \
 --addpkg ca-certificates \
 --addpkg libsasl2-modules \
 --addpkg htop \
 --rootsize=100000 \
 --libvirt qemu:///system ;

Redditで、QCOW2の代わりにRAWを使用すると、VMが高速になり、パフォーマンスが向上することが提案されました。私はそれについてフィードバックを得たいと思いました。以下に示すように、仮想マシンを作成する別の方法を試してみましたが、うまくいきましたが、私の人生ではそれを使用する方法を理解することはできません。どうやって接続するのかわからず、セットアップ時にネットワーク情報を設定する方法もわかりません。 MANPAGE でいくつかの方法を試しましたが、エラー。

virt-install \
--connect qemu:///system \
--name Chaos \
--memory 4096 \
--vcpus cpuset=1-4 \
--disk=path=/mnt/Chaos/Chaos.raw,size=100,bus=virtio,format=raw,cache=none \
--os-variant ubuntu16.04 \
--location http://us.archive.ubuntu.com/ubuntu/dists/xenial/main/installer-AMD64/ \
--network bridge=virbr0,model=virtio, \
--virt-type kvm \
--hvm \
2
Ziggidy

いくつかの質問を組み合わせたので、1つずつ答えてみましょう。ゲストは、後者のコマンドでデフォルトのネットワークとdhcpを使用します。インストール時にユーザーを設定したと仮定します。接続方法を知る最も簡単な方法は、virsh domifaddrのようなものです:

$ virsh domifaddr xenial-kvm
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet0      52:54:00:fe:2c:1f    ipv4         192.168.122.232/24

注:私は個人的にはずっと賢い人を好みます(インストールはしませんが、クラウドイメージを使用します)uvtool-libvirt-参照してください info 興味がある場合


次に、古き良きrawqcow2の議論について。私は数年間KVMパフォーマンスを実行しました-違いはありますか?しかし、答えはそれほど簡単ではありません。 qcow2のかなりの機能と引き換えに(スパース割り当て、スナップショットなど)。

そして、パフォーマンスが本当に心配な場合は、rawは使用したいものではありません-少なくともパーティションを解放するか、より良いフルデバイスと pass (type = 'block' device = 'disk '、driver type =' raw 'は.raw type =' file 'とは異なります)そのデバイスはゲストに対して-これはホストスタックの多くをスキップし、通常は非常に多くなるゲストのデバイス特性の検出を可能にしますもっと早く。

あなたの設定に応じて、その考えをさらに回すことができます、私見はやや(通常の設定のための最良の解決策の1つですそれを無視してください)現時点で速度を最適化するには、ゲストにPCIパススルーする追加のPCIe nvmeコントローラーがありますが、そうするにはハードウェアが必要です。

したがって、IMHOという質問は"raw file vs qcow2 file"ではなく、"qcow2 for features, or some pass-through for speed"-raw filesの中間にあり、上記のトレードオフの決定のいずれかに役立つことはめったにありません。

5