Debian Unstable で stumpwm

こんにちは。@jedipunkz です。 Linux のウィンドウマネージャは使い続けて長いのですが、既に1周半しました。twm -> gnome -> enlightenment -> OpenBox -> .. 忘れた .. -> twm -> vtwm -> awesome -> kde -> gnome -> enligtenment … 巷では Linux のデスクトップ環境は死んだとか言われているらしいですが、stumpwm というウィンドウマネージャは結構いいなと思いました。タイル型のウィンドウマネー ジャで Emacs 好きの人が開発したらしいです。設定は lisp で書けます。 見た目は派手では無いのですが、 グルーピング機能 すべての操作がキーボードで出来る タイル型であるので煩わしいマウスでのウィンドウ操作が不要 という点に惹かれました。 Linux を使う時、私の場合 Debian Gnu/Linux Unstalble をいつも使うのですが、 Unstable だと apt-get install stumpwm したバイナリがコケる…ということでビル ドしてあげました。普段慣れないビルド方法だったので、その時の手順を自分のために もメモしておきます。 前提環境 Debian Gnu/Linux unstable 利用 X の環境は揃っている ビルド手順 clisp をインストール clisp をインストールします。 % sudo apt-get install clisp-dev lisp.run というファイルを stumpwm が見つけられないので symlink 張ってあげます。 ちょっと泥臭い。 ...

openstack-chef-repo で OpenStack 複数台構成をデプロイ

こんにちは。@jedipunkz です。 前回、github.com/rcbops の Cookbooks を利用した OpenStack デプロイ方法を紹介し ました。これは RackSpace 社の Private Cloud Service で使われている Cookbooks で Apache ライセンスの元、誰でも利用できるようになっているものです。HA 構成を 組めたり Swift の操作 (Rings 情報管理など) も Chef で出来る優れた Cookbooks な わけですが、運用するにあたり幾つか考えなくてはならないこともありそうです。 chef-client の実行順番と実行回数が密接に関わっていること HA 構成の手動切替等、運用上必要な操作について考慮する必要性 ※ 後者については OpenStack ユーザ会の方々に意見もらいました。 特に前項は Chef を利用する一番の意義である “冪等性” をある程度 (全くという意味 ではありませんが) 犠牲にしていると言えます。また chef-client の実行回数、タイ ミング等 Cookbooks を完全に理解していないと運用は難しいでしょう。自ら管理して いる Cookbooks なら問題ないですが、rcbops が管理しているので常に更新状況を追っ ていく必要もありそうです。 一方、Opscode, RackSpace, AT&T 等のエンジニアが管理している Cookbooks がありま す。これは以前、日本の OpenStack 勉強会で私が話した ‘openstack-chef-repo’ を利 用したモノです。github.com/stackforge の元に管理されています。 openstack-chef-repo は Berksfile, Roles, Environments のみの構成で各 Cookbooks は Berksfile を元に取得する形になります。取得先は同じく github.com/stackforge 上で管理されています。 ...

Cobbler で OS 自動インストール

こんにちは。@jedipunkz です。 最近、自動化は正義だと最近思うのですが、その手助けをしてくれるツール Cobbler を試してみました。Cobbler と複数 OS, ディストリビューションを CLI, GUI で管理出 来るツールです。PXE, TFTP, DHCPを組分せれば OS の自動構築が出来るのは古くから ありますが、TFTP サーバに配置するカーネルイメージやマックアドレスの管理を一元 して管理してくれるのがこの Cobbler です。 今回は Cobbler の構築方法をお伝えします。本当は Chef Cookbooks で構築したかっ たのですが Opscode Community にある Cookbooks はイマイチだったので、今回は手動 で。 前提環境 OS は CentOSを。Ubuntu を利用すると DHCP のコンフィギュレーションを自動で出 来ません 利用するネットワークの DHCP はオフにします 構築手順 SELINUX を無効にします。石◯さん、ごめんなさい。 # ${EDITOR} /etc/sysconfig/selinux SELINUX=disabled # setenforce 0 EPEL のレポジトリを追加します。 # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm cobbler をインストールします。またその他必要なパッケージもここでインストールし ます。 # yum install cobbler debmirror pykickstart 自分の設定したいパスワードを生成して /etc/cobbler/settings 内の default_password_crypted: に設定します。パスワードの生成は下記のように openssl コマンドを利用します。 ...

Swift HA 構成を Chef でデプロイ

こんにちは。@jedipunkz です。 最近 Chef で OpenStack をデプロイすることばかりに興味持っちゃって、他のことも やらんとなぁと思っているのですが、せっかくなので Swift HA 構成を Chef でデプロ イする方法を書きます。 Swift って分散ストレージなのに HA ってなんよ!と思われるかもしれませんが、ご存 知の様に Swift はストレージノード (accout, object, container) とプロキシノード に別れます。今回紹介する方法だとプロキシノードを Keepalived と Haproxy で HA、 また MySQL も KeepAlived で HA の構成に出来ました。いつものように RackSpace 管 理の Cookbooks を使っています。 参考資料 http://www.rackspace.com/knowledge_center/article/openstack-object-storage-configuration 構成 構成は簡単に記すと下記のようになります。特徴としては… swift-proxy01, swift-proxy02 で HA。VRRP + LB な構成。 swift-proxy01 で git サーバ稼働。Rings 情報を管理。 swift-storageNN がストレージノード OS は Ubuntu server 12.04 です。 |--------- VRRP + Load Balancer ------| +-----------------+ +-----------------+ +-----------------+ +-----------------+ +-----------------+ | swift-proxy01 | | swift-proxy02 | | swift-storage01 | | swift-storage02 | | swift-storage03 | +-----------------+ +-----------------+ +-----------------+ +-----------------+ +-----------------+ | | | | | +-------------------+-------------------+-------------------+-------------------+------------------ | | +-----------------+ +-----------------+ | chef workstation| | chef server | +-----------------+ +-----------------+ 絵は書く意味なかったか…。 ...

OpenStack HA 構成を Chef でデプロイ

こんにちは。@jedipunkz です。 OpenStack を運用する中でコントローラは重要です。コントローラノードが落ちると、 仮想マシンの操作等が利用出来ません。コントローラの冗長構成を取るポイントは公式 wiki サイトに記述あるのですが PaceMaker を使った構成でしんどいです。何より運用 する人が混乱する仕組みは避けたいです。 RackSpace 社の管理している Chef Cookbooks の Roles に ‘ha-controller1’, ‘ha-controller2’ というモノがあります。今回はこれを使った HA 構成の構築方法に ついて書いていこうかと思います。 構成 最小構成を作りたいと思います。HA のためのコントローラノード2台, コンピュートノー ド1台, Chef ワークショテーション1台, Chef サーバノード1台。 +----------------+----------------+----------------+----------------+--------------- public network | | | eth0 | | 10.0.0.0/24 +--------------+ +--------------+ +--------------+ +--------------+ +--------------+ | controller01 | | controller01 | | compute01 | | chef server | | workstation | +--------------+ +--------------+ +--------------+ +--------------+ +--------------+ | eth1 +------------------------------------------------- fixed range network 172.16.0.0/24 特徴 ‘controller01’, ‘controller02’ で HA 化コントローラ ‘compute01’ はコンピュートノード ‘chef server’ は Chef サーバ、Chef11 推奨 ほとんどの作業を行う ‘workstaion’ は Chef ワークステーション nova-network 構成 Chef サーバの構築 Chef サーバの構築方法は本題から外れるので割愛します。今は Omnibus インストーラで一発です。 ...

Chef で OpenStack デプロイ

こんにちは。@jedipunkz です。 前回の記事で OpenCenter を使った OpenStack デプロイを行いましたが、デプロイの 仕組みの実体は Opscode Chef です。慣れている人であれば Chef を単独で使った方が よさそうです。僕もこの方法を今後取ろうと思っています。 幾つかの構成を試している最中ですが、今回 nova-network を使ったオールインワン構 成を作ってみたいと思います。NIC の数は1つです。ノート PC や VPS サービス上にも 構築できると思いますので試してみてください。 今回は Chef サーバの構築や Knife の環境構築に関しては割愛します。 また全ての操作は workstation ノードで行います。皆さんお手持ちの Macbook 等です。 デプロイする先は OpenStack をデプロイするサーバです。 手順 Chef Cookbook を取得 RackSpace 社のエンジニアがメンテナンスしている Chef Cookbook を使います。各 Cookbook が git submodule 化されているので –recursive オプションを付けます。 % git clone https://github.com/rcbops/chef-cookbooks.git ~/openstack-chef-repo % cd openstack-chef-repo ‘v4.0.0’ ブランチをチェックアウト master ブランチは今現在 (2013/07/08) folsom ベースの構成になっているので ‘grizzly’ のためのブランチ ‘v4.0.0’ をローカルにチェックアウトします。 ...

内部で Chef を使っている OpenCenter で OpenStack 構築

こんにちは。@jedipunkz です。 第13回 OpenStack 勉強会に参加してきました。内容の濃い収穫のある勉強会でした。 参加してよかった。特にえぐちさんの OpenCenter に関するプレゼン (下記のスライド 参照のこと) には驚きました。ちょうど当日 RackSpace のエンジニアが管理している github 上の Chef Cookbooks を使って OpenStack 構築できたぁ!と感動していたのに、 その晩のうちに Chef を使って GUI で! OpenStack が自動構築出来るだなんて…。 えぐちさんのスライド資料はこちら。 http://www.slideshare.net/guchi_hiro/open-centeropenstack 早速、私も手元で OpenCenter 使ってみました。えぐちさん、情報ありがとうございましたー。 実は私 としては Chef 単体で OpenStack を構築したいのですが、OpenCenter がどう Cookbook や Roles, Environment を割り当てているのか知りたかったので、 OpenCenter を使って構築してみました。今回はその準備。今日は OpenCenter で皆さ んも OpenStack を構築できるようキャプチャ付きで方法を紹介しますが、次の機会に Chef 単体での OpenStack の構築方法を紹介出来ればいいなぁと思っています。 構成 +---------------+---------------+---------------+---------------+-------------- public network |eth0 |eth0 |eth1 |eth1 | eth1 |10.200.10.11 |10.200.10.12 |10.200.10.13 |10.200.10.14 |10.200.10.15 +-------------+ +-------------+ +-------------+ +-------------+ +-------------+ | opencenter | | oc-chef | |oc-controller| | oc-compute01| | oc-compute02| +-------------+ +-------------+ +-------------+ +-------------+ +-------------+ |10.200.9.14 |10.200.9.15 | eth0 |eth0 +---------------+-------------- vm network 5台使ってみた 全てのノードでインターネットへの経路を public network に向ける VM が接続する br100 ブリッジは eth0 にバインドした VM からインターネットへのアクセスは oc-computeNN が NAT する oc-chef は Chef Server ! OpenCenter の構築 構築は… ...

Sensu 監視システムを Chef で制御

こんにちは。@jedipunkz です。 自動化の基盤を導入するために色々調べているのですが、監視も自動化しなくちゃ!と いうことで Sensu を調べてたのですが Chef との相性バッチリな感じで、自分的にイ ケてるなと思いました。 公式サイト http://www.sonian.com/cloud-monitoring-sensu/ ドキュメント http://docs.sensuapp.org/0.9/index.html 開発元が予め Chef の Cookbook (正確にはラッパー Cookbook 開発のための Cookbook で Include して使う) を用意してくれていたり、インストールを容易にする ための Omnibus 形式のパッケージの提供だったり。Omnibus なのでインストールと共 に Sensu が推奨する Ruby 一式も一緒にインストールされます。Chef と同じですね。 今回紹介したいのは、Chef で Sensu を構築・制御する方法です。 +--------------+ +--------------+ | chef-server | | workstation | +--------------+ +--------------+ | | +----------------+ | +--------------+ | sensu-server | +--------------+ | +----------------+----------------+----------------+ | | | | +--------------+ +--------------+ +--------------+ +--------------+ | sensu-client | | sensu-client | | sensu-client | | sensu-client | ..> +--------------+ +--------------+ +--------------+ +--------------+ | service node | | service node | | service node | | service node | +--------------+ +--------------+ +--------------+ +--------------+ この構成の処理の流れとしては… ...