proxmox一覧

Proxmox で NFS 共有されているストレージを使う

Proxmox でネットワーク共有されているストレージを使うとライブマイグレーションが可能になります。今回はその準備として、 NFS 共有のストレージを Proxmox に登録させてみるところを説明します

NFSサーバーの登録

Proxmoxの管理画面(ブラウザ)で、 ServerView の Datacenter をクリックします。
するとタブに “Storage” とあるのでこちらを開きます。そして、Add ボタンがあるのでこちらを押すと、種類が出てくるので NFS を選択します。
proxmox-nfs-1
すると以下のような画面が出てくるので各項目を設定します。
proxmox-nfs-2

  • ID: 任意のIDを設定
  • Server: NFS共有しているサーバーのIPアドレス
  • Export: サーバーがexportしているリストが出てくるはずなのでその中から選択
  • Content: 仮想マシンのHDD を格納するなら Disk Image

登録が終わると、仮想マシン作成時のHDD設定の際、以下のようにストレージをどこにするかを選択することができるようになります。
proxmox-nfs-3


Proxmox でクラスタ環境作ってみた&マイグレーション確認

クラスタという表現が曖昧なのでここでは以下のことを指すものとして使います。
各Proxmoxが動いているコンピューターをノードと呼びます。
そのノードは1つのグループに属します。
このグループのことをクラスタと呼びます。

Proxmox でこのクラスタを作ると、クラスタ内のどの環境に WebUI でログインしても属しているノードの情報を確認することができるようになります。
今回は2台の構成でやってみました。このときどちらの WebUI にログインしても以下のように相手方の情報も見ることができます。
proxmox-cluster-1

設定方法

設定の方法ですが、 WebUI から行う方法がわからなかったため、コンソールで作業しました。
またここでは PVE1 をマスター、それ以外をスレーブと考えることにします。

まずは PVE1 側に ssh でログインします。
そして以下のコマンドを実行します。

# pvecm create example-cluster
orosync Cluster Engine Authentication key generator.
Gathering 1024 bits for key from /dev/urandom.
Writing corosync key to /etc/corosync/authkey.

初回の状態を確認してみます。

# pvecm nodes

Membership information
----------------------
    Nodeid      Votes Name
         1          1 pve (local)

ノードが追加されました(自分のことですが)

続いて PVE2 側に ssh でログインします。
そして以下のコマンドを実行します。ここで指定するIPはマスターのIPを指定してください。
これでメンバーとして PVE2 が登録されます。

# pvecm add 192.168.0.160
copy corosync auth key
stopping pve-cluster service
backup old database
waiting for quorum...OK
generating node certificates
merge known_hosts file
restart services
successfully added node 'pve2' to cluster.

PVE2 側の ssh での作業はこれで終わりなので閉じてもかまいません。

再び PVE1 側にて確認してみます。

# pvecm status
Quorum information
------------------
Date:             **************** 2015
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000001
Ring ID:          8
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   2
Highest expected: 2
Total votes:      2
Quorum:           2
Flags:            Quorate

Membership information
----------------------
    Nodeid      Votes Name
0x00000001          1 192.168.0.160 (local)
0x00000002          1 192.168.0.162
root@pve:~# pvecm status
Quorum information
------------------
Date:             ****************  2015
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          0x00000001
Ring ID:          8
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   2
Highest expected: 2
Total votes:      2
Quorum:           2
Flags:            Quorate

Membership information
----------------------
    Nodeid      Votes Name
0x00000001          1 192.168.0.160 (local)
0x00000002          1 192.168.0.162

このようにメンバーの分も含めた情報が出力されます。この状態であれば、 WebUI でログインしたときにも他のノード情報が表示されるようになっていると思います。冒頭に出したスクリーンショットもこの時点のものを出しました。
proxmox-cluster-1

クラスタ構成でできること

クラスタの設定は HA の作業に必須となっています。上記だけでは HA の設定はまだです。
現時点でできることは、

  • 1つのWebUIログインで複数ノードの状態の確認&変更が可能
  • オフラインのVMであれば移譲が可能
  • コンテナであれば移譲が可能(オンラインでいけるらしい。未確認)

ここではVMの移譲について確認したいと思います。

この移動移譲はマイグレーションと表現されています。
Proxmox VE4.0 現時点ではローカルストレージにデータがあるものを参照しているVMは
オンラインでマイグレーションすることができません。
VMがシャットダウンされていれば、ローカルストレージに仮想マシンのHDDを設定していてもマイグレーションが可能です。

やり方は簡単で右クリックしたときのメニューで “Migrate” を選び、移動先のノードを選ぶだけです。
proxmox-cluster-2
proxmox-cluster-3
ここで実行すると以下の画面のようにマイグレーションが開始されます。
proxmox-cluster-4
成功すると pve 側にVMが移動しています。
proxmox-cluster-5

オンラインでマイグレーションさせるには共有ディスクを使うとできるらしいです。
NASなどの別ストレージで NFS 共有できるようにしておいて、PVEノード群にストレージとして登録させておくことでできるようです。
これについてはまた別途実験してみたいと思います。

クラスタから脱退

ノードの障害やメンテナンスなどで該当ノードをクラスタから切り離したいことがあると思います。
全VMを他のノードへ移動させた後でノードをクラスタから切り離します。

このノード内に VM がいない状態になったら、マスター側で作業を行います。
マスター側へ ssh でログインしてコマンドを実行します。

# pvecm delnode pve2

そして該当ノードを電源オフにした状態で、マスタの状態を確認してみます。

# pvecm nodes

Membership information
----------------------
    Nodeid      Votes Name
         1          1 pve (local)

無事に切り離されたことが確認できました。
このとき PVE2 側が電源ONのまま稼働状態にあるとここに表示されたままとなってしまいます。切り離したのに表示されている、なぜだ?!と頭を悩ますことになるので注意しましょう。


Proxmox上の仮想マシンにKTV-FSUSB2をパススルー

せっかくなので Proxmox 上に構築した仮想マシンに KTV-FSUSB2 をUSBデバイスのパススルーを使って接続してみました。これらがうまく動いてくれるか見ていきたいと思います。

各仮想マシンに USB デバイスを接続する過程は省略させていただきます。

Windows7 の場合

接続したところちゃんと認識してデバイスマネージャーに出現します。
proxmox-ktvfsusb2n-2
proxmox-ktvfsusb2n-3

しかしながらドライバのインストール後にどうしてもうまくいかず。!が付いたままとなりました。ドライバの署名関連でもなさそうなので Windows についてはひとまずコレで終了

proxmox-ktvfsusb2n-5

CentOS の場合

必要なものは GitHub(https://github.com/sh0/recfsusb2n)からダウンロードしてきました。

早速コンパイルしてみます。

これではエラーが出てしまったので、以下のようにして em2874-core.cpp を開いてコンパイルできない点を修正.

正常にmakeが完了すると recfsusb2n という実行体があるのでこれを適当な場所へコピーしておきます。

それでは早速テストしてみます。適当に 30秒ほど録画してみました。このファイルを Windows7 などの環境へ持って行って確認してみます。

一見ちゃんと動いていそうなのですが、残念なことに、相当なドロップが発生してしまっており、正常な再生が出来る状況ではありませんでした。Windows に比べればここまで出来ましたのですこし惜しい感じです。

まとめ

USBデバイスのパススルーではうまく録画環境はつくれませんでした。もしかすると USB ボードごとをデバイスパススルーするとまた違った結果となるかもしれません。 未検証ですので、 VT-d 対応の Proxmox 環境作ってどなたかやってみてほしいと思います。


Proxmox上のlinuxで BonCasLink のサーバーを実現する

先日 Proxmox 上の仮想マシンで BCAS のカードリーダーを使えるように説明しました。今回はそれを活用したいと思います。 Windows では BonCasLink というソフトウェアがありました。LAN内でBCASを共有してしまおうというやつです。これのサーバー側を Linux で実現するプログラムで bcs-perl というものがあるのでこれを使ってみようと思います。

準備

  • 以前に構築した仮想マシン
  • 仮想マシンにスマートカードリーダーを接続
  • 動作確認のための Windows PCなど

インストール

GitHub(https://github.com/walkure/bcs-perl) にあるので git を使ってローカルに落としてきます。

gitがインストールされていないと思うので準備します。

ここからは専用の一般ユーザー(bcasuser)を作成してこちらで作業しました。Perlスクリプトで実現されているため、clone したら即使えそうだったのですが、改行コードの問題から一度変換してやる必要があります。

まずは実行してカードリーダーの情報を確認します。以下のような感じで出てくると思います。出てこないようであれば、うまくリーダーが接続できていないのでそこから確認してみてください。

この文字列を bcs-perl.pl 内に記載する必要があります。ソースコード中に以下の文字列があるのでこの中に上記で得られた文字列を記入します。

設定したら今度は普通に実行します。
”>>Begin Listening(0.0.0.0:6900)…..”
なる文字列が出てくればうまくうごいていると思います。

動作検証

Windowsなどの環境で BonCasLink のクライアントを動作させて、この仮想マシンに接続させてみます。うまくいかない場合には、仮想マシンのファイアウォールを見直しするとかSELinuxが切れているかを確認してみましょう。

最後に

ここではやりませんが、あとはスクリプトをログアウトしても動くように nohup 付きで起動するとか、自動起動するようにスクリプトを書くとか、体裁を整えるのまでやればより完璧でしょう。


Debian 8 入れてから Proxmox VE 4.0

GA-G41M-Combo に Proxmox VE 4.0 インストールしようとしたらインストーラーの画面解像度が 1024×768 以上を必須としているためインストールできませんでした。このボードに RADEON HD 7750 をつけてみたりしたのですが、オンボードであれ PCIe のボードであれどうにも 800×600 になってしまうようでした。モニターの都合もあるかとおもい、2つほどで試してみたのですが結果は変わらず。

 ハードウェアスペック的には問題ないと思っていたので、HDD を取り出して別環境で Proxmox のインストールだけ行って再び戻すことにしました。結果はこれだったらうまくいきました。

これはこれで手間なので Debian8 をインストールして、その上に Proxmox をインストールしてみるということを試してみます。これもまた Proxmox は対応しているようです。まずは Debian8 をインストールして環境を準備しておきます。
続きを読む


BCAS用スマートカードリーダーをパススルーする

Proxmox を少しでも認知度上げるために今回は BCAS のICカードリーダーを仮想マシンに接続してみることにします。なお、自分の Proxmox が動いている環境では vt-d をサポートしない状態のため録画環境としては使えません。CPU が vt-d をサポートすれば PT3 などをゲストに接続してみて試してみるのですが、それは Proxmox を使ってやってみよう!という人のために残しておきますね。

CentOS のインストール

Proxmox で CentOS を仮想マシンにインストールします。最低限度のスペックで適当に作成しました。

  • CentOS 6.5 (x64)
  • 512MBメモリ
  • HDD 32GB (VirtIO)
  • Network (VirtIO)

ちなみにベースはこんな感じです。

  • Proxmox 4.0 VE
  • メモリ 8GB
  • HDD 1TB
  • N3150Mマザーボード(BraswellCPU)
  • NTT Com の SCR3310

このスペックだと CentOS はコンソールでインストール作業が進み、Minimal な構成でインストールされます。そこでカードリーダーの処理が出来るまでを設定していこうと思います。
proxmox-centos-bcas-1

proxmox-centos-bcas-2

設定手順 その1

インストール直後ではネットワーク接続して ssh が使えないので、まずはこれらを復旧するところから作業します。 続きを読む


Ubuntu 15.10 に更新(on Proxmox)

先日インストールした Ubuntu ですが 15.10 (本家?)のアップデートのダイアログが出てきたのでそのまま更新してみました。

Ubuntu 15.10

気になる点を確認してみたのでそれらについてメモしておきます。

Mesa3D

無事に Ubuntu 15.10 になったようです。このときいろいろなパッケージが更新されたようで Mesa 3D もまた変わっていました。
あいかわらず Proxmox 上なのでグラフィックスボードが使えないため、llvmpipe をつかったソフトウェアラスタライザですが、Mesa のバージョンが 11.0.2 へと更新されていました。実行時のパフォーマンスについては数字上はやや低下していましたが、気にするほどの変化ではないかと思います。

es2info の結果を以下に載せておきますが、変化なしでした。

GCC

バージョンは 5.2.1 になっていました。

ついでにクロスコンパイラのパッケージも確認だけしてみました。

クロスコンパイラの方もまた gcc5 となるようです!


Ubuntu 15.05 on Proxmox

割と最近でたばかりの Ubuntu 15.05 を Proxmox の仮想マシンとしてインストールしてみました。しかしながら Ubuntu Desktop 日本語 Remix の iso をダウンロードしようとしたら、なぜか 15.04 という記載になってて混乱してます。
 単なる間違いだろうということであまり気にせず作業してみました。通常の Linux のインストールと同じように Proxmox の仮想マシンを構成してインストールを行いました。

そして起動後

普通に起動してきて問題はなさそうです。しかし環境の問題なのか非常に動作がもっさりとしています。top で見てみると、compizがおよそ 20% 常時持って行っていました。これについては初回なので様子見です。

openssh-server をインストールして ssh terminal で操作しているときには若干遅いかな、という程度でした。

OpenGL関連など

せっかく Ubuntu の新しいものをいれたので OpenGL に関係するところをちょっとだけ調べてみました。調査するのに必要なパッケージを以下のようにしてインストールしました。

この後に、Proxmox のコンソール上で es2_info を実行してみました。

このようになりました。インストールされた Mesa 3D は 10.5.9 であることがわかりました。またグラフィックスデバイスが使えないので、ソフトウェアレンダラーである llvmpipe が選択されています。ソフトウェアレンダラーでもこのくらいの GL拡張が使えているのは個人的に驚きでした。良い時代ですね.

そしてものは試しと es2gears を実行してみたところ以下のようにちゃんと動作しました。FPSとしては 160FPS 程度となってます。実際の見た目は Webブラウザ経由しているのでちょっとカクカクですが動作としては意外とまともに動いていると感じました。(N3150MのVM上であることも考慮して)。

その後

しばらくすると以下のように、 15.10 へのアップデートを促すダイアログが出てきました。今一番新しいのは 15.10 ということのようです。今現在の Ubuntu Desktop 日本語 Remix とのズレが多少あるということっぽいです。


Braswell で ESXi は動かないようだ

自分の使っているマザーは N3150M ですが、これで ESXi (vSphere Hypervisor) の 5.x も 6.0 も動作させることが出来ませんでした。BIOS 設定の見直しやカスタムドライバ入りのiso など準備したのですが残念です。

現在の状況

こちら(ESXI 6.0 on Cenerlon n3150(Braswell platform) をみるとこの症状は同じようで今のところ解決策などはなさそうです。具体的にはインストールしようとディスクを挿入して起動するのですが、 “Relocating modules and starting up the kernel…”と表示されてそこで進行停止(フリーズ)してしまいます。

今のところはどうしようもないので、 ESXi がある程度更新されたら再び試してみるかな、といったところです。省電力な小さなマザーボードなので ESXi が動作したら嬉しかったのですが残念です。
こんな非力な環境で ESXi というのもおかしな話かもしれませんので、対応する見込みは薄いだろうなとは思っています。

この環境に Windows をインストールして、その上で VMware Workstation をインストールし、その共有VM だとかで ESXi 風に使用するといったことは可能っぽいですがそれもなんだかなぁという感じです。

まとめ

仮想マシンの母体として、Braswell の環境を使うのであれば Proxmox で決まりですね.

追記

オンボードでのグラフィックスがまずいという話もあったので、PCI-Expressのグラフィックボードをつけてやってみたのですが、それでもダメでした。オンボードグラフィックスを完全に OFF にする必要があるのかもしれませんが、今回のマザーボードの BIOS(UEFI) ではそれが出来なかったので試せずでした。

追記2

こちらの記事のほうで動かせた事例を紹介しています。
意外とこの記事だけ見て帰られる方多いので・・・。


Proxmox Tips 第2弾

キーボードの何か

自分の環境だけかもしれないけど、キーボード関係でトラブルがありました。
クライアント側では 101 の英語キーボードを使っています。Proxmox VE 側には日本語キーボードを接続してあります。そのためインストール時にはキー配列を日本語のものを設定していました。

これが原因かどうかはわからないのですが、この状況での仮想マシンらのブラウザからのコンソールアクセスでキーボード入力が意図したものになりませんでした。
具体的には、”’”(シングルクォート) を押すと”7”が表示されたり、”=”では”-”が表示されたりと。
これらがゲストとしては英語キーボードがつながっていると判断した状態です。設定をいじってみても修正できず。また、CentOS や Windows 環境で同じ症状だったため、これはゲスト環境によるものではないだろうと思ったわけです。

結局のところ、 Proxmox VE を再インストールし、このときに英語キーボード配列であるように設定してしまいました。今のところこれで問題は解消されています。

ディスクタイプの変更

以前にディスクのタイプ変更が出来ない!ということでコンソールで設定ファイルを書き換える、ということを紹介しました。しかし実はちゃんとWebUIから出来るようになっていたのでそれを紹介します。

ディスクを一度取り外す(Remove)という手順を行います。しかし、ディスクを取り外した状態では以下のようになっていたのです。
proxmox-unused-disk-1

Unused Disk として装着、という形で残っています。どの仮想マシンにも関連付かないディスクは削除されるようなのでこのような仕組みになっているんだと予想です。この Unused Disk をダブルクリックすると設定が開くので、ここで VIRTIO タイプを選んで再接続状態とすることができます。
proxmox-unused-disk-2