導入 現在、5 年間稼働している VMware の完全なセットを保有しています。サーバーが徐々に廃棄されるにつれて、すべての VMware 仮想ホストを OpenStack に移行することにしました。 OpenStack は Kolla を使用してデプロイされた Train バージョンの高可用性環境であり、Ceph は独立してデプロイされた Nautilus バージョンです。 現在、220 台を超える VMware 仮想マシン (Linux および Windows) を VMware ESXi から OpenStack に移行する必要があります。 VMware ホストに加えて、少数の Hyper-V 仮想ホストも移行する必要があります。この記事では、仮想マシンの移行に使用する手順とコマンドについて説明します。これらの手順とコマンドを使用すると、移行を自動化するスクリプトを簡単に作成できます。 この移行には V2V のみが含まれ、P2V は含まれません。 比較すると、libguestfs-tools と qemu-img convert の新しいバージョンは VMDK ファイルを適切に処理できるため (ツールの古いバージョンにはいくつか問題があります)、移行はより効率的です。移行プロセスにより、VMDK から VMDK (単一ファイル) への変換手順と VMDK から RAW への変換手順が不要になります。これらの手順を減らすことで、移行速度が 2 倍になります。 この記事で紹介したコマンドの中には非常に強力なものがあり、Ceph および OpenStack の設定やデータを破壊する可能性があるため、移行プロセス中に使用するコマンドには注意してください。したがって、関連するコマンドは注意して使用してください。 グローバルステップ
テクニカル指標 移行に使用されるインフラストラクチャの仕様は次のとおりです。
必要 Linux「移行サーバー」(Ubuntu 14.04/16.04/18.04、CentOS6/CentOS7、Redhat6/Redhat7、Fedora19-22 が使用可能)であり、次の要件を満たす必要があります。
私たちが使用したサーバーは、8 コアの Intel Xeon E3-1230 @ 3.3 GHz、64 GB RAM、8 台の 1 TB SSD で構成されており、1 時間あたり 500 GB を超えるデータを移行できました。ただし、これは実際にはインスタンスのディスク容量の使用量によって異なります。私の古い会社用ラップトップ (Core i5、8GB RAM、古い 4500rmp HDD) も動作しますが、パフォーマンスは明らかにひどいです。 移行前に次の要件を満たす必要があります。
ステップ 1. VirtIOドライバーを挿入する 1.1 Windows Server 2012 Windows Server 2012 および Windows 8.0 以降では、ドライバーは Windows によって保護されます。オフラインの Windows ディスクにドライバーを挿入するのは非常に困難です。 Windows Server 2012 は、デフォルトでは VirtIO ハード ディスクから起動できません。そこで、次の手順を実行して、VirtIO ドライバーを Windows にインストールしました。これらの手順は、テスト済みのすべての Windows バージョン (2008/2012/2016) で機能するはずです。
1.2 Linux (カーネル 2.6.25 以降) Linux カーネル 2.6.25 以降には、VirtIO ハードウェアのサポートが組み込まれています。したがって、VirtIO ドライバーを挿入する必要はありません。 VirtIO ハードウェアを使用して新しい KVM 仮想マシンを作成して起動します。 LVM パーティションが自動的にマウントされない場合は、次のコマンドを実行して修復します。
(再起動後、すべての LVM パーティションがマウントされ、Linux が正常に起動するはずです) 完了したら仮想マシンをシャットダウンします。 1.3 Linux (カーネル 2.6.25 以前) 一部の Linux ディストリビューションでは、古いカーネル バージョン用の VirtIO モジュールが提供されています。
古いカーネルの手順は次のとおりです。
1.4 Windows Server 2008 (および以前のバージョン)推奨されません 2012 より前のバージョンの Windows の場合は、次の手順に従ってドライバーを挿入することもできます。
レジストリ ファイル (VirtIO ストレージ情報のみを保持するため、mergeviostor.reg とも呼ばれます)。
これらの手順を実行すると、Windows は BSOD なしで VirtIO ディスクから起動するはずです。 Windows の起動時に、他のすべてのドライバー (ネットワーク、バルーンなど) も自動的にインストールされます。 参照: https://support.microsoft.com/en-us/kb/314082 (Windows XP 用に書かれていますが、Windows 2003 および 2008 でも使用できます)。 参照: http://libguestfs.org/virt-copy-in.1.html および http://libguestfs.org/virt-win-reg.1.html 2. パーティションを拡張する(オプション) 移行された一部の Windows サーバーでは、Windows パーティション上の使用可能なディスク領域が限られていました。新しい管理アプリケーションをインストールするための十分なスペースがありません。したがって、vmware-vdiskmanager ツールを使用してディスクのサイズを増やすことができます。その後、OS からパーティションを拡張する必要があります。次の手順で仮想マシンをカスタマイズするときにこれを実行できます。 3. 仮想マシンをカスタマイズする(オプション) OpenStack で実行できるようにオペレーティング システムを準備するには、一部のソフトウェア (VMware Tools やドライバーなど) をアンインストールし、パスワードを変更し、新しい管理ツールをインストールするなどする必要がある場合があります。スクリプトを作成することで、これを自動化できます。 virt-copy-in コマンドを使用して、スクリプトとファイルを仮想ディスクに挿入できるはずです。 3.1 Linuxでスクリプトを自動的に起動する 移行する必要のある Linux サーバーは少数であったため、Linux でスクリプトを手動で開始しました。そして簡単に自動化できます。 3.2 Windowsでスクリプトを自動的に起動する RunOnce メソッドはすべての Windows バージョンで機能するため、Windows の起動時にスクリプトを開始するように選択できます。レジストリ ファイルを挿入することで、スクリプトを RunOnce に組み込むことができます。 RunOnce スクリプトは、ユーザーがログオンしている場合にのみ実行されます。したがって、Windows 管理者のユーザー名、パスワード、および AutoAdminLogon も値「1」で挿入する必要があります。 Windows が起動すると、定義したユーザーで自動的にログインします。完了したら、必ず仮想マシンをシャットダウンしてください。 Windows に自動的にログオンし (ユーザー「Administrator」、パスワード「Password」を使用)、C:StartupWinScript.vbs を起動するサンプル レジストリ ファイル:
4. Glanceイメージを作成する 現在の OpenStack プラットフォームでは、ストレージとイメージのバックエンドとして Ceph を使用しています。クラウド ディスクではなくイメージから起動してクラウド ホストを作成する場合は、glance-api を介してイメージをアップロードする必要があります。 vMware 上のクラウド ホストのシステム ディスク データ サイズは約 200G です。大きな RAW イメージまたは qcow2 イメージをアップロードする場合は、glance-api を介してアップロードする必要があるため、アップロード速度が遅くなります。この場合、まず Ceph にアップロードしてから、Glance で作成することができます。 Ceph バックエンドへの接続は通常 10G 光ポートであるため、アップロード速度は非常に速くなります。 具体的な手順は次のとおりです。
5. シンダーボリュームを作成する インポートするディスクごとに、Cinder ボリュームを作成する必要があります。次のステップで Ceph ブロックデバイスを削除 (および ceph 直接インポートで再作成) するため、Cinder コマンドで指定するボリューム サイズは重要ではありません。 Cinder と Ceph 間のリンクを作成するために、Cinder ボリュームのみを作成します。 ただし、ボリュームはインポートする予定のディスクと同じサイズにする必要があります。これは、OpenStack 管理インターフェース (Horizon) を持つユーザーにとっては簡単です。 次のコマンドを使用して cinder ボリュームを作成します (サイズは GB 単位です。cinder type-list で使用可能なボリューム タイプを確認できます)。
次の手順で必要になるので、ボリューム ID をメモしておきます (次のコマンドを使用してボリューム ID を見つけることもできます)。
Cinder コマンド情報: http://docs.openstack.org/cli-reference/content/cinderclient_commands.html 6. VMDKをCephに変換する Cinder ボリュームが作成されると、VMDK ディスク ファイルを RBD ブロック (Ceph) に変換できます。ただし、最初に実際の Ceph ディスクを削除する必要があります。必ず正しい Ceph ブロックデバイスを削除してください。 まず、ディスクがどの Ceph プールに存在するかを知る必要があります。次に、Ceph からボリュームを削除します (volume-id は、前の手順「Cinder ボリュームの作成」で記録したボリューム ID です)。
次のステップは、VMDK ファイルを Ceph 上のボリュームに変換することです (すべての ceph パラメータはパフォーマンスを向上させるためのものです。vmdk_disk_file 変数は vmdk ファイルへのフルパスです。volume-id** は、前に書き留めた ID です)。
仮想マシンのすべての仮想ディスクに対してこれを実行します。 気をつけて! rbd コマンドは非常に強力です (意図したよりも多くの Ceph 上のデータが破壊される可能性があるため、注意して使用してください)。 7. Neutron ポートを作成する (オプション) 場合によっては、固定 IP アドレスまたは MAC アドレスを設定する必要があります。これを行うには、Neutron を使用してポートを作成し、次のステップ (OpenStack でのインスタンスの作成および起動時の関連付け) でそのポートを使用します。まず、network_name (nova net-list) が何であるかを知っておく必要があります。そのためには、「Label」を使用する必要があります。必須は network_name のみです。追加することでセキュリティ グループを追加することもできます。
このパラメータはセキュリティ グループごとに追加します。つまり、6 つのセキュリティ グループを追加する場合は、このパラメータを 6 回追加する必要があります。
次のステップで必要になるので、Neutron ポートの ID をメモしておきます。 8. OpenStackでインスタンスを作成して起動する これで、Cinder ボリュームとオプションで Neutron ポートを持つインスタンスを作成する準備が整いました。起動ディスクのボリューム ID をメモします。ここで、選択するフレーバーの ID を知る必要があります。目的のフレーバーのフレーバー ID を取得するには、nova flavor-list を実行します。 これで、新しいインスタンスを作成して起動できます。
インスタンス ID をメモします。次に、次のコマンドを実行して、インスタンスに追加のディスクを追加します (ボリュームを追加する場合)。
要約する 特に Windows では、移行プロセス中に障害が発生する可能性があります。ドライバーのバージョンが間違っていると、Windows システムでブルー スクリーンが発生する可能性が高くなるため、ドライバーを正しくインストールすることが非常に重要です。より大きなデータ ディスクの場合、このケースでは Ceph への直接アップロードを使用して、同じサイズの空のボリュームを置き換えます。 Image Glance 経由でアップロードしてからクラウド ディスクを作成すると、数倍の時間がかかります。したがって、Ceph を合理的かつ柔軟に使用すると、移行プロセスを大幅に高速化できます。 この記事では主に操作手順について説明します。バッチ操作の場合は、対応するオーケストレーション スクリプトを記述してバッチ移行を実行できます。スクリプトを実行する前に必ず徹底的にテストしてください。 |
<<: Alibaba Cloud + DingTalk = PC + Windows? DingTalkは未来志向のオペレーティングシステムを目指しています
>>: MongoDBは分散データソースを統合し、クラウドデータベースはデータレイクと検索機能をサポートします
最近また「スラムダンク」にハマっています。最高です!主人公の桜木花道の、何より目を引く、元気いっぱい...
正直に言うと、私がウェブマスター業界に関わるようになったのはごく最近のことです。周りの同僚のほとんど...
web3k は、多くの人がよく知っている Windows VPS トライアルを以前に開始した、定評の...
コンテナベースのテクノロジーが急速に採用されるにつれて、組織は Kubernetes クラスターのセ...
10月26日夜のニュース、Ctrip.comは今晩、Baiduとの株式交換取引に合意したと発表した。...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています過去2年間...
Zenlayerは、アジアの最も重要な金融センターである香港に独自のデータセンターを構え、香港サーバ...
インターネット評論家のデイブ・ペル氏(写真提供:テンセント・テクノロジー)テンセントテクノロジーニュ...
会社の社長はずっとWeiboを特別に愛しており、最近ついにWeiboマーケティングに人材とリソースを...
01 macvlan の紹介前回の記事では、tap/tun、veth-pair、bridge といっ...
SEO 業界は標準化されていません。SEO エンジニアの中には、高額の給与を稼ぎ、大規模な Web ...
はじめに:ロイターは本日、「生き残った馬会長:中国アリババの影に生きる」と題する記事を掲載し、中国の...
2018年の初め、クラウドコンピューティングをめぐる戦いが再び始まろうとしているようだ。昨年初めの厦...
[[408780]]コンセプトKafka は、LinkedIn によって最初に開発され、Scala ...
rcp.net はブラックフライデーに日本 VPS のミニチュア版をリリースしました。デフォルトのネ...