OpenStack Folsom 構築スクリプト

※2012/12/04 に内容を修正しました。Network Node を切り出すよう修正。 ※213/01/09 に内容を修正しました。パラメータ修正です。 OpenStack の Folsom リリースからメインコンポーネントの仲間入りした Quantum を 理解するのに時間を要してしまったのだけど、もう数十回とインストールを繰り返して だいぶ理解出来てきました。手作業でインストールしてると日が暮れてしまうのでと思っ て自分用に bash で構築スクリプトを作ったのだけど、それを公開しようと思います。 OpenStack Folsom の構築に四苦八苦している方に使ってもらえたらと思ってます。 http://jedipunkz.github.com/openstack_folsom_deploy/ chef や puppet, juju などデプロイのフレームワークは今流行です。ただどれも環境 を予め構築しなくてはいけないので、誰でもすぐに使える環境ってことで bash スクリ プトで書いています。時間があれば是非 chef の cookbook を書いていきたいです。と いうか予定です。でも、もうすでに opscode 等は書き始めています。(汗 ではでは、紹介を始めます。 前提の構成 management segment 172.16.1.0/24 +--------------------------------------------+------------------+----------------- | | | | | | | eth2 172.16.1.13 | eth2 172.16.1.12 | eth2 172.24.1.11 +------------+ +-----------+ +------------+ | | eth1 ------------------- eth1 | | | | | network | vlan/gre seg = 172.24.17.0/24 | compute | | controller | | node | data segment = 172.16.2.0/24 | node | | node | +------------+ 172.16.2.13 172.16.2.12 +-----------+ +------------+ | eth0 10.200.8.13 | eth0 10.200.8.11 | | | | +--------------------------------------------+------------------+----------------- | public segment 10.200.8.0/24 | | 10.200.8.1 +-----------+ | GW Router |-> The Internet +-----------+ Quantum は、 ...

Swift で簡単に分散オブジェクトストレージ

最近、OpenStack にどっぷり浸かってる @jedipunkz です。 Folsom がリリースされて Quantum を理解するのにめちゃ苦労して楽しい真っ最中なのだけど、 今日は OpenStack の中でも最も枯れているコンポーネント Swift を使ったオブジェクトストレー ジ構築について少し書こうかなぁと思ってます。 最近は OpenStack を構築・デプロイするのに皆、Swift 入れてないのね。仲間はずれ 感たっぷりだけど、一番安定して動くと思ってる。 これを読んで、自宅にオブジェクトストレージを置いちゃおぅ。 構成は ?… +--------+ | client | +--------+ | +-------------+ | swift-proxy | +-------------+ 172.16.0.10 | +-------------------+-------------------+ 172.16.0.0/24 | | | +-----------------+ +-----------------+ +-----------------+ | swift-storage01 | | swift-storage02 | | swift-storage03 | +-----------------+ +-----------------+ +-----------------+ 172.16.0.11 172.16.0.12 172.16.0.13 となる。IP アドレスは… client : 172.16.0.0/24 のどこか swift-proxy : 172.16.0.10 swift-storage01 : 172.16.0.11 swift-storage02 : 172.16.0.12 swift-storage03 : 172.16.0.13 これはサンプル。自宅の環境に合わせて読み替えてください。 ...

Secret Training of Opscode Chef

昨日、開かれた “Opscode Chef のシークレットトレーニング” に参加してきました。 場所はうちの会社で KDDI ウェブコミュニケーションズ。主催はクリエーションオンラ インさんでした。講師は Sean OMeara (@someara) さん。今後 Chef のトレーニングを 日本で開くため、事前に内容についてフィードバックが欲しかったそうで、オープンな レッスンではありませんでしたが、次回以降、日本でも期待できそうです。 内容は chef の基本・メリット・考え方などを網羅した資料で1時間程進められ、その 後はハンズオンがメインでした。今日は実際にハンズオンの内容を書いていこうかと思 います。 chef workstation 環境は揃っている前提にします。また chef server として opscode の hosted chef (opscode が提供している chef のホスティングサービス, chef-server として動作します) を使います。またターゲットホストは当日は ec2 イ ンスタンスを使いましたが、chef ワークステーションから到達できるホストであれば 何でも良いでしょう。 まずは chef-repo のクローン。講習会で使われたものです。 git clone https://github.com/opscode/chef-repo-workshop-sysadmin.git chef-repo 予め cookbook が入っています。 次に、manage.opscode.com へアクセスしアカウントを作ります。Free アカウントが誰 でも作れるようになっています。 https://manage.opscode.com へアクセス -> Sign Up をクリック -> アカウント情報 を入力 -> submit -> メールにて verify -> 自分のアカウント名をクリック -> Get a new key をクリックし <アカウント名>.pem をダウンロード -> create a organization をクリックし Free を選択し、適当な名前で organization を作成。 validation key と knife.rb をダウンロード ...

第7回 OpenStack 勉強会参加レポート

第7回 OpenStack 勉強会に参加してきました。 開催日 : 2012年08月28日 開催場所 : 天王洲アイル ビットアイル 1年以上前から OpenStack, CloudStack 界隈はウォッチしていたのだけど、実際に構築 してってなると、今月始めばかりで、OpenStack も先週4日間掛けてやっとこさ構築出来たっ てところ…orz。前回のブログ記事でへなちょこスクリプト公開しちゃったのを後悔しつ つ現地に向かいましたw あと、その他に Opscode Chef 等の技術にも興味持って調査し ていたので、今回の勉強会はまさに直ぐに活かせる内容だった。 では早速、報告があった内容と自分の感想を交えつつ書いていきます。 HP さんのクラウドサービス HP Cloud Services 日本 HP 真壁さま HP さんは既に Public クラウドサービスを提供し始めていて Ojbect Storage, CDN 部 分は既にリリース済みだそうだ。compute, block storage 等はベータ版状態でこれか らリリース。OpenStack ベースな構成で Horizon 部分は自前で開発したもの。既 にサーバ数は万の桁まで到達! MySQL な DaaS も登場予定だとか。 あと HP だけにクラウドサービスに特化したサーバ機器も出していて、それが HP Project Moonshot 。ARM/Atom 搭載のサーバで 2,880 nodes/rack が可能だとか!す げぇ。もちろん電源等のボトルネックとなるリソースは他にも出てきそうだけど。 ノード数って増えると嬉しいのかな?コア数が増えるのは嬉しいけど。 Canonical JuJu Canonical 松本さま JuJu は Canonical が提供しているデプロイツールで charms と呼ばれるレシピ集 (っ て言うと語弊があるのか) に従ってソフトウェアの配布を行うツール。MAAS という物 理サーバのプロビジョニングツールと組み合わせればハードウェアを設置した後のプロ ビジョニング操作は一気通貫出来る、といったもの。具体的な操作例を挙げてくれたの で添付してきます。 ...

OpenStack ESSEX オールインワン インストール

OpenStack のインストールってしんどいなぁ、って感じて devstack http://devstack.org/ とかで構築して中を覗いていたのですが、そもそも devstack って再起動してしまえば何も起動してこないし、swift がインストールされないしで。 やっぱり公式のマニュアル見ながらインストールするしかないかぁって…。感じてい たのですが…。 http://docs.openstack.org/essex/openstack-compute/starter/os-compute-starterguide-trunk.pdf このマニュアルの前提は、ネットワーク2セグメント・server1, server2 の計2台が前 提なのですが、環境作るのがしんどいので、オールインワンな構築がしたい!サーバ1台で OpenStack ESSEX を インストールしたい!で、シェルスクリプトを作ったのでそれを使ったインストール方法を紹介します。 ぼくの Thinkpad に OpenStack ESSEX をインストールしてブラウザで localhost に接続して いる画面です。ちゃんと KVM VM が起動して noVNC で接続できています。自己満足やぁ。 前提条件 Ubuntu Server 12.04 LTS amd64 がインストールされていること Intel-VT もしくは AMD−Vなマシン NIC が一つ以上ついているマシン /dev/sda6, /dev/sda7 (デバイス名は何でもいい) の2つが未使用で空いていること です。 構成 1 NIC を前提に eth0 と eth0:0 の2つを想定すると、こんな構成になります。eth0:0 は完全にダミーで IP アドレスは何でもいいです。br100 ブリッジデバイス上で VM が NW I/F を持ちます。floating range ってのは OpenStack で言うグローバル IP レン ジ。グローバルである必要は無いですが eth0 と同じレンジの IP アドレスを VM に付 与出来ます。/dev/sda6 が nova-volumes で /dev/sda7 が swift 。なので OS インス トール時に2つのデバイスを未使用で空けておいてください。 ...

chef-solo で学ぶ chef の基本動作

仕事で Opesocd Chef の情報収集をしてたのですが、僕が感じるにこれはインフラエン ジニアの未来だと。逆に言うとインフラエンジニアの危機。AWS のようなクラウドサー ビスがあればアプリケーションエンジニアが今までインフラエンジニアが行っていた作 業を自ら出来てしまうからです。 インフラエンジニアなら身に付けるしかない!って僕が感じる Chef について chef-solo を通して理解するために情報まとめました。 chef には chef-server 構成で動作するものと chef-solo というサーバ無しで動作す るものがある。chef-server は構築するのが少し大変 (後に方法をブログに書きたい) なので今回は chef-solo を使ってみる。ちなみに Opscode が chef-server のホスティ ングサービスを展開している。彼らとしてはこちらがメイン。 chef-solo の入れ方 opscode が推奨している ruby-1.9.2 をインストールする。rvm は色々問題を招き寄せ るので rbenv を使って環境整えます。root ユーザ環境内に入れてください。 必要なパッケージをインストール % sudo apt-get update % sudo apt-get install build-essential zlib1g-dev libssl-dev root ユーザにてrbenv をインストール % sudo -i # cd ~ # git clone git://github.com/sstephenson/rbenv.git .rbenv # echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc # echo 'eval "$(rbenv init -)"' >> ~/.zshrc ruby-build をインストール ...

Opscode Bootstrap を使った Chef-Server 構築

chef-server の構築は少し面倒だと前回の記事 http://jedipunkz.github.com/blog/2012/08/18/chef-solo/ に書いたのですが、 opscode が提供している bootstrap を用いると、構築作業がほぼ自動化出来ます。 今回はこの手順を書いていきます。 chef のインストール 前回同様に rbenv を使って ruby をインストールし chef を gem でインストールして いきます。 % sudo apt-get update % sudo apt-get install zlib1g-dev build-essential libssl-dev % sudo -i # cd ~ # git clone git://github.com/sstephenson/rbenv.git .rbenv # echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc # echo 'eval "$(rbenv init -)"' >> ~/.zshrc ruby-build をインストールします。 # mkdir -p ~/.rbenv/plugins # cd ~/.rbenv/plugins # git clone git://github.com/sstephenson/ruby-build.git ruby-1.9.2 インストール ...

#DevLOVE に参加してきました。Chef De DevOps

2012年07月21日に大崎のフィーチャーアーキテクトさんで行われた #DevLOVE (Chef De DevOps) に参加してきました。 開催日 : 2012年07月21日(土曜日) 15:00 - 20:40 場所 : 大崎 フューチャーアーキテクトさま URL : http://www.zusaar.com/event/314003 仕事場でも Chef の利用を考え始めていて今回いい機会でした。半年前と比べるとだい ぶ揃って来ましたが、まだまだ資料の少ない Chef。貴重な機会でした。 プログラムは下の通り。 *『Chefの下準備』by Ryutaro YOSHIBA [ @ryuzee ] *『Chef自慢のレシピ披露』 by 中島弘貴さん [ @nakashii_ ] * ワークショップ『みんなでCooking』 * dialog『試食会』 * Niftyさんのスーパー宣伝タイム!!! *『渾身会』 @ryuzee さんの “Chef の下準備” は SlideShare に使った資料が公開されています。 20120721 chefの下準備 #devlove from Ryuzee YOSHIBA 印象的だったのが、VirtualBox + Vagrant という環境。実際に使っていらっしゃいま した。MacBook の中に仮想環境とそのインターフェースである Vegrant を使って、デ プロイのテスト等が実施できるそうです。また、Vegrant 設定ファイルは Chef のレシ ピを自動読込して、常に本番環境と同じ状態にしているそうです。CloudFormation と いうキーワードや Capistrano というキーワードが出てきました。最近よく耳にするワー ドです。また CI は Jenkins だよね、だったり。 ...