シリーズの一般的なインデックス: 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に捧げます.
- 仮想ホスト検証:ホスト構成の検証を可能にするツール- ライブ、セミライブ、オンデマンドビデオ 、すべてのHypervisorドライバーをサポートできるように- Hypervisor。 正しい結果を得るには、コマンドを次の権限で実行する必要があります。 ルート.
- 仮想ログインシェル:実行するコマンド shell に合わせてカスタマイズ 通常のユーザー コンテナ内 LXC、その名前はそれを呼び出すユーザーと同じです。 コンテナが実行されていない場合、コマンド 仮想ログインシェル それを開始しようとします。 このコマンドは、ユーザー権限で呼び出すことはできません ルート。 このプログラムの非常に明示的な構成ファイルは /etc/libvirt/virt-login-shell.conf.
- virt-xml-検証:からのXMLファイルを検証します libvirt それらを概略図と比較する- スキーマ 有効です。 実行すると、有効なスキーマ名のリストが表示されます manvirt-xml-検証.
- virt-pki-検証:のPKIファイルが libvirt これらは、セキュアサーバー側と、TLS暗号化プロトコルを使用してサーバーにリモートアクセスするクライアントの両方で正しく構成されています。 TLSおよびSSLを介したリモート管理を有効にしている場合は、その実行が必要になります。 ドキュメントの第22.2章 仮想化展開および管理ガイドは、このソリューション専用です。 提案します 私たちのビジネスネットワークが使用すること SSHを介したリモート管理。これはビジネスLANの最も簡単で安全な方法であり、後の記事で取り上げます。.
virtisntでインストール
前回の記事では、パッケージもインストールしました 仮想マネージャー。 そのプロセスの一環として、パッケージがインストールされました 上品な。 後者に含まれるコマンドを知りたい場合は、以下を実行します。
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 それをサポートします。
- 仮想イメージ-XML形式の画像記述子ファイルから仮想マシンを作成します。 この特定のツールは、の将来のバージョンから削除されます 上品な、だから 提案しません その使用.
- virt-xml:によって使用されるネイティブXMLファイルの編集を許可します libvirt、コマンドラインオプションを使用します。
- 仮想インストール:ハイパーバイザー管理ライブラリを使用するKVM、Xen、Linuxコンテナなどのハイパーバイザーで新しい仮想マシンを作成できるコマンドラインツール 「Libvirt」。 このツールは、たとえば、 VNC バーチャルネットワークコンピューティング、それとも スパイス。 また、コンソールモードまたはテキストモードも完全にサポートしています。 その使用により、XNUMXつ以上のハードドライブ、XNUMXつ以上のネットワークカード、サウンドデバイス、物理的なUSBまたはPCIデバイスなどを備えた仮想マシンを作成できます。 インストールメディアは、ローカル、リモート、ネイティブUNIX NFSネットワークファイルシステムプロトコル、HTTP、FTPを使用して公開できます。 等
- 仮想クローン-ハイパーバイザー管理ライブラリを使用して既存の仮想マシンを複製するコマンドラインツール 「Libvirt」。 基本的に、仮想マシンのイメージをコピーして、新しいゲストを作成します- ゲスト 同一のハードウェア構成で。 ネットワークカードのハードウェアアドレスなど、一意である必要のあるハードウェアアイテムは、新旧の衝突やノイズを回避するために更新されます。 ゲスト.
仮想ビューア
このツールは、次の場合にもインストールされます。 仮想マネージャー. 仮想ビューア 別のパッケージです。
- 仮想ビューア:ローカルに配置されているかリモートに配置されているかに関係なく、特定の仮想マシンのグラフィカルコンソールを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。 このコマンドを次の目的で使用してはならないことを強調するだけです。 画像を破壊する可能性があるため、仮想マシンまたはその他のプロセスで使用されている画像を変更する。 また、変更中の画像のデータを参照する必要もありません。その状態に矛盾が見つかる可能性があるためです。.
一部のコマンドの使用例
仮想ホスト検証
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-検証
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は新しく変換されたゲストに自動的に接続し、起動プロセス全体を確認できます。
仮想クローン
仮想マシンのクローンを作成しましょう«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
仮想インストール
«という名前の仮想マシンを作成したいと思います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 \ -ディスク/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 \ --説明ワードプレス。desdelinux。ファン
バートトップ
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 <!-- 警告: これは自動生成されたファイルです。 ITへの変更は、上書きされて失われる可能性があります。 このxml構成への変更は、virsh editdnsまたはlibvirtAPIを使用する他のアプリケーションを使用して行う必要があります。
今後の配達
- Virshコマンド
- SSHを使用したハイパーバイザーとその仮想マシンのリモート管理
これはによる一連の記事になることを忘れないでください 中小企業のためのコンピュータネットワーク。 お待ちしております!
あなたは私にフィードバックを求めました、そしてここにそれは行きます...🙂
シリーズは非常に興味深く、非常に完全です。 「実稼働中」はまだ試していませんが、そこから多くのことを学んでいます。
今は忙しいプロジェクトを終えていますが、きっとこのシリーズを参考にしていきたいと思います。 多大な努力をありがとう。
ディエゴさん、フィードバックありがとうございます。少なくとも、私が公開した内容があなたにとって役立つことはわかっています。私たちが多大な努力を払っていることについては、あなたは正しいです DesdeLinux 質の高い記事をスペイン語でお届けします。私たちは、この種の投稿が豊富ではないことを承知しており、それが私たちがこのような投稿を書く理由です。
KVMで使用されるvirt- *コマンドを投稿で収集する包括的で教訓的な記事amigoFico。 このような資料をスペイン語で見つけることは非常に困難です。 私はvirt-whatコマンドが欠けていたと思います。 それ以外は優れています
コメントありがとう、友人ゾディアック。 virt-whatコマンドが欠落していたのは事実です。 マニュアルによる使用の推奨が悪趣味だったので、意識的に省略しました。 結局、私が理解したのは、彼らはその使用を推奨していないということです
まさに真の友人ゾディアック。ディエゴがコメントで述べているように、これは私たちが行っている素晴らしい努力です。 DesdeLinux スペイン語で質の高い記事をお届けします。 WWW ビレッジにたくさんある古典的なコピー アンド ペーストの CD 投稿以外にも。これは、システム管理者のトレーニングに役立ちます。このシリーズをご覧になっている方は、中小規模のビジネス ネットワーク向けのソリューションを論理的な順序で包括的に取り上げる予定であることに気づいたでしょう。皆さん、コメントをありがとうございました。
私はアンドロイドスマートフォンで何かをしていましたが、そのような良い記事を読む機会がありませんでした。今回はただ何かを言いたいだけです。 柔らかくなります。 よく理解しています...
Crespo88、記事は少し長いかもしれませんが、私はこのような特定のトピックをいくつかの投稿に分割するのが好きではありません。 コンテンツの相対的な複雑さ、私はそれを言いません、それは仮想化自体の問題です。 😉
私はそれについて言及していませんでした、いつものように素晴らしい記事。 つまり、あなたは非常に優れた曲を演奏している、つまり非常に便利なユーティリティを使っているということです。 「Giveitsoft」はあなたが逃げていることを意味します。 抱擁の兄弟、Hehehe。
コメントしてくれてありがとう兄弟
非常に良い投稿...教訓的で、完全で、単に完璧です。
さて、このタイプの仮想化を使用することを好む人にとっては、oVirt(http://www.ovirt.org/)、RedHat仮想化とオープンソースが構築されているプロジェクト。 このようにして、コンソールでは非常に複雑な非常に高度なオプションに非常に簡単にアクセスできます:)。
http://www.ovirt.org/download/
http://www.ovirt.org/documentation/introduction/about-ovirt/
乾杯:)。
Peterchecoさん、コメントありがとうございます。 前回の記事「Debianでの仮想化:はじめに」のOpen Virtualization Alliance専用の段落で、OVAが推進するソフトウェアの4つとしてoVirtについて言及しました。 oVirtは大規模な展開向けだと思います。 一方、彼は、推奨されるメモリ量として7ギガのRAMを備えた専用のワークステーションを要求しています。 私の友人で同僚のEduardoNoel "enoel.corebsd@gmail.com"は、CentOS XNUMXに基づくいくつかの仮想化サーバーをインストールし、oVirtでそれらをうまく管理しています。
優れた記事私のパートナー、あなたが持っている品質の別の例
友人のデニスにコメントをありがとう、そして私にふさわしくない賞賛を。 私たちはできることをします。
ホームラボでvirt-commandsのテストを保留していますが、この記事は、私のプロファイルで本当にお気に入りの端末に焦点を当てているため、非常に実用的で非常に便利な記事であることを認識せざるを得ません。 sysadmin。
「Virt-Manager」グラフィカルインターフェイスを使用せずに、VMのローカルまたはリモート管理に関連するすべての機能を備えています。
もう一度私の友人のフィコ、あなたはLinuxの世界についてのあなたの知識を無私無欲に共有することによってあなた自身を拡大します。
Wongの熱狂的なSLDと私は、VirtQemu-KVMシリーズをさらに熱心に研究し続けています。
Friend Wong:あなたのようなコメントは、私がSMEネットワークについて書き続けることを強いるコメントです。 多くの人がなぜQemu-KVMに重点を置いているのか疑問に思うかもしれませんが、その答えは私の記事にあります https://blog.desdelinux.net/virtualizacion-debian-introduccion-redes-computadoras-las-pymes/#Open_Virtualization_Alliance_OVA。 彼についてあまり oVirt、SMEネットワークよりも大きなシナリオに適していると私が考える、私はによって促進された他のプログラムを扱ってきました。 オヴァ。 その単純な
エンタープライズレベルで仮想化する必要があるものがあるのに、搭乗する各ディストリビューションのプログラムリポジトリの外部を検索するのはなぜですか?
コメントありがとうございます、友達のウォン!