OpenStackアーキテクチャメモ(Glance)
機能と役割
・仮想マシンの起動ディスクの元になるテンプレートイメージを管理
イメージ格納先として、Swift利用可能
ディストリ公開OpenStack用インスタンスイメージを登録して利用可能
デプロイしたインスタンスのスナップショットをイメージとして登録可能
インストールメディアを登録し起動可能(目的は??できることはできる)
インポート可能なイメージファイル形式
形式 | 説明 |
---|---|
raw | フラットなディスクイメージファイル |
AMI/AKI/ARI | Amazon EC2形式 |
qcow2 | KVM形式 |
VDI | VirtualBox形式 |
VMDK | VMware形式 |
VHD | Hyper-V形式 |
プロセス
プロセス名 | 説明 |
---|---|
glance-api | ユーザーリクエスト受付&テンプレートイメージやスナップショットの保存、取り出し処理 |
glance-registry | テンプレートやスナップショット情報をDBに記録 |
補足
【ローカルキャッシュ】
イメージをローカルディスクにキャッシュする機能
Swift等外部ストレージにデータを置く場合に効果あり
glance-cache-manageコマンドでキャッシュ状態の確認が可能
【レプリケーション】
2つのglanceサーバ間でイメージをコピーする機能
glance-replicatorコマンドを利用
OpenStackアーキテクチャメモ(Nova)
機能と役割
・仮想マシンの起動停止
・仮想マシンに対するリソース割り当て管理
・物理ホストに対する仮想マシンの配置管理
・SSH認証用キーペア管理
・Metadataサービス機能の提供
・仮想マシンへのコンソールアクセス提供
プロセス名 | 説明 |
---|---|
nova-api | REST API提供 |
nova-scheduler | インスタンス配置先決定 |
nova-compute | ハイパーバイザー制御 |
nova-conductor | DBアクセス |
nova-consoleauth | コンソールアクセス認証管理 |
nova-novncproxy | インスタンスコンソールアクセス提供(Webブラウザ) |
nova-xvpvnccproxy | インスタンスコンソールアクセス提供(Javaクライアント) |
nova-cert | EC2互換API利用時の証明書を管理 |
設定ファイル | 説明 |
---|---|
nova.conf | 全体設定 |
api-paste.ini | WSGI設定。nova-apiが参照 |
policy.json | API利用権限設定 |
rootwrap.conf | root権限で実行する方式を設定 |
・各プロセス間通信は基本的にメッセージングサーバ経由。プロセスの発行するリクエストはメッセージングサーバ経由し適したプロセスに渡される。
・メッセージングサーバは、1つのメッセージを全サーバに配信、特定プロセスのみに配信するなどの指定が可能
・プロセス起動ホストを増やしロードバランスすれば冗長化可能
・Novaは構成管理とハイパーバイザー制御を実施。プロセス全停止しても、インスタンス自体の動きに影響なし。
【nova-api】
・以下3種類のapiを提供
種別 | ポート番号 | プロセス |
---|---|---|
Nova API | 8774 | nova-api-os-compute |
EC2互換API | 8773 | nova-api-ec2 |
Metadataサービス | 8775 | nova-api-metadata |
【nova-scheduler】
・インスタンス起動ホストを選定する
・選定では「フィルタ」と「重み」を使う
・フィルタは以下2種類
タイプ | 説明 |
---|---|
チャンスフィルター | ランダムにホスト選択 |
フィルタスケジューラ | 組み込みフィルタルール利用(デフォルト) |
・フィルタスケジューラの場合、フィルタルールで対象ホストを絞り、残ったホストの重みを計算し、値が小さいホストを選択
・重みはホストの空き容量メモリサイズに定数(設定変更可能)を掛けて算出。
定数が正の数であれば、空き容量メモリサイズが少ないホストが選出(詰め込み型、デフォルト)
定数が負の数であれば、空き容量メモリサイズが大きいホストが選出(分散型)
【nova-conductor】
・nova-computeが管理する物理ホストのリソース情報をメッセージングサーバ経由で受け取り、DBに格納する。
・Folsom以前はnova-computeが直接DBに書き込む仕組みだったが、DB負荷が高くなるため、nova-conductorがまとめて書き込む形に変更。
【nova-compute】
・以下2点の役割があり。
・ハイパーバイザー制御(インスタンス作成・削除等)
・ハイパーバイザー稼働ホストのリソース使用状況の把握・通知
・nova-computeが動作するホストで障害発生した場合、インスタンスも停止するが、novaでは自動HAの仕組みなし。
・従来と異なりIaaSの基本的考えでは、基盤側で冗長化するのではなく、アプリ側で冗長化する仕組みの実装が必要。
アプリ自身で障害検知しNovaにAPI発行しインスタンス起動するなどの復旧フローを実行等
【nova-consoleauth、nova-novncproxy、nova-xvpvnncproxy】
・Novaが起動したインスタンスのコンソール画面へのアクセスを制御
・nova-consoleauthがセッション管理
・nova-novncproxy、nova-xvpvnncproxyがVNCによる画面転送機能を提供(KVMがVNCサーバ)
・nova-novncproxyはnoVNC利用。noVNCはHTML5/Canvas/WebSocketを利用したWebブラウザで使えるVNCクライアント。
・nova-xvpvnncproxyはVNC Javaクライアントソフトウェアが必要。
・Horizonダッシュボードはnova-novncproxyを利用。
・コンソールアクセスするURLはコマンドで取得可能。
・tokenはnova-consoleauthが発行し、memcachedに保存。全nova-consoleauthがそれを共有しセッション管理する。
詳解ディープラーニングを読んで(必要な数学知識-線形対数編)
読んだ本
参考URL
qiita.com
ベクトル計算の積の計算方法
manapedia.jp
シグマの計算方法
DeepLearningに必要な数学知識
偏微分
線形対数→式の記述や式変形を完結に扱うためにベクトルや行例を使うだけ。ベクトル空間・固有空間などの応用分野は把握する必要なし。
線形対数とは?
ベクトルおよび行列の演算を扱う
ベクトルの基本
実数a1,a2,a3,,,,aNがある時、以下のベクトル表記が可能
N項縦ベクトル
N項横ベクトル
成分が全て0のベクトルをゼロベクトルと呼ぶ
偏微分と全微分について
参考にしたURL
oto-suu.seesaa.net
remedics.air-nifty.com
上記2つのサイトがすごい分かりやすい!
※本記事以降の画像は参考URLから引用してます。
メモ
接線とは?
曲線の任意の点で接している直線(他の点では交わらない)
円の場合は以下の通り。
→真ん中が接線
他曲線における考え方
例えば、以下のような曲線における接線は、曲線との交わる点が1つ以上ある。
図形の全体を見渡したうえでのものではなく、そのうちの曲がりのひとつの山(盛り上がり)に着目した、部分についての表現
あくまで関数の一地点における表現
微分は接線の傾きを示す関数