FreeBSD を OpenStack で管理したいなぁと思って自宅に OpenStack 環境作ってました。
お正月なのに…
使ったのは folsom ベースの OpenStack (nova-network) と FreeBSD 9.1 です。8 系 の FreeBSD でも大体同じ作業で実現出来るぽいです。あと nova-network でって書い たのは自宅に quantum だと少し厳しいからです。FlatDHCPManager が調度良かった。
今回のポイントは FreeBSD の HDD, NIC のドライバに virtio を使うように修正する ところです。OpenStack (KVM) は virtio 前提なので、そうせざるを得なかったです。
今回使ったソフトウェア OpenStack Folsom (nova-network) Ubuntu Server 12.10 FreeBSD 9.1 amd64 作業方法 準備としてこれらが必要になります。事前に行なってください。
FreeBSD-9.1-RELEASE-amd64-disc1.iso ダウンロード 作業ホスト (Ubuntu Server 12.10) に qemu-kvm をインストール freebsd9.img として qcow2 イメージを作成します。
% kvm-img create -f qcow2 freebsd9.img 8G 作成したイメージファイルに FreeBSD 9.1 をインストールします。
...
今日は “OpenStack Advent Calendar 2012 JP” というイベントのために記事を書きた いと思います。Advent Calendar とはキリスト生誕を祝うため 12/25 まで毎日誰かがブログ 等で特定の話題について述べるもの、らしいです。CloudStack さん, Eucalyptus さん も今年はやっているそうですね。
イベントサイト : http://atnd.org/events/34389
では早速!(ただ..CloudStack の Advent Calendar とネタがかぶり気味です..。)
御存知の通り OpenStack は API を提供していてユーザがコードを書くことで OpenStack のコマンド・Horizon で出来ることは全て可能です。API を叩くのに幾つか フレームワークが存在します。
fog libcloud deltacloud などです。
ここでは内部で fog を使っている knife-openstack を利用して API に触れてみよう かと思います。API を叩くことを想像してもらって、インフラエンジニアの仕事内容の 変化まで述べられたらいいなぁと思っています。
OpenStack 環境の用意 予め OpenStack 環境は揃っているものとしますです。お持ちでなければ
http://jedipunkz.github.com/blog/2012/11/10/openstack-folsom-install/
この記事を参考に環境を作ってみて下さい。あ、devstack でも大丈夫です。
chef, knife-openstack の用意 chef, knife-openstack を入れるのは OpenStack 環境でも、別のノードでも構いません。
chef が確か 1.9.2 ベースが推奨だったので今回は 1.9.2-p320 使います。 ruby は rbenv で入れるのがオススメです。knife-openstack, chef のインストールは…
...
InternetWeek2012 で開かれた “OpenFlow Trema ハンズオン” に参加してきました。
講師 : Trema 開発チーム 鈴木一哉さま, 高宮安仁さま 開催日 : 2012年11月21日 OpenStack の Quantum Plugin として Trema が扱えるという話だったので興味を持っ たのがきっかけです。また Ruby で簡潔にネットワークをコード化出来る、という点も 個人的に非常に興味を持ちました。OpenStack, CloudStack 等のクラウド管理ソフトウェ アが提供する API といい、Opscode Chef, Puppet 等のインフラソフトウェア構築フレー ムワークといい、この OpenFlow もインフラを形成する技術を抽象化し、技術者がコー ドを書くことでインフラ構築を行える、という点ではイマドキだなと思います。
Google は既にデータセンター間の通信を 100% 、OpenFlow の仕様に沿った機器・ソフ トウェアをを独自に実装しさばいているそうですし、我々が利用する日も近いと想像し ます。
OpenFlow のモチベーション OpenFlow の登場には理由が幾つかあって、既存のネットワークの抱えている下記の幾 つかの問題を解決するためです。
装置仕様の肥大化 多様なプロトコルが標準化 装置のコスト増大 ある意味、自律したシステムが招く複雑さ 一方、OpenFlow を利用すると..
コモディティ化された HW の利用が可能 OpenFlow はコントローラ (神) が集中管理するので楽な場合もある ネットワーク運用の自動化が図れる アプリケーションに合わせた最適化 柔軟な自己修復 等のメリットが。
OpenFlow と Trema とは? OpenFlow は ‘OpenFlow コントローラ’, ‘OpenFlow スイッチ’ から成る。OpenFlow コ ントローラと OpenFlow スイッチの間の通信は OpenFlow プロトコルでされる。今日の 話題 Trema はこの..
...
※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 は、
...
最近、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 これはサンプル。自宅の環境に合わせて読み替えてください。
...
昨日、開かれた “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 勉強会に参加してきました。
開催日 : 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 のインストールってしんどいなぁ、って感じて 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つのデバイスを未使用で空けておいてください。
...