OpenStack TrainをRDOのall in oneで構築してみた。

OpenStackで知名度があるRHOSP。構築にはdirectorを使う仕組みのため色々注意が必要だし、ライセンスもそれなりのお値段。

 

RHOSP16よりアンサポートだけど1ノード構成(all in one)も出て来たが、コレも要ライセンス。とはいえredhatの製品はOSSをもとにしているため、RDOの環境でも同じことができるはず。

 

とりあえずcentos8 + OpenStack16(train)で1ノード構成(all in one)/wo Cephを作ってみた。

 

結論、以下の手順でハマることは数点あったが無事VM起動までたどり着けた。

  •  手順にある通りsshで公開鍵認証の準備をしておく(勝手にpassword認証を無効にしてくる!)
  • SELinuxはあらかじめ無効にしておかないとVMが起動しなかった(しかもインストール時に勝手にSELinux有効に書き換えてるのが困る)

参考手順:

OpenStack Docs: Standalone Containers based Deployment

GPU仮想化のメモ

GPU仮想化を試してみたくなったので調べてみた。とりあえず環境はESXiを想定。

現状利用可能な方式は以下。

  • vSGA (Virtual Shared Graphics Acceleration)
    GPUを共有、機能や性能で制限が多い
  • vDGA (Virtual Dedicated Graphics Acceleration)
    GPUを占有(PCIパススルー方式)、vMotion が利用できない、スナップショットが取得できないなど、DirectPath I/O における制限事項あり。AMDGPU共有方式はこちらみたい。
    Chainer動かしている実績あり
  • vGPU(nvidia grid vgpu,)
    GPUを共有(GPU側で仮想化を工夫してる)、VMにはGPUがパススルーされているように見えるらしい。

intelもGVT-gというCPU内蔵のiGPUを共有する技術があるみたいだが、ESXiでの実現例が見当たらない。不思議だったがCPU(xeon)側の問題だった、xeonってサーバー用のやつ、最近の型番だとほとんどGPU内蔵していない。。。そりゃダメだ。

ESXi nestedとネットワーク(VLAN構成)

VLAN環境でnested環境を構築したくて調べたメモ

標準スイッチ/分散スイッチで設定が違う点ではまった。

大きく区分すると以下3パターン。今回はタグVLANパケットをnestしたESXiに渡したいので、VGTを選択。

  • 仮想マシンによるタグ付け(Virtual Guest Tagging (VGT))
  • 物理スイッチによる VLAN 設定(External Switch Tagging (EST))
  • 仮想スイッチによるタグ付け(Virtual Switch Tagging (VST))

具体的な設定は以下の2箇所。

1)標準スイッチの場合はVLAN IDを4095に設定。分散スイッチはVLANを"Trunk"にして、透過したいVLANIDをリスト形式で設定する

2)セキュリティ設定で以下を設定(VLANを透過させるので、不要な気はするが設定しないとnested上のVMと外部の通信が成立しなかった)

  • 無差別モード: 承認
  • MAC アドレス変更: 承認
  • 偽装転送: 承認

OpenStackとRHOSP

OpenStack利用時日本で商用サポートを期待するとベンダーが限られてしまう。
RHOSPは選択肢の1つだがRHOSP16からテスト用で1ノード構成が作れるとのこと。

複数ノードと比べ設定ファイルの差分を確認して使えるなら使っていきたい。

インストール時、heatテンプレートを指定でそうだったのでかなり本番環境に近づけそうに見えた。

[stack@all-in-one]$ sudo openstack tripleo deploy \
  --templates \
  --local-ip=$IP/$NETMASK \
  -e /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml \
  -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml \
  -e $HOME/containers-prepare-parameters.yaml \
  -e $HOME/standalone_parameters.yaml \
  --output-dir $HOME \
  --standalone

 

 

富岳を支える技術メモ

スパコンに興味があったのでメモ。随時追記予定

 

■CPU:A64FXとSPARC64の関係

■CPU:富岳のベクトル処理を担う"Scalable Vector Extension" 命令セットとSIMDとの違い

 

■CPU:SVE含めたアセンブラJIT実装

■OS:Linux RHEL+ McKernel

富士通フォーラム2019ポスト「京」コンピュータの開発

■ストレージ:グローバルファイルシステム FEFS (Lustreベース)
富士通フォーラム2019ポスト「京」コンピュータの開発

FEFS: Scalable Cluster File System

 

■ソフトウェア:

スーパーコンピュータ「富岳」のシステムソフトウェアについて

Linuxを採用しつつHPC特有要件の実現等興味深い記載が多数ある

 

Windows10のセグメントヒープって?

Windows 10, version 2004から利用できる「セグメントヒープ」って聞いたことがなかったので調べてみた。
あんまり情報がなかったがIBMの「Windows 10 Segment Heap Internals」が最も詳しい。

Windows 10 Segment Heap Internals

https://www.blackhat.com/docs/us-16/materials/us-16-Yason-Windows-10-Segment-Heap-Internals.pdf

 

また、上記で解説されている既存のメモリ管理については以下が詳しい。

www.keicode.com

■キーワード

NT Heap (既存のヒープアロケーター)
LAL:Lookaslidelist / LFH:Low Fragmentation Heap

Variable Size Allocation

Large Blocks Allocation

■参考資料

株式会社FFRI:HeapExploitのこれまでと現状

MacbookやiMacのSSDを消去する(secureEraseをHigh Sierra以降で実行する)

新しいMacに移る時に困るのが古いMacのデータ消去。MacBookでHigh Sierra以降のSSD搭載モデルでは、ディスク消去時に使うディスク消去ツールでsecureEraseが非サポートになっている。

SSDの仕組みと寿命(ウェアレベリング機能)を考えると仕方ないのかもしれないがなんとかしたい。

 

Trim命令の功罪|Logitec データ復旧技術センター

 

色々調べていたところ以下ブログを参考にして「ファイルシステムをHFS+に変換」することで「diskutil secureErase」を実行することができた。

 

MacbookやiMacのSSD/HDDを完全消去する(High Sierra対応版)

 

1. Macosx リカバリーモードで起動させる

2. ターミナルを起動しファイルシステムApple_APFS」を削除し「改めてHFS+にフォーマット」する。

3. 「diskutil secureErase」コマンドで、消去を実行

4.   ターミナルを「exit」し、「ディスクユーティリティ」を起動、ファイルシステムをAPFSで作成する。

5.  OSXWIFI経由でのネットワークインストールを実施

以上で完了。