Debianのvirt-commands-SMB向けのコンピュータネットワーキング

シリーズの一般的なインデックス: SME向けのコンピュータネットワーク:はじめに

この投稿のタイトルは、«で始まる一連のコンソールコマンドを指しています。virt- « これは特定の状況で役立ちます。 それぞれについて簡単に説明し、いくつかの使用例を示します。 繰り返しますが、各コマンドに付属するマニュアルを置き換えることはできません。 強くお勧めします 実行してそれらのページを確認してください 男virt-comando.

  • この記事の主な目的は、Linuxの仮想化が現在Qemu-KVMハイパーバイザーを使用していることを広く示し続けることです。 タイトルにはディストリビューションという名前を書いていますが«Debianの«、一般原則は、それぞれの特定のコマンドを介して他のディストリビューションに適用できます。 特に、パッケージの検索、説明、インストールなどに関連するもの.

読み続ける前に、 訪問をお勧めします 前の記事: Qemu-KVM + DebianのVirt-Manager-SME向けのコンピュータネットワーキング.

コマンドをいつ使用するのですか?

多くの場合、仮想化サポートサーバーをリモートで管理しています。 Qemu-KVM インストールされており、何らかの理由で、のグラフィカルインターフェイスがありません 仮想マシンマネージャー- ヴァートマネージャー:

  • 典型的なケース、Windowsステーションからリモートサーバーにアクセスする場合 PuTTY、またはその他の多くの 代替 SSH経由でDebianGNU / Linuxサーバーに接続するために存在し、後者には«のサポートがインストールされていません。X«、またはグラフィックサポート。
  • コンソールコマンドを使用して、ローカルサーバーまたはリモートサーバー上の仮想マシンを管理したいだけです。

libvirt-clientsとともにインストール

前の記事 パッケージをインストールします libvirt-置き場、およびプロセスの一部としてインストールされました libvirt-クライアント。 コンソールで実行する場合:

buzz @ sysadmin:〜$ sudo dpkg -L libvirt-clients | grep / bin
/ usr / bin
/ usr / bin / virsh
/ usr / bin / virt-ホスト-検証
/ usr / bin / virt-login-shell
/ usr / bin / virt-xml-検証する
/ usr / bin / virt-pki-検証する
  • おとなしい:virshプログラムは、ゲストドメインを完全に管理するためのメインユーザーインターフェイスです- ゲスト。 ドメインの一覧表示、作成、一時停止、およびシャットダウンに使用されます。 このコマンドは、次の権限で呼び出す必要があります ルート。 コマンドモードとインタラクティブモードのXNUMXつの方法で実行できます。 次の記事をvirshに捧げます.
  • virt-host-validate:ホスト構成の検証を可能にするツール- ライブ、セミライブ、オンデマンドビデオ 、すべてのHypervisorドライバーをサポートできるように- Hypervisor。 正しい結果を得るには、コマンドを次の権限で実行する必要があります。 ルート.
  • virt-login-shell:実行するコマンド shell に合わせてカスタマイズ 通常のユーザー コンテナ内 LXC、その名前はそれを呼び出すユーザーと同じです。 コンテナが実行されていない場合、コマンド virt-login-shell それを開始しようとします。 このコマンドは、ユーザー権限で呼び出すことはできません ルート。 このプログラムの非常に明示的な構成ファイルは /etc/libvirt/virt-login-shell.conf.
  • virt-xml-validate:からのXMLファイルを検証します libvirt それらを概略図と比較する- スキーマ 有効です。 実行すると、有効なスキーマ名のリストが表示されます manvirt-xml-検証.
  • virt-pki-validate:のPKIファイルが libvirt これらは、セキュアサーバー側と、TLS暗号化プロトコルを使用してサーバーにリモートアクセスするクライアントの両方で正しく構成されています。 TLSおよびSSLを介したリモート管理を有効にしている場合は、その実行が必要になります。 ドキュメントの第22.2章 仮想化展開および管理ガイドは、このソリューション専用です。 提案します 私たちのビジネスネットワークが使用すること SSHを介したリモート管理。これはビジネスLANの最も簡単で安全な方法であり、後の記事で取り上げます。.

virtisntでインストール

前回の記事では、パッケージもインストールしました virt-manager。 そのプロセスの一環として、パッケージがインストールされました 上品な。 後者に含まれるコマンドを知りたい場合は、以下を実行します。

byzz @ sysadmin:〜$ sudo dpkg -L virtinst | grep / bin
/ usr / bin
/ usr / bin / virt-変換
/ usr / bin / virt-image
/ usr / bin / virt-xml
/ usr / bin / virt-インストール
/ usr / bin / virt-クローン
  • 仮想変換-仮想マシン定義をフォーマットに変換するコマンド VMX y Ovf ネイティブlibvirt形式に XML。 VMX形式は通常、 ヴイエムウェア、OVF«オープン仮想化フォーマット»誰でも使用できます Hypervisor それをサポートします。
  • virt-image-XML形式の画像記述子ファイルから仮想マシンを作成します。 この特定のツールは、の将来のバージョンから削除されます 上品な、だから 提案しません その使用.
  • virt-xml:によって使用されるネイティブXMLファイルの編集を許可します libvirt、コマンドラインオプションを使用します。
  • virt-install:ハイパーバイザー管理ライブラリを使用するKVM、Xen、Linuxコンテナなどのハイパーバイザーで新しい仮想マシンを作成できるコマンドラインツール 「Libvirt」。 このツールは、たとえば、 VNC バーチャルネットワークコンピューティング、それとも スパイス。 また、コンソールモードまたはテキストモードも完全にサポートしています。 その使用により、XNUMXつ以上のハードドライブ、XNUMXつ以上のネットワークカード、サウンドデバイス、物理的なUSBまたはPCIデバイスなどを備えた仮想マシンを作成できます。 インストールメディアは、ローカル、リモート、ネイティブUNIX NFSネットワークファイルシステムプロトコル、HTTP、FTPを使用して公開できます。 等
  • 仮想クローン-ハイパーバイザー管理ライブラリを使用して既存の仮想マシンを複製するコマンドラインツール 「Libvirt」。 基本的に、仮想マシンのイメージをコピーして、新しいゲストを作成します- ゲスト 同一のハードウェア構成で。 ネットワークカードのハードウェアアドレスなど、一意である必要のあるハードウェアアイテムは、新旧の衝突やノイズを回避するために更新されます。 ゲスト.

virt-viewer

このツールは、次の場合にもインストールされます。 virt-manager. virt-viewer 別のパッケージです。

  • virt-viewer:ローカルに配置されているかリモートに配置されているかに関係なく、特定の仮想マシンのグラフィカルコンソールをVNCまたはSPICEを介して表示できます。 参照できます ゲスト 名前、ID、またはUUIDで表示したいもの。 仮想マシンが実行されていない場合、virt-viewerは仮想マシンが起動するのを待ちます。

別のパッケージからインストールできるその他の「virt-」コマンド

  • 美品-仮想化に関連するツールのコレクション。 «のプラグインが含まれていますミュンヘン«、およびVMwareWorkstationまたはVMwareServerで作成された仮想マシンをQemu-KVMで使用される形式に変換するスクリプト。
  • バートトップ:仮想化されたドメインの統計を表示します。 のようなもの top o htopの 仮想マシン用

qemu-utilsとともにインストール

これらのツールの名前はで始まりませんが ヴァート-確かに、特定の時間にそれらのいくつか、特に仮想マシンのディスクのイメージに関連するものを使用する必要があります。

インストール後に呼び出すことができます Qemu-Kvm仮想化プラットフォーム、前の記事で示したように。 パッケージが自由に使えるコマンドを知りたい場合 qemu-utils、実行する必要があります:

buzz @ sysadmin:〜$ sudo dpkg -L qemu-utils | grep / bin
/ usr / bin
/ usr / bin / qemu-img
/ usr / bin / qemu-nbd / usr / bin / qemu-io

で区別する代わりに / binに 私たちはそれをしただろう / sbin、私たちはあなたの考慮に任せる別の結果を得るでしょう。

  • qemu-img:機能していない、または機能しているディスクの画像を作成、変換、および/または変更することができます アウトオブライン.
    提案します コマンドを実行します 男qemu-img。 このコマンドを次の目的で使用してはならないことを強調するだけです。 画像を破壊する可能性があるため、仮想マシンまたはその他のプロセスで使用されている画像を変更する。 また、変更中の画像のデータを参照する必要もありません。その状態に矛盾が見つかる可能性があるためです。.

一部のコマンドの使用例

virt-host-validate

buzz @ sysadmin:〜$ virt-host-validate 
  QEMU:ハードウェア仮想化のチェック:PASS QEMU:デバイス/ dev / kvmのチェック:PASS QEMU:デバイス/ dev / vhost-netのチェック:警告(virtioネットワーキングのパフォーマンスを向上させるために「vhost_net」モジュールをロード)QEMU:のチェックdevice / dev / net / tun:PASS LXC:Linuxのチェック> = 2.6.26:PASS

buzz @ sysadmin:〜$ sudovirt-host-validate 
[sudo]バズのパスワード:QEMU:ハードウェア仮想化の確認:PASS QEMU:デバイス/ dev / kvmの確認:PASS QEMU:デバイス/ dev / vhost-netの確認:PASS QEMU:デバイス/ dev / net / tunの確認:PASS LXC:Linuxのチェック> = 2.6.26:PASS

virt-xml-validate

buzz @ sysadmin:〜$ sudovirt-xml- / etc / libvirt / qemu / dns.xmlを検証します 
/etc/libvirt/qemu/dns.xmlは検証します

buzz @ sysadmin:〜$ sudovirt-xml- / etc / libvirt / qemu / networks / default.xmlを検証します
/etc/libvirt/qemu/networks/default.xmlは検証します

qemu-img

buzz @ sysadmin:〜$ qemu-img check /tera/vmware/omicron/omicron.vmdk
画像にエラーは見つかりませんでした。

buzz @ sysadmin:〜$ qemu-img info /tera/vmware/omicron/omicron.vmdk
画像:/tera/vmware/omicron/omicron.vmdk
ファイル形式:vmdk仮想サイズ:20G(21474836480バイト)ディスクサイズ:3.6G cluster_size:65536形式固有の情報:cid:1473577509親cid:4294967295作成タイプ:monolithicSparseエクステント:[0]:仮想サイズ:21474836480ファイル名:/ tera / vmware / omicron / omicron.vmdkクラスターサイズ:65536形式:

buzz @ sysadmin:〜$ qemu-img info /tera/vms/omicron.raw 
画像:/tera/vms/omicron.raw
ファイル形式:生の仮想サイズ:20G(21474836480バイト)ディスクサイズ:3.4G

buzz @ sysadmin:〜$ qemu-img info /tera/vms/miweb.qcow2
画像:/tera/vms/miweb.qcow2
ファイル形式:qcow2仮想サイズ:10G(10737418240バイト)ディスクサイズ:4.5G cluster_size:65536形式固有の情報:互換性:1.1遅延参照数:false

buzz @ sysadmin:〜$ sudo qemu-img convert -p /tera/vms/omicron.raw -O qcow2 /tera/vms/omicron.qcow2
    (27.56 / 100%)

buzz @ sysadmin:〜$ qemu-img info /tera/vms/omicron.qcow2 
画像:/tera/vms/omicron.qcow2
ファイル形式:qcow2仮想サイズ:20G(21474836480バイト)ディスクサイズ:3.5G cluster_size:65536形式固有の情報:互換性:1.1遅延参照数:false
buzz @ sysadmin:〜$ sudo qemu-img create -f qcow2 /tera/vms/hyp2.qcow2 20G
'/tera/vms/hyp2.qcow2'のフォーマット、fmt = qcow2サイズ= 21474836480暗号化=オフcluster_size = 65536 lazy_refcounts =オフ 

バズ@sysadmin:〜$ sudo qemu-img info /tera/vms/hyp2.qcow2
画像:/tera/vms/hyp2.qcow2
ファイル形式:qcow2仮想サイズ:20G(21474836480バイト)ディスクサイズ:196K cluster_size:65536形式固有の情報:互換性:1.1遅延参照数:false

virt-xml

まず、新しいアルバムを作成します。

buzz @ sysadmin:〜$ sudo qemu-img create -f qcow2 /tera/vms/dns2.qcow2 10G

次に、それを既存の「dns」ドメインに参加させます。

buzz @ sysadmin:〜$ virt-xml --connect qemu:/// system dns --add-device --disk /tera/vms/dns2.qcow2 --confirm
---元のXML +++変更されたXML @@ -128,5 +128,10 @@  + + + + +

変更されたXMLで「dns」を定義しますか? (y / n):y
ドメイン「dns」が正常に定義されました。

記事の最後に、新しく変更された/etc/libvirt/qemu/dns.xmlファイルの完全な構造を示します。

仮想変換

を使用して作成された仮想マシンを変換してみましょう VMware Workstationの フォーマットに向けて libvirt、変換されたハードディスクのフォーマットが qcow2、また、新しい仮想マシンイメージがメインリポジトリに作成されること /テラ/ vms。 また、コマンドの出力をできるだけ明示的にしたいので、オプションを使用します -d.

バズ@sysadmin:〜$ sudo virt-convert -d / tera / vmware / miweb / --disk-format qcow2 --destination / tera / vms

その後、virt-viewerは新しく変換されたゲストに自動的に接続し、起動プロセス全体を確認できます。 美徳 miweb02

仮想クローン

仮想マシンのクローンを作成しましょう«DNS「:

バズ@sysadmin:〜$ virt-clone --connect qemu:/// system -o dns --auto-clone
'dns-clone.qcow2'の割り当て| 10 GB00:20「dns2-clone.qcow2」の割り当て| 10 GB 00:01     

クローン「dns-clone」が正常に作成されました.

コマンドを使用して確認します おとなしい、これは次の記事のプレビューです:

buzz @ sysadmin:〜$ sudovirshリスト
 ID名状態----------------------------------------------- -----

buzz @ sysadmin:〜$ sudo virsh list --all
 ID名の状態----------------------------------------------------------- -------- dnsシャットオフ--dns-cloneシャットオフ--miwebシャットオフ

buzz @ sysadmin:〜$ sudo virsh start dns-clone
ドメインdns-cloneが開始されました
buzz @ sysadmin:〜$ virt-viewer --connect qemu:///システムdns-clone

dns-クローン

virt-install

«という名前の仮想マシンを作成したいと思いますWordPress»のサイトをホストするには ビジネスイントラネット。 インターネットでは公開されません。 約1024メガバイトのRAM、80ギガバイトの動的成長のハードディスクを備えていること。これはDebian Jessieに基づいており、ネットワークに接続されています«デフォルト"

私たちの生活を楽にするために、私たちは最初にを使用してディスクイメージを作成します qemu-img:

buzz @ sysadmin:〜$ sudo qemu-img create -f qcow2 /tera/vms/wordpress.qcow2 80G
'/tera/vms/wordpress.qcow2'のフォーマット、fmt = qcow2サイズ= 85899345920暗号化=オフcluster_size = 65536 lazy_refcounts =オフ

次に、マシンを作成し、インストールプロセスを開始します。

バズ@sysadmin:〜$ sudo virt-install --connect qemu:/// system --virt-type = kvm \
--name wordpress --ram 1024 --vcpus = 1 \
--disk /tera/vms/wordpress.qcow2 \
--cdrom /home/buzz/isos/Linux/debian-8/debian-8.0.0-amd64-CD-1.iso \
--os-type linux --network network = default \
-説明wordpress.fromlinux.fan

ワードプレス

バートトップ

buzz @ sysadmin:〜$ virt-top --connect qemu:///システム
virt-top 15:39:21-x86_64 2 / 2CPU 1600MHz 3863MB 2ドメイン、2アクティブ、2実行中、0スリープ、0一時停止、0非アクティブD:0 O:0 X:0 CPU:0.7%Mem:768 MB(ゲストによる768MB)ID S RDRQ WRRQ RXBY TXBY%CPU%MEM TIME NAME 22 R 0 0 104 0 0.3 6.0:0 dns 11.49 R 21 0 0 104 0 0.3:13.0 miweb

dns.xmlファイルの構造

最初は、仮想マシンの定義ファイルの構造を理解するのが少し難しいように思われるかもしれません。 ゲスト、Qemu-KVMハイパーバイザーおよび関連ライブラリによって理解されるように libvirt。 ファイルは標準形式です。XML。 これは、メインブロック内に含まれる定義ブロックによって構造化されています«ドメイン"

...。

そのブロック内に私たちは見つけるでしょう 仮想マシン全体の定義:

  • チームの名前
  • チームのuuid
  • RAMの量
  • プロセッサの数
  • オペレーティングシステムのタイプとそのアーキテクチャ。 のデバイス ブート.
  • ACPI「自動制御電源インターフェース」、APM「自動電源管理」、PAEなどのサポートする機能。
  • CPUモデルとその特性
  • クロック設定:UTC「ユナイテッドタイムコーディネイト」かどうか。
  • シャットダウン、再起動、システムクラッシュなどのイベントへの応答
  • PMの「電源管理」で「メモリへの書き込みの一時停止」および「ハードディスクへの書き込みの一時停止」イベントが有効になっている場合
  • さまざまなデバイスのエミュレータタイプまたは KVMデバイス
  • すべてのハードドライブの場合:ドライバー、ディスクタイプ、イメージファイルパス、ターゲットデバイス、バスタイプ、スロット«スロット»仮想ディスクに応じて、接続先のPCIなど:IDE、SATA、SCSI、USB、またはVirtio。
  • CDRのような光学デバイス
  • USBコネクタの数とタイプ
  • IDEディスク用のpciスロット
  • 通信用シリアルコネクタ
  • プリンター用パラレルコネクター
  • 一意のMACアドレス、ネットワークカードの種類、接続先のpciスロット、および接続先の仮想ネットワークを持つネットワークカード
  • ptyシリーズコンソール
  • パッドなどの入力デバイス«タブレット"、マウスキーボード"マウス"など
  • ビデオカードとそのRAM、タイプ、モデル、スロット、バスなど。
  • と別の長いetcetera

要するに、Qemu-KVMハイパーバイザーと関連ライブラリによって必要でサポートされている定義とデバイスのLaMarOcéanaは、実際のマシンであるかのように完全に機能する仮想マシンを備えています。

バズ@sysadmin:〜$ sudo cat /etc/libvirt/qemu/dns.xml 
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE.  ITへの変更は、上書きされて失われる可能性があります。  このxml構成への変更は、virsh editdnsまたはlibvirtAPIを使用する他のアプリケーションを使用して行う必要があります。

今後の配達

  • Virshコマンド
  • SSHを使用したハイパーバイザーとその仮想マシンのリモート管理

これはによる一連の記事になることを忘れないでください 中小企業のためのコンピュータネットワーク。 お待ちしております!


記事の内容は、次の原則に準拠しています。 編集倫理。 エラーを報告するには、 ここで.

15コメント、あなたのコメントを残してください

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。

  1.   ディエゴ

    あなたは私にフィードバックを求めました、そしてここにそれは行きます...🙂

    シリーズは非常に興味深く、非常に完全です。 「実稼働中」はまだ試していませんが、そこから多くのことを学んでいます。

    今は忙しいプロジェクトを終えていますが、きっとこのシリーズを参考にしていきたいと思います。 多大な努力をありがとう。

    1.    フェデリコ

      フィードバックをありがとうディエゴ。 少なくとも、公開されているものがあなたにとって有用であることがわかりました。 そして、あなたは、スペイン語で高品質の記事を提供するためにDesdeLinuxで行っている多大な努力に正解です。 これらのタイプの投稿は豊富ではないことを私たちは知っているので、私たちはそれらを書きます。

  2.   ゾディアックカーブルス

    KVMで使用されるvirt- *コマンドを投稿で収集する包括的で教訓的な記事amigoFico。 このような資料をスペイン語で見つけることは非常に困難です。 私はvirt-whatコマンドが欠けていたと思います。 それ以外は優れています

    1.    FICO

      コメントありがとう、友人ゾディアック。 virt-whatコマンドが欠落していたのは事実です。 マニュアルによる使用の推奨が悪趣味だったので、意識的に省略しました。 結局、私が理解したのは、彼らはその使用を推奨していないということです

  3.   フェデリコ

    非常に真の干支の友人。 ディエゴが彼のコメントで述べているように、高品質の記事をスペイン語で提供するためにDesdeLinuxで行うことは多大な努力です。 WWWビレッジにたくさんある古典的なCDのコピーアンドペーストの投稿以外。 彼らがシステム管理者のトレーニングに役立つこと。 このシリーズを読んだ人は、私たちが中小規模のビジネスネットワークのソリューションを包括的かつ論理的な順序でカバーするつもりであることに気付くでしょう。 コメントありがとうございます。

  4.   クレポ88

    私はアンドロイドスマートフォンで何かをしていましたが、そのような良い記事を読む機会がありませんでした。今回はただ何かを言いたいだけです。 柔らかくなります。 よく理解しています...

  5.   フェデリコ

    Crespo88、記事は少し長いかもしれませんが、私はこのような特定のトピックをいくつかの投稿に分割するのが好きではありません。 コンテンツの相対的な複雑さ、私はそれを言いません、それは仮想化自体の問題です。 😉

    1.    クレポ88

      私はそれについて言及していませんでした、いつものように素晴らしい記事。 つまり、あなたは非常に優れた曲を演奏している、つまり非常に便利なユーティリティを使っているということです。 「Giveitsoft」はあなたが逃げていることを意味します。 抱擁の兄弟、Hehehe。

      1.    FICO

        コメントしてくれてありがとう兄弟

  6.   ペテルチェコ

    非常に良い投稿...教訓的で、完全で、単に完璧です。

    さて、このタイプの仮想化を使用することを好む人にとっては、oVirt(http://www.ovirt.org/)、RedHat仮想化とオープンソースが構築されているプロジェクト。 このようにして、コンソールでは非常に複雑な非常に高度なオプションに非常に簡単にアクセスできます:)。

    http://www.ovirt.org/download/
    http://www.ovirt.org/documentation/introduction/about-ovirt/

    乾杯:)。

  7.   フェデリコ

    Peterchecoさん、コメントありがとうございます。 前回の記事「Debianでの仮想化:はじめに」のOpen Virtualization Alliance専用の段落で、OVAが推進するソフトウェアの4つとしてoVirtについて言及しました。 oVirtは大規模な展開向けだと思います。 一方、彼は、推奨されるメモリ量として7ギガのRAMを備えた専用のワークステーションを要求しています。 私の友人で同僚のEduardoNoel "enoel.corebsd@gmail.com"は、CentOS XNUMXに基づくいくつかの仮想化サーバーをインストールし、oVirtでそれらをうまく管理しています。

  8.   デニス・カンティージョ

    優れた記事私のパートナー、あなたが持っている品質の別の例

  9.   フェデリコ

    友人のデニスにコメントをありがとう、そして私にふさわしくない賞賛を。 私たちはできることをします。

  10.   イスマエルアルバレスウォン

    ホームラボでvirt-commandsのテストを保留していますが、この記事は、私のプロファイルで本当にお気に入りの端末に焦点を当てているため、非常に実用的で非常に便利な記事であることを認識せざるを得ません。 sysadmin。
    「Virt-Manager」グラフィカルインターフェイスを使用せずに、VMのローカルまたはリモート管理に関連するすべての機能を備えています。
    もう一度私の友人のフィコ、あなたはLinuxの世界についてのあなたの知識を無私無欲に共有することによってあなた自身を拡大します。
    Wongの熱狂的なSLDと私は、VirtQemu-KVMシリーズをさらに熱心に研究し続けています。

    1.    フェデリコ

      Friend Wong:あなたのようなコメントは、私がSMEネットワークについて書き続けることを強いるコメントです。 多くの人がなぜQemu-KVMに重点を置いているのか疑問に思うかもしれませんが、その答えは私の記事にあります https://blog.desdelinux.net/virtualizacion-debian-introduccion-redes-computadoras-las-pymes/#Open_Virtualization_Alliance_OVA。 彼についてあまり oVirt、SMEネットワークよりも大きなシナリオに適していると私が考える、私はによって促進された他のプログラムを扱ってきました。 オヴァ。 その単純な

      エンタープライズレベルで仮想化する必要があるものがあるのに、搭乗する各ディストリビューションのプログラムリポジトリの外部を検索するのはなぜですか?

      コメントありがとうございます、友達のウォン!