めもめも

このブログに記載の内容は個人の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

2012-01-01から1年間の記事一覧

NTTdocomo-openstackの物理マシン管理

全体像 ここで見たように、BareMetalDriverクラスによって、ハイパーバイザの一形式としてNovaに結合しています。それと同時に、Novaを拡張して、1個のNova Computeで複数のホストを管理できるようにしています。これにより、BareMetalDriverが稼働するNova …

dodai-computeにおける物理マシンとネットワーク(VLAN)のライフサイクル管理

ライフサイクル管理の全体像 仮想マシンと違い、各物理マシンは常に「インスタンス」として起動している状態として扱います。各物理マシンに「availability_zone」の属性を持たせて、この値で使用状況を管理します。また「instance_type」の属性を持たせるこ…

NTTdocomo-openstackのOSインストール方式

(参考) General Bare Metal provisioning frame work(Youtube) General Bare Metal provisioning frame work 儀式 # mkdir dodai-compute # cd dodai-compute # git init # git pull https://github.com/NTTdocomo-openstack/nova.git 物理サーバをVMとみ…

dodai-computeのソースを読みながらBareMetalインストールの方法を考える

前置き 実は、Novaのコード読んだこと無いんですが、いきなりdodai-computeのソース読みます。まぁ、逆をたどって、Novaの構造もわかってくるでしょう。きっと。ソースを読み始めるのって、こういう「取っ掛かり」が大切ですね。ちなみに、Diabloベースのよ…

Aeolus Conductorで「ぷた☆すー」管理

これは何かというと Eucalyptus Advent Calendar 2012 JPのエントリ(12/07)です。季節物(?)ということで、若干、おふざけ感のある内容については、ご容赦ください。 話のネタは、「Aeolous ConductorでAWSとEucalyptusを一緒に管理してどうだすごいだろ…

Quantumソースコード拾い読み(即値かよ!)

これは何かというと Open Stack Advent Calendarのエントリ(12/06)です。季節物(?)ということで、若干、おふざけ感のある内容については、ご容赦ください。 話のネタは、Red Hat版のRHEL6用Folsomで、Quantumを動かそうとがんばった際に、やむにやまれ…

Fedora18(Beta)でQuantum+OVS Pluginを使う時のメモ

Fedora18(Beta)同梱のOpenStackを使って「Quantum+OVS Plugin」が動いたので、その際のメモです。netns(Network Namespace)関連でWork aroundが必要でしたが、まだBetaなので、きちんとした手順はGA版が出たら改めてまとめます。 GREトンネリングは未対応 F…

QuickStart with RHOS(Red Hat OpenStack) Folsom Preview

I succeeded to build three-node OpenStack cluster with RHOS(Red Hat OpenStack) Folsom Preview. I drop some notes on how I set them up here. References Please see the following announcement for how you can get the Preview subscription. RHOS…

ファイル作成時に付与されるSELinuxのセキュリティコンテキスト

SELinuxの簡単な説明 SELinuxでは、事前に定義された「セキュリティポリシー」に従って、あるプロセスがアクセス可能なシステムリソース(ファイル、ネットワークポートなど)を制限することが可能です。RHEL6のデフォルトである「Targetedポリシー」では、R…

論理式の推論規則適用を関数化する

この記事は、「The Monad.Reader Issue 6(PDF)」にあるDan Piponi氏のエッセイが元ネタです。Dan氏の話はもっと奥深いところまで突き進むのですが、これは、その導入部分のネタを冗長に解説したものです。 何をするのかというと ちょっとしたお遊びなんです…

Aeolus(アイオロス)でRHELonEC2を利用する(その3)

はじめに 前回から間があきましたが、いよいよ複数インスタンスの起動/連携にチャレンジしてみます。例として、前回の最後にデモを紹介したGlusterFSクラスタを構築します。具体的な手順としては、1つのアプリケーション・ブループリントに複数インスタンス…

HaskellのContinuation Monadを理解する(2)

おもむろに・・・ 前回に続いて、Continuation Monadと組み合わせて使用する、関数callCCを解説します。前回作成したCont型(Continuation Monad)と関数pythagoras2を再掲します。cps.hs newtype Cont r a = Cont { runCont :: (a -> r) -> r } instance Mo…

HaskellのContinuation Monadを理解する(1)

はじめに HaskellのContinuation Monadを調べる機会があったのでメモしておきます。参考文献はこのあたりです。 Haskell/Continuation passing style Continuations and callCC in Haskell 本当はcallCCの解体まで行いたかったのですが、長くなるので、今回…

アプリケーション環境構築の自動化をまじめに考えてみる(4)

はじめに 知らない間にシリーズ化しはじめていますが (^^; 今回は、複数VMにまたがる構成を考えます。前回は、Puppetを利用して、VMに対するOSインストールからアプリ導入・初期設定までを自動化しました。まとめると、下図のような「パーソナルクラウド(?…

アプリケーション環境構築の自動化をまじめに考えてみる(3)

復習 前回の記事では、アプリケーションの導入・設定の自動化をgithubと連携させるという試みを行いました。その際に発見された問題点は次のとおり。・gitはファイルのオーナやパーミッションが扱えない ・アプリケーションの導入スクリプトはバージョン管理…

Automation script for virt-install and kickstart

変更履歴 2012/09/16 設定ファイルの書き方をざっくりまとめました。 何の話かというと 「アプリケーション環境構築の自動化をまじめに考えてみる(1)」と「アプリケーション環境構築の自動化をまじめに考えてみる(2)」で作った自動VMインストールスクリプト…

Hot summer nights at Red Hat Storage and GlsuterFS community events in Japan.

I've recently given lectures on Red Hat Storage and GlusterFS at two hottest IT engineers' community events, #hbstudy (Heartbeats Study) on 2012/08/22 and #ljstudy (Linux women's study group) on 2012/07/25. I don't have an exact figure for…

アプリケーション環境構築の自動化をまじめに考えてみる(2)

今回は・・・ 前回につづいて、アプリケーションの導入と環境設定の自動化を考えます。アプリケーションの設定に関しては、(1) リファレンス環境を用意して、手動で設定・テストする。 (2) 設定内容をバージョン管理システムに登録する。 (3) 新規環境から、…

アプリケーション環境構築の自動化をまじめに考えてみる(1)

2012/09/16 追記 本記事で紹介しているツール「virt-construct.py」は、本記事の公開後にもろもろアップデートしています。最新バージョンについては、こちらの記事を参照してください。 師宣わく 「環境管理の鍵は環境構築を完全に自動化されたプロセスで行…

Aeolus(アイオロス)でRHELonEC2を利用する(その2)

何をするかというと。 前回に続いて、ConfigServerを構成して、アプリケーション環境の自動デプロイ機能を使ってみます。 イメージのビルドと配信(プッシュ)について 今回、「ConfigServer」の機能を提供するAMIを作成して、EC2上で起動します。このAMIは…

Aeolus(アイオロス)でRHELonEC2を利用する(その1)

変更履歴 2012/08/04 既知の問題修正手順追加 aeolus-audrey-agentのRPMバイナリを変更。 RHEL6.3AMIへのaudrey-agent導入手順修正。 何の話かというと。 レッドハットが最近発表したCloudFormsには、「System Engine」と「Cloud Engine」の2種類のソフトウ…

「Gitポケットリファレンス」を活用してカーネルソースを読んでみよう!

Gitポケットリファレンス作者: 岡本隆史,武田健太郎,相良幸範出版社/メーカー: 技術評論社発売日: 2012/07/10メディア: 単行本(ソフトカバー)購入: 7人 クリック: 103回この商品を含むブログ (26件) を見るこちらの書籍を著者様より献本いただきました。あ…

Quick Start to GeoReplication with GlusterFS3.3

Seeing is believing... This video is created with the help of IIJ Inc. They kindly offered me servers in their cloud datacenter :-) Software prereqs We use GlusterFS3.3 on RHEL6.2. [root@gluster01 ~]# rpm -qa | grep gluster glusterfs-3.3.0…

伊勢さんの書評に応えて

あまり個人的な思いやら感想やらは、このブログには書かないようにしているのですが、伊勢さんにすばらしい書評を書いていただいたので、お礼を兼ねて(?)書評内のコメントにいくつか反応しておきたいと思います。 いずれのタイトルも「プロのための」とい…

GlusterFS 3.3 Swift APIのセットアップ手順

前置き GlusterFS3.3がリリースされましたので、あらためて、Swift-APIのセットアップ手順をまとめておきます。Beta版とは手順が変わっている部分があるのでご注意ください。Swift-APIについては、下記の資料を参考にしてください。・GlusterFSのSwiftAPIを…

ポインタと配列の微妙な関係

話の背景 C言語のポインタと配列の関係については、『「配列へのポインタ」と「ポインタの配列」の見分け方』で紹介した「エキスパートCプログラミング」という書籍の「徹底的な解説」をこよなく愛していたのですが、最近、紹介されて「C言語ポインタ完全制…

プロのためのLinuxシステム・10年効く技術

「プロのためのLinuxシステム・10年効く技術」 の出版が決まりました。6月上旬に発売の予定です。技術評論社の池本公平氏をはじめ、執筆・出版にあたりお世話になった方々にはあらためて感謝です。 本書は、企業システムでLinuxに関わるエンジニアの方、も…

PF_PACKETの仕組み

Software Design 2012年6月号の『「生」ネットワークプログラミング』が妙にツボにハマって面白かったのですが、さすがにあのページ数でPF_PACKETを語ると、ついていけない読者も多くて残念かも。ということで、参考までに概要図を書いてみました。C言語のソ…

RHS2.0Beta2/glusterfs-3.3.0qa38-1のGeo Replication設定手順

何をするかというと RHS2.0Beta2のGeo Replicationの設定手順のメモです。中身は、GlusterFS 3.3.0qa38-1なので、コミュニティ版GlusterFSで試す方は、ここにあるRPMをご使用ください。 基本構成 [master01]----[master02] : GlusterFS Cluster(Replication …

RHS2.0Beta2(glusterfs-3.3.0qa38)のSelf-heal Daemon

何の話かというと Gluster3.2.xのレプリケーションボリュームでは、ノード障害などでレプリケーションができなくなった場合、障害ノードが復帰した後に、クライアントが明示的にファイルアクセスを行ったタイミングで、該当ファイルの再レプリケーションが行…