残念ながら、openvzの開発は行き詰まり、virtuozoの有料版はコードベースで大いに進歩しました。ある時点で、openvzは古いカーネルバージョン2.6.32でのみ動作し、openvzとvirtuozo7のマージ作業が進行中です正直なところ速くありません。
実際、これにより、バージョン4.0のproxmoxチームは、lxcとカーネルバージョン4.2.6を優先してopenvzを放棄するようになりました。 残念ながら、proxmoxチームは、proxmoxでlxcをテストすることに注意を払いませんでした。openvzから移行したい人のために、控えることを強くお勧めします。
以下に、lxcに移行した後のすべての困難と問題について説明します。
正直に言うと、lxcを数回試してみましたが、正直なところ、子供の問題でいっぱいで、実稼働環境での使用をやめるたびに、子供の問題なしでopenvzでホームページをホストすることができますlxcおよび予測可能性。
openvzのグローバルな問題のうち、ネットワークが上昇せず、rc.localのペンでデフォルトを登録するか、 このパッチをインストールする必要があったcentos 7の問題のみを思い出します。
lxcですべてが悪化し、proxmox 4.1がリリースされたときにopenvzに切り替えました。正直に言って、最初のサービスパックの後のWindowsのように、lxcですべてが期待通りで安定していると思いました。 2つのチームでopenvzバックアップをlxcに変換することはプラスでしたが、残念なことに、この動きは耐え難いほどの痛みと多くの時間の損失を招きました。openvzにもう1年間座った方が良いでしょう。
lzop -d vzdump-openvz-126-2016_01_27-11_08_32.tar.lzo
pct restore 126 vzdump-openvz-126-2016_01_27-11_08_32.tar --rootfs local:0
ストレージがlvmまたはzfs上にない場合は、-rootfs local:0オプションを使用してディスククォータを削除します。 理解していない人のためのより詳細なガイドを以下に示します。
私が出会った5つの主要なlxc問題は次のとおりです。
- CentOS 6では、PCPはmysqlソケットに接続しないため、どこでもlocalhost ipの代わりに127.0.0.1を登録する必要があり、この問題を長い間掘り下げましたが、解決策を見つけることができませんでした。最初はopenvzから変換したが、lxc centos 6を新しくインストールしたためだと思いました同じ問題。 問題が続くpercona 5.6をインストールしようとしました。
- イメージベースでのlxcの非常に遅い動作、つまり、ファイルがホストマシンにディスクイメージとして保存されている場合、ディスクサブシステムのパフォーマンスは3〜20倍に低下します。 lvmとzfsでlxcをテストしていません。 lvmにはまだシンプロビジョニングはありませんが、将来のバージョンでは有望です。 私はほとんどすべてをkvmのイメージベースにデプロイしており、ディスクへの書き込みには一定のオーバーヘッドがありますが、パーセントで測定され、おそらく数十パーセントではありませんが、myxへの書き込みはproxmoxのlxcから20倍遅くなります期待していなかった。 彼は、openvzのようにホストファイルシステムにゲストファイルを直接保存した結果、治癒しました。 同時に、ディスククォータは機能しませんが、場所はバルクであり、場所の監視があるため、ディスククォータはssdシステムに関連性が高いものの、クォータに追い込まれます。 作成および復元するときに、-rootfs local:0オプションを指定します。残念ながら、これはWebインターフェースからは実行できません。
- バックアップlxcが機能せず、proxmoxバージョン4.1でもバックアップproxmoxがサスペンドvmでハングしたため、このバグは3月2日に文字通り修正されました。
- openvzよりも本当に遅いです。
- 2つのコンテナがしっかりと垂れ下がっており、どうしても殺すことができず、それらが原因でサーバーをソフトに再起動できなかったため、サーバーのボタンをリセットする必要がありました。
移行の問題:
- lxcに変換した後、debian 6を正常に起動することはできませんでした。問題の正確なことは覚えていませんが、debian 6が非常に大きくなったため、すべてのアプリケーションを手で新しいdebian 8に移行しました。
- phpがソケット経由でmysqlに接続しないことは、前述したとおりです。
- CentOS 6では、ネットワークインターフェイスの名前をvenetからeth0に変更したため、ネットワークは立ち上がりません。pctenter IDを使用してホストからコンテナーに移動し、コマンドを実行する必要があります。
sed -i -e 's / venet0 / eth0 / g' / etc / sysconfig / network
rm -rf / etc / sysconfig / network-scripts / ifcfg-venet0:0
rm -rf / etc / sysconfig / network-scripts / ifcfg-venet0
再起動 - ttyがないため、sshでredhatベースのコンテナーに移動できません。udevは変換後に曲がって動作するため、このように扱われました。
pctはIDを入力します
sed -i -e 's / start_udev / false / g' /etc/rc.d/rc.sysinit
再起動
参考までに:
1)詳細なproxmox 3-> 4アップグレードガイド 。
2)lxcのディスク速度の問題の説明: one 、 two 、 three ;
3)proxmox 3.xのサポートは2016年4月に終了します。
4) スレッド 、なぜlxcが悪いのか。
5)c lxcをopenvzに戻す方法 。
この投稿が誰かの時間を大幅に節約することを願っています。
UPD1:バックアップvzdumpで一部の仮想マシンに別のバグが見つかりました。/var/logフォルダーが保存されず、バックアップから抜けると、すべてのサービスが上昇せず、ログのあるフォルダーがないことを誓います。