1. KVM仮想マシンの移行方法と注意すべき点
1. コールドマイグレーション 通常、仮想マシン ディスクを保存するディレクトリは、nfs ファイル システムを持つディスクにマウントされ、このディスクは通常 LVM ファイル システムです。したがって、コールド移行が必要な場合は、ターゲット ホストに nfs ファイル システムをマウントするだけで、移行する仮想マシンのディスク ファイル (通常は .qcow2 または .raw で終わる) を確認できます。次に、仮想マシンの .xml 構成ファイルをターゲット サーバーに送信し、再定義します。移行された仮想マシンは、「virsh list --all」コマンドで確認できます。 2. ホットマイグレーション ソースホストと宛先ホストがストレージシステムを共有している場合は、クライアントの vCPU 実行状態、メモリ内容、仮想マシンデバイス状態をネットワーク経由で宛先ホストに送信するだけで済みます。それ以外の場合は、クライアントのディスク ストレージを宛先ホストに送信する必要があります。共有ストレージ システムとは、ソース仮想マシンとターゲット仮想マシンのイメージ ファイル ディレクトリが共有ストレージ上にあることを意味します。 共有ストレージ システムをベースとする場合、KVM 動的移行の具体的なプロセスは次のとおりです。 1. 移行が開始されると、クライアントはホスト上でまだ実行されており、同時に、クライアントのメモリ ページが宛先ホストに転送されます。 3. 移行に関する考慮事項 コールド移行でもホット移行でも、注意事項はほぼ同じです。
まとめ:
2. 動的移行
2. KVM仮想マシンのホットマイグレーション構成例 1. 環境整備:
既製の KVM 環境があるので、ここでは紹介しません。KVM 環境がない場合は、ブログ記事「KVM 仮想化の基本管理」を参照して設定してください (非常に簡単で、yum でいくつかのパッケージをインストールし、「libvirtd」サービスを開始するだけです。サーバーの再起動が必要になる場合があります)。 2. NFS共有ストレージを構成する NFS サーバー 192.168.20.4 は次のように構成されています。 [root@nfs ~]# yum -y install nfs-utils rpcbind #必要なソフトウェア パッケージをインストールします[root@localhost ~]# systemctl enable nfs #NFS が自動的に起動するように設定します[root@localhost ~]# systemctl enable rpcbind #rpcbind が自動的に起動するように設定します[root@nfs ~]# mkdir -p /nfsshare #共有するディレクトリを作成します[root@nfs ~]# vim /etc/exports #NFS 構成ファイルを編集します。デフォルトは空です/nfsshare *(rw,sync,no_root_squash) #最初の列は共有ディレクトリを表します。#2 番目の列のアスタリスクは、すべてのネットワーク アクセスが許可されていることを意味します。 #rw は読み取りおよび書き込み権限を表し、sync はディスクへの同期書き込みを表します。 #no_root_squashは、現在のクライアントがrootとしてアクセスするときにローカルルート権限を付与されることを意味します(デフォルトはroot_squashで、nfsnobodyユーザーとして扱われます)。no_root_squashが追加されると、 #権限がダウングレードされ、読み取りと書き込み (wr) が不可能になる可能性があります。 [root@nfs ~]# systemctl restart rpcbind #サービスを開始します[root@nfs ~]# systemctl restart nfs #サービスを開始します[root@nfs ~]# netstat -anpt | grep rpc #サービスが開始されたことを確認します[root@nfs ~]# showmount -e #このマシンの共有ディレクトリを表示しますnfs のエクスポート リスト: /nfsシェア* [root@nfs ~]# ファイアウォール-cmd --add-service=rpc-bind --permanent [root@nfs ~]# ファイアウォール-cmd --add-service=nfs --permanent [root@nfs ~]# ファイアウォール-cmd --add-service=mountd --permanent [root@nfs ~]# systemctl restart firewalld #設定を有効にするにはファイアウォールを再起動します NFS サーバーの構成が完了しました。 ! ! ここでの移行操作はデスクトップのグラフィカル環境に依存します。コマンド移行を使用する必要がある場合は、このドキュメントをダウンロードして参照できます。コマンド移行の使用については研究していません。 2 つの KVM サーバーは次のように構成されています (両方の KVM ホストも次のように構成する必要があります)。 1. rpcbind ソフトウェア パッケージをインストールし、rpcbind サービスを開始します。showmount クエリ ツールを使用するには、nfs-utils もインストールします。 [root@localhost ~]# yum -y nfs-utils rpcbindをインストールします [root@localhost ~]# systemctl rpcbind を有効にする [root@localhost ~]# systemctl rpcbind を開始します [root@kvm ~]# showmount -e 192.168.20.4 #NFS サーバーによって共有されているディレクトリを照会します 192.168.20.4 のエクスポート リスト: /nfsシェア* [root@kvm ~]# mount -t nfs 192.168.20.4:/nfsshare /kvm/disk/ #マウント [root@kvm ~]# df -hT /kvm/disk/ ファイルシステムの種類 容量 使用済み 使用可能 使用済み% マウントポイント 192.168.20.4:/nfsshare nfs4 50G 33M 50G 1% /kvm/disk # サーバーの 1 つにテスト ファイルを書き込んで、他のサーバーで表示できるかどうかを確認します [root@kvm1 ~]# touch /kvm/disk/test # kvm サーバーの 1 つにテスト ファイルを作成します [root@kvm2 ~]# ls /kvm/disk # テストが 2 番目の kvm サーバーのディレクトリでも表示されることを確認します この時点で、2 つの kvm サーバーが使用するディレクトリが同じディスクに保存されていることが保証されます (注: 2 つの kvm 仮想マシンの nfs ファイル システムをマウントするためのディレクトリ パスは一貫している必要があります。ここでは、両方の kvm 仮想マシンが /kvm/disk/ ディレクトリにマウントされています。そうでない場合、後続の操作でエラーが発生します)。 3. 2 つの KVM サーバーにストレージ ボリュームを作成します。 [root@kvm1 ~]# virt-manager #仮想マシンコンソールを開く 次のダイアログ ボックスでは、ターゲット パスは KVM マシンの「/kvm/disk」、ホスト名は nfs サーバーの IP アドレス、ソース パスは nfs サーバーによって共有されるディレクトリです。 上記の操作は 2 番目の KVM でも実行する必要があります。同じストレージ プール名を定義するのが最適です。不要なトラブルを避けるためです。 3. 移行テスト用にkvm1に新しい仮想マシンを作成する
Centos iso システム ファイルを自分でアップロードします。ここで、インストールする iso ファイルを指定する必要があります。 この時点で、仮想マシンを通常どおりインストールできます。 4. 新しく作成した仮想マシンネットワークをブリッジモードに設定し、外部ネットワークにpingを送信します。 以下の操作は主に、パブリック ネットワーク ユーザーにサービスを提供する際に仮想マシンのホット マイグレーションをシミュレートするためのものです。 1) kvm1 の動作は以下のとおりです。 [root@kvm ~]# systemctl stop NetworkManager #このサービスを停止します[root@kvm ~]# virsh iface-bridge ens33 br0 #このコマンドを実行すると、次のメッセージが表示されても心配はいりません。すでに存在しているためです。追加のデバイス br0 を使用してブリッジ ens33 を生成します。ブリッジ インターフェイス br0 の起動に失敗しました [root@kvm ~]# ls /etc/sysconfig/network-scripts/ | grep br0 ifcfg-br0 #このファイルが存在することを確認します[root@kvm ~]# virsh destroy centos7.0 #新しく作成された仮想マシンドメインを閉じます centos7.0 は削除されます[root@kvm ~]# virsh edit centos7.0 #仮想マシン構成ファイルを編集し、インターフェイスを見つけます <interface type='bridge'> #これをブリッジに変更します <mac address='52:54:00:a9:cc:5f'/> #Mac アドレス行を削除します <source bridge='br0'/> #これを次のように変更します #保存して終了します [root@kvm1 ~]# virsh start centos7.0 ドメインcentos7.0が開始しました 仮想マシンを起動したら、仮想マシンのネットワーク カード構成ファイルを設定します。デフォルトのネットワーク カード ファイルは ifcfg-eth0 です。 ネットワーク サービスを再起動し、IP アドレスを確認します。 これで、仮想マシン上で「ping www.baidu.com」コマンドを実行し、パブリック ネットワークに継続的に ping を実行できるようになります。 2) kvm2 の操作は次のとおりです。 [root@kvm ~]# systemctl stop NetworkManager #このサービスを停止します[root@kvm ~]# virsh iface-bridge ens33 br0 #このコマンドを実行すると、次のメッセージが表示されても心配はいりません。すでに存在しているためです。追加のデバイス br0 を使用してブリッジ ens33 を生成します。ブリッジ インターフェイス br0 の起動に失敗しました [root@kvm ~]# ls /etc/sysconfig/network-scripts/ | grep br0 ifcfg-br0 #このファイルが存在することを確認してください。#kvm2 には仮想マシンがないため、ネットワークをブリッジ モードに変更するだけで済みます。 #上記の構成は、仮想マシンがこのサーバーに移行された後にパブリックネットワークと通信できなくなるのを防ぐためのものです。 5. 新しく構築した Centos 7 のホットマイグレーションの準備を開始する 1) kvm1 サーバーで次の操作を実行します。 [root@kvm1 ~]# virt-manager #仮想マシンコンソールを開く 次のようにフォームに入力し、完了したら「接続」をクリックします。 次のソフトウェア パッケージをインストールするように求められます。 インストールするには: [root@kvm1 ~]# yum -y openssh-askpassをインストールします ポップアップ表示されるダイアログボックスに従って、「はい」と入力します。 ターゲットホストのルートパスワードを入力します。 6. ホットマイグレーションを開始する 移行は短時間で完了しますので、完了するまでお待ちください。 移行完了: 次に、ターゲットの kvm サーバーに移動し、新しく移行した仮想マシンを開きます (ping コマンドがまだ継続しており、中断されていないことがわかります)。 2 つの kvm サーバーで「virsh list --all」を使用して、仮想マシンが 2 番目の kvm サーバーに移行されたかどうかを確認できます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Vueストレージにはブール値のソリューションが含まれています
1. docker設定ファイルを変更し、ポート2375を開きます。 [root@s162 docke...
序文ビューは、データベース システム内で非常に便利なデータベース オブジェクトです。 MySQL 5...
説明する: Windows 10 に VM をインストールし、VM で Docker を実行し、Do...
Web ページを作成する過程では、<h1>、<h2>、<h3> ...
エディターは、Vue3のデータの関連する問題も共有します。次のような例を見てみましょう。 Vue.c...
最初にsudo suコマンドを使用して root アカウントに切り替えることをお勧めします。そうしな...
目次1. シグナルリスト1.1. リアルタイム信号と非リアルタイム信号1.2 信号ステータス1.3 ...
目次遅延読み込みCSS スタイル: HTML部分:スクリプト部分:要約する遅延読み込み名前の通り、私...
単方向リンク リストは、先頭から末尾、または末尾から先頭への方向のみを走査できます。そのため、単方向...
目次序文背景実施計画の考え方js ストレージ機能ソリューション設計やっと要約する序文どの SaaS ...
目次1. 分離レベルコミットされていない読み取りREAD COMMITED (コミット読み取り/非反...
結合の書き方左結合を使用する場合、左側のテーブルが必ず駆動テーブルになりますか? 2 つのテーブルの...
1. MyISAM ストレージエンジン欠点:トランザクションはサポートされていません最小粒度ロック:...
以下のように表示されます。 SELECT prod_name,prod_price FROM pro...
目次1. 配列の役割: 2. 配列の定義: 1. コンストラクタを通じて配列を作成する2. リテラル...