ようやくProxmox 2.1へバージョンアップ

仮想マシンを何台か立てるのに、Debian OSをベースとし、その上に、OpenVZコンテナとKVM仮想マシンを実行できるよう整えられたProxmox VEというのを使っています。

元々は、2010年9月にProxmox 1.5で導入したものの、それ以後はネットワーク越しの操作になっているため、積極的にアップデートがしにくい、というものでした。
Proxmox 1.6→1.7は、ちょっと悩みましたが、特に問題なくアップデート完了。
その後は、Proxmox 1.9まではネットワーク越しで、オンラインアップデートをしました。

が、さすがに1.9から2.0へのアップデートは不安が・・・
先日、久々にサーバ設置場所に行く機会があったので、アップデートしてきました。

公式の1.9→2.0アップデート手順通りに作業開始・・・

「./pve-upgrade-1.9-to-2.0」がエラーで終了。
曰く、mpt-statusパッケージがアップデートできない。

まぁ、これは、mpt-statusによるLSI Logic SASカードのRAID1機能監視を行う際に、標準設定のままだとRAIDの同期パーセンテージを表示してくれないので、変更したことによるものでした。
てっとりばやく、mpt-statusパッケージを削除して、再実行・・・エラー・・・

解決方法を探してもいいんでしょうが、時間が無いし、中の仮想マシンは他のサーバに移動済なので、消えても問題ない。

ということで、再起動・・・起動してこず

そんなわけで、Proxmox 2.1を新規でインストールしました。

良くなった点
・Web GUIが大幅進化
 クラスタを組んでいる場合でも、問題なく操作可能

・OpenVZコンテナ(CT)を使う場合、ネットワークインタフェースの追加がGUIで可能に

・パフォーマンスモニタ的なもの追加
 GUIに各VMのCPU/メモリ/ネットワークIO/Disk IO使用率のグラフが表示される

・GUIにバックアップ機能追加
 GUIにスケジュールバックアップ機能が追加された。
 NFS/iSCSIストレージをバックアップ先として指定できる。

・Proxmox管理用のユーザ/グループを作成できる
 いろいろ権限を設定できる

悪くなった点
・各VMにつけていた日本語コメントが文字化け
 「&~」形式になっているだけなので、コンバートすればいいんですけどね

・OpenVZコンテナのオンラインマイングレートが微妙
 いままではOpenVZコンテナが稼働状態のままProxmoxサーバ間を移動できました。
 しかし、新しいProxmoxクラスタでは、マイグレート処理は正常に完了、と出るものの
 移行後のサーバでOpenVZコンテナが停止したままになる事象が発生。
 いまのところ再現性100%。

オンラインマイグレートがちゃんと完了しない、という件が特に困りものですが、
手動で起動させればいいので、まぁ、なんとかなってる、というところです。


オンラインマイグレートをしてみたけど、起動していない、という事象例

root@pveserver2:~# pvecm nodes
Node  Sts   Inc   Joined               Name
   1   M     52   2012-07-16 08:04:01  pveserver1
   2   M     12   2012-07-16 08:03:28  pveserver2
root@pveserver2:~#

root@pveserver2:~# pvectl list
Use of uninitialized value in printf at /usr/bin/pvectl line 158.
      VMID NAME                 STATUS     MEM(MB)    DISK(GB)
       122 test.osakana.net     running    1024       8.00
root@pveserver2:~# pvectl migrate 122 pveserver1 -online
Jul 17 13:31:07 starting migration of CT 122 to node 'pveserver1' (192.168.35.123)
Jul 17 13:31:07 container is running - using online migration
Jul 17 13:31:07 starting rsync phase 1
Jul 17 13:31:07 # /usr/bin/rsync -aH --delete --numeric-ids --sparse /var/lib/vz/private/122 root@192.168.35.123:/var/lib/vz/private
Jul 17 13:31:22 start live migration - suspending container
Jul 17 13:31:22 dump container state
Jul 17 13:31:23 copy dump file to target node
Jul 17 13:31:23 starting rsync (2nd pass)
Jul 17 13:31:23 # /usr/bin/rsync -aH --delete --numeric-ids /var/lib/vz/private/122 root@192.168.35.123:/var/lib/vz/private
Jul 17 13:31:23 dump 2nd level quota
Jul 17 13:31:23 copy 2nd level quota to target node
Jul 17 13:31:25 initialize container on remote node 'pveserver1'
Jul 17 13:31:25 initializing remote quota
Jul 17 13:31:25 turn on remote quota
Jul 17 13:31:25 load 2nd level quota
Jul 17 13:31:25 starting container on remote node 'pveserver1'
Jul 17 13:31:25 restore container state
Jul 17 13:31:25 removing container files on local node
Jul 17 13:31:26 start final cleanup
Jul 17 13:31:27 migration finished successfuly (duration 00:00:20)
root@pveserver2:~#

root@pveserver1:~# pvectl list
Use of uninitialized value in printf at /usr/bin/pvectl line 158.
      VMID NAME                 STATUS     MEM(MB)    DISK(GB)
       <省略>
       122 test.osakana.net     stopped    1024       8.00
root@pveserver1:~# pvectl start 122
Starting container ...
Container is mounted
Adding IP address(es): 192.168.35.106
Setting CPU units: 1000
Setting CPUs: 1
Configure veth devices: veth122.0
Adding interface veth122.0 to bridge vmbr1 on CT0 for CT122
Container start in progress...
root@pveserver1:~#

VMware ESX環境でWindows 8とWindows Server 2012を動かすには?

VMware ESX環境で、Windows 8とWindows Server 2012を動かすには、相応の設備がいる、という話。

元ネタ
ESXvirtualization の「Windows 8 and Windows Server 2012 Release Preview on ESXi 5 ? does it work?」より
VMware KB 2006859:Windows 8 operating system does not boot or install on ESXi or ESX

VMware環境編
・ESXi 5.0 + パッチ ESXi500-201112001以降が必須
・公式としてはTech Previewとしてではあるが、ESXi 5.0 Update 1以降
・ESXi 4.1など4.x台では動かない

仮想マシンのハードウェア設定編
・Virutal Machine Version 8を選択し「Windows 8」か「Windows Server 8」
・Virtual Machine Version 7の場合は「Windows 7」「Windows Server 2008R2」
・グラフィックの3D機能を有効にしてからOSインストールすること
・USB機能は動かない
・NICタイプのvmxnet3動かない。e1000eかe1000を選択すること

仮想マシン上のWindows設定編
・Windows OS上にVMwareのWDDM Videoドライバをインストールしない
 VMware Toolsインストール時に、WDDM Videoドライバをインストールしない
 OS標準のVESAドライバを使用すること

OSインストール後、再起動したら暗いまま、という場合
下記のKBにあるような設定変更を行う。

VMware KB 2021887:Windows 8 Release Preview and Windows Server 2012 Release Candidate fail when starting for the first time after the installation

RHEL5/CentOS5向けのサーバ管理向けWebGUI KloxoとHyperVM

いろいろアクセスしていたら、とある人の個人サーバの下に「Kloxo」というロゴを発見。
なんだろう?と調べてみたら、RHEL5/CentOS5向けのサーバ管理向けのWebGUIだった。

HyperVM
OpenVZ/Xenを使う仮想マシン管理のソフト(VPS管理ソフト)
WebGUIで管理を行う。
課金システムのWHMCSAWBSに対応
Proxmoxの管理WebGUIより格段に上を行ったできばえ。

Kloxo
Linuxサーバの設定をWebGUIで行うもの(Hosting Control Panel)
以前はLxadminという名称だった。
Webホスティング向けのもので、PleskとかcPanelみたいなもの。
課金システムのWHMCSAWBSHostBillに対応

ただ、どの課金プラットフォームも日本語に対応していない。

ただ、Hostbillは、GMO Cloud のUS版があったり
検索すると、「Powered by Hostbill」だけど、日本語の注文画面とかが確認できるので、
ある程度日本語に対応しているのかもしれない。


2023/04/11追記

kloxoのlxcenter.orgは解散したのか関係無い会社がVPNサービスをやっている模様。

kloxoのコード自体は https://github.com/lxcenter/kloxo に残っているが、最終更新は2019年

hypervmのコードも https://github.com/lxcenter/hypervm にある。こちらの最終更新は2012年

VMware仮想マシンのバックアップに関する解説

VMwareで仮想マシンのバックアップを行う際に出てくる用語について、簡単にまとめてみた。

キーワード
・VMware Consolidated Backup (VCB)
・VMware vStorage APIs for Data Protection (VADP)
・VMware Virtual Disk Development Kit (VDDK)
・File-level Restore(FLR)

VMwareで仮想化を行っている場合、仮想マシンを丸ごと、動作させたままの状態でバックアップすることができる。
その際は、仮想マシン内のOS上で動作しているvmware-toolsと連携し、ファイルシステムに対してある程度の静止点を作成させ、その後にバックアップを行う、といったことが出来るようになっている。

バックアップ・リストアを行う仕組みとして、VMware Consolidated Backup(VCB)と、VMware vStorage APIs for Data Protection (VADP)の2種類がある。
VADPはvSphere4から登場した新しい仕組みで、基本的にはこっちの方が高機能である。
詳細についてはVMware KB1021175:vStorage APIs for Data Protection (VADP) FAQ に掲載されている。

VCBの場合はWindowsのみ、VADPの場合はWindows/Linuxのみであるが、仮想マシン丸ごとでバックアップしても、仮想マシン上のOS内のファイル単位でリストアすることができる。
この手法をFile-Level Restore(FLR)と呼んでいる。

FLRはどのように実現されているか、というあたりだが、実は結構アレなつくりをしている。
仮想ディスクとしてリストアした後、仮想ディスクを内部的にマウントしてリストアする。
というようなイメージでリストアが行われる。

こんな処理をまともに実装してたら、バックアップソフトベンダが死んでしまうので、VMware側で簡単にできるような開発向けのソフトウェアライブラリを用意している。
それが、VMware Virtual Disk Development Kit (VDDK)である。

VDDKは、いくつかバージョンが出ている。
VDDK 5.0
VDDK 1.2.1
VDDK 1.2
VDDK 1.1
VDDK 1.0.1

VDDKのバージョンが異なると何が変わってくるか、という点だが、基本的には新しいバージョンほど機能が増えている、ということになる。

vSphere5と共にリリースされたのがVDDK5.0ではあるが、これを使用したバックアップソフトウェアがvSphere4のバックアップに使用できないといったことは無い。

しかし、逆のVDDK 1.2.1を使用したバックアップソフトウェアをvSphere5環境で利用する場合には、いろいろ注意が必要な点が発生する。
この例の場合、VMFS-5が非サポートであるため、vSphere5環境ではSANストレージを旧来のVMFS-3(vSphere4仕様)で利用する必要が出てくる。

VDDKはバックアップソフトウェアの開発時に内部に組み込まれて使用される。
このため、あとからVDDKだけをバージョンアップするということはできず、バックアップソフトウェアベンダが新しいバージョンを開発するまで新機能は使用できない。
このため、VDDKおよび新しいvSphereリリース時は、バックアップソフトウェアによってできる機能が異なってくるという事態が発生する。

各バックアップソフトの対応については別途調べてください。

VDI環境向けにWindowsをセットアップする

いろいろ資料を調べていたら、「VMware KB 1014508: Correlating vCenter Server and ESX host build numbers to update levels」を発見。

ESX, ESXi, vCenter Serverの各バージョンと、プログラムのBuild number、リリース日の一覧が載っていました。

なんとなーく、ずっと一意に増加しているのかと思っていたんですが、これを見るとそうでもなく、どちらかというと、ビルド日の方にひも付いているようなイメージなんですね。

さて、そんなプチ知識はさておき、仮想デスクトップ環境(VDI)向けにWindows7をセットアップする際に推奨される最適化手順というのがVMwareから出ています。
VMware View Optimization Guide for Windows 7 – OPTIMIZATION GUIDE(pdf)

つか、いろいろめんどい。
もっと簡単にできるようにならないかなぁ、と思っていたところ、そんなツールがありました。
Quest software社からQuest vWorkspace Desktop Optimizerという簡単適用ツールがリリースされている。

どんな風に使うか、というのは、ESX virtualization Mag:How to install VMware View Agent in the Virtual Desktop plus moreで紹介されています。
ちなみに上記記事の前後を見ると、View5のセットアップ全体についても解説されています。英語で。