(°””。) おぷすたさん、いぢめる?といってみたい。

これはOpenStack Advent Calendar 13日目、あれ?某ごーこさん抜けてるけど、罰ゲームを果たすために書いてみます。題名はかえませんが真面目な話。ほんと僕はOpenStackをジャイアンぐらいのいじめっ子とおもてます。

えっと昨年某案件でGPGPUをおぷすたでというとんでもいぢめ案件に遭い、調べてみたらまともにドキュメントすらない。うわぁヽ(≧Д≦)ノ ウワァァン!!と泣いてしまったわけですが、なんとか、、なんとかしてみました。ポイントはPCI パススルー。以下説明がかなりめんどいので概要のみ。詳細欲しい人は僕までfacebookとかtwitterでね。ググって僕の名前は探してね。

さて。

ポイントはおぷすたの基本はKVMベースでXenではないため、GPU全体をパススルーします。XenやVMwareと違いコアパーティショニングはいまは不可能です。

で、ブラックリストでGPUにある全てのデバイスを取っぱずし、bootレベルから土台から認識できないようにします。同時にvfio関連群をmoduleで読み込むようにします。

で、物理デバイスからGPUを取っぱずして、pci-stubという仮想デバイスにくっつけるバインドをします。これによってGPUは仮想デバイス側に移ります。

あとはこっからは消化試合。

novaにエイリアス、ホワイトリスト、フィルターを書きます。あとはフレーバつくって、こいつをフレーバにしてどーんやればほらGPU認識できあがりです。ま、ゴルディオンハンマーをつけたガオガイガーとかVMに対して絶対いわんでおいときましょう。でっけーGPUにVMちっさとかネタです(笑)

諸問題はもちあります。

Linuxを利用の場合VM OSは全て開発パッケージが入ります。CUDAが基本ソースからビルドなのでperlがMakefileの条件にあります。ディスクアクセス遅いのでエフェメラルかSSDなど爆速モードがいることに。ライブマイグレは目下でけません。

ま、そんなわけで、ごーこさんいぢめですか早く書いてください。

次はOpenStack Nova LXD、ほぉ。