際際滷
Submit Search
murakumo クラウドコントロ`ラ
?
4 likes
?
2,008 views
Shingo Kawano
Follow
シンプルでg喘議な馨顎姻温一顎馨看というクラウドコントロ`ラの府初です
Read less
Read more
1 of 24
Download now
Download to read offline
More Related Content
murakumo クラウドコントロ`ラ
1.
murakumo クラウドコントロ`ラ shin5ok 2013.07.23井
2.
murakumo とは オリジナルのクラウドコントロ`ラ(IaaS) ∀襯泪轡鵝⊆阿咼好肇讒`ジ、ネットワ`ク砿尖のための web apiの鹿栽であり コマンドラインツ`ル F壓、Linux
KVM喘 とあるクラウド/レンタルサ`バの児Pとしてサ`ビス戻工嶄
3.
murakumo _kのトリガ` 2012定、輩嬾箸IaaSをBするため{砲鯤爾瓩燭 輝rIaaSがBできるオ`プンソ`スで 勣周を困燭擦襪發里なかった??? OpenStack(輝rDiablo)は、バグが謹くこのまま聞うことはできないと登僅 ないものは恬る 茶も惹ねて Irg坪では冩梢_kをするrgが怎りないため 繁のオ`プンソ`スとして徭姙で冩梢、_k
4.
どんな繁がmurakumoを聞ったらいい ?クラウドの咾を尖盾して聞いたい繁 ?謹なシステム┘魯ぅ僣`バイザやストレ`ジ吉に鬉靴 C嬬が駅勣でない繁 ?C嬬やトラブル盾Qを、徭蛍でしたい┐垢戮と房う繁 ?Python(Openstack)、Java(Cloudstack)より、Perlが挫きな繁 ?Ubuntuより、CentOSの圭が聞いやすい繁
5.
デモ
6.
クリアしたかった勣周 \喘宀としてのこだわり ?CLI(コマンドライン)から畠ての荷恬ができること ?\喘、O協をできるだけ徭啝したい gHのシステムと砿尖DBの坪否に奮い`いがk伏しないようなシステム O協の徭啝、徭啜弔淵踪`ルバック ?シンプル&スモ`ルで、\喘メンバに尖盾しやすい撹 HAC嬬吉はC嬬として、翌何ツ`ルとして_kする
7.
クリアしたかった勣周 2013定歪にg喘レベルまで頼撹 サ`ビス並I宀としてのこだわり _k宀としてのこだわり ?畠てのC嬬をweb apiで旋喘できること UIや巓xツ`ルが_kしやすい ?コ`ドを100%委燐できて、 トラブルrの鬄∃C嬬の弖紗吉が儻堀にできること デバッグしやすいツ`ル ?スモ`ルスタ`トが辛嬬で、撹Lに鬉犬できること
8.
麼に聞っている室g コントロ`ラ murakumo ノ`ド murakumo_node _k冱Z Perl5.14Perl5.14 _kモジュ`ル Catalyst、DBIx::Class、 Log::Log4Perl、Data::UUID 麿 Catalyst、Sys::Virt、 Parallel::Prefork
麿 Webサ`バ Nginx、Starman HTTP::Server::PSGI Jobサ`バ - TheSchwartz DBサ`バ MySQL5.1゛ SQLite(Job喘 駅コンポ`ネント RedHat狼の栽 python-virtinst Libvirt、libguestfs、 Post?x(apiリトライキュ`のため 嘛_Jgみ プラットフォ`ム RedHat狼Linux(CentOS6、Scienti?c Linux6吉)RedHat狼Linux(CentOS6、Scienti?c Linux6吉)
9.
murakumoの蒙(撹中 ?シンコントロ`ラ、リッチエ`ジェント 徭舵議に咾ノ`ドエ`ジェント 嶷たい碧並は掲揖豚でエ`ジェントが毅輝 駅勣なストレ`ジO協、ネットワ`ク(VLAN/Bridge)O協を徭啜弔謀亢呂靴董g仏 ∀襯泪轡鵑臨Bとデ`タベ`スに音屁栽が竃にくい撹 ?EY栽なコンポ`ネント 匯何または畠何が唯峭しても、∀襯泪轡鵑睦壱がでる辛嬬來が富ない コントロ`ラ/ノ`ドは、犹イweb apiでのやりとりなので、ステ`トレスで嬾墾にい 咾崙囮しにくい
libvirtのC嬬はなるべく聞わない ?gなセットアップ CentOS6のサ`バであれば、10蛍殻業のセットアップ ?シンプルで弌さく、メンテナンスしやすい ?スケ`ルアウト/アップに屡贋のノウハウが旋喘できる Web+DBの\喘ノウハウを聞って、砿尖鵑紗に魗苗
10.
murakumo コンポ`ネントのvS api client (cli
/ web browser) node agent node job api storage agent MTA node apimodel コントロ`ラ ノ`ド ストレ`ジ DB http/https http/https http/https http/https libvirtd
11.
CentOS6(64bit)鬚 gセットアップ テンポラリ┐覆鵑舛磴辰藤バ`ジョン ?コントロ`ラ $ curl
-L -s murakumo.55mp.com/install/ ? sudo perl - controller ?ノ`ド $ curl -L -s murakumo.55mp.com/install/ ? sudo perl - node プロジェクト、ノ`ドの鞠hをすると、クラウドが旋喘辛嬬になります
12.
?web apiによる∀襯泪轡(KVM)の荷恬/砿尖 ?∀襯泪轡鵑臨撹 ?∀襯泪轡鵑撹筝 CPU/メモリの護輝、}方ディスク(}方ストレ`ジ)、}方NIC(}方VLAN)、 isoイメ`ジのオンライン秘紋、}方のIP護り輝て、∀觧(virtio)モ`ドの俳紋、 ブリッジ侏∀襯泪轡鵑離汽櫞`ト、ディスクキャッシュモ`ドの筝 吉 ?∀襯泪轡鵑離ロ`ン Linuxはlibguestfsを聞ってネットワ`ク、ホスト兆吉の徭嘖O協が辛嬬 ?軟/唯峭/崙唯峭 ?ライブマイグレ`ション ?HAgYC嬬 ?プロジェクトグル`プ亜▲工`パ`ユ`ザ慙泙砲茲襯螢秋`ス砿尖 ?テンプレ`トC嬬 販吭の∀襯泪轡鵑鮃架┘謄鵐廛讒`トとして、麿プロジェクトに巷_辛嬬 murakumoの麼なC嬬
1
13.
?ノ`ドサ`バ麗尖サ`バのステ`タス砿尖、護輝 旋喘リソ`スや塞により、∀襯泪轡鵑鯑咾垢襯立`ドサ`バを徭嘸x協 ?}方ネットワ`ク(VLAN)、IPアドレスの砿尖、護輝 ?}方のストレ`ジを悲にMみ栽わせが辛嬬 ∀襯泪轡鵑1岬朕のディスクをメインストレ`ジ、2岬朕を バックアップ喘ストレ`ジにO崔する吉の聞い蛍けが辛嬬 ?ストレ`ジエ`ジェントとB亊した、ストレ`ジの砿尖、護輝 ストレ`ジの塞(iowait)、腎き否楚によるストレ`ジの徭嘸xk ?ディスクプ`ルによる互堀clone ?鋤峭apiのO協 murakumoの麼なC嬬 2
14.
?murakumo CLIによるコマンドライン荷恬 F壓 26のサブコマンドを旋喘辛嬬 murakumoの麼なC嬬
3 ?サブコマンドg佩箭 ?恬撹gみの∀襯泪轡鵑厘屍E $ murakumo vps-de?ne-list ?∀襯泪轡鵑clone(ネットワ`クの徭嘖O協) $ murakumo vps-template-clone ? > --uuid d0050b3a-849e-4fdd-bd47-858bc9c17abe ? > --name mail-server001 --vlan-id 2001 --set-network eth0 --assign-ip ?∀襯泪轡鵑cpu を8、メモリを8GBに筝 $ murakumo vps-de?ne-modify ? > --uuid daeb61fb-7390-49a1-9639-5b1858298723 ? > --cpu-number 6 --memory 8192000 ?∀襯泪轡鵑鬟薀ぅ屮泪ぅ哀讒`ション $ murakumo vps-migration --uuid daeb61fb-7390-49a1-9639-5b1858298723? > --dst-node node005 ?畠プロジェクトの∀襯泪轡鵑離ぅ鵐好織鵐垢厘屍E┘工`パ`ユ`ザ`モ`ド) $ murakumo vps-list-all
15.
CLIの旋喘箭 ∀襯泪轡鵑離ぅ鵐好織鵐航屍E ∀襯泪轡鵑淋スペック
16.
CLI (デバッグモ`ド)の旋喘箭 ノ`ドの匯E┘妊丱奪哀譽戰 2)
17.
api箭1 ∀襯泪轡鵑厘屍E request: GET https://apiサ`バ:ポ`ト桑催/プロジェクトID/vps/de?ne/list/?key=apiキ` { "authed"
: 1, "is_admin" : 1, "data" : [ { "update_time" : "2013-06-27 15:46:52", "memory" : "1024000", "regist_time" : "2013-06-25 16:46:53", "cpu_number" : "1", "name" : "centos6-minimum", "tag" : "", "uuid" : "66f332aa-dd6b-11e2-a3a2-6390677a1317" }, : (福待) : { "update_time" : "2013-06-27 15:51:08", "memory" : "1024000", "regist_time" : "2013-06-27 15:50:40", "cpu_number" : "1", "name" : "nat", "tag" : "", "uuid" : "e1687a5a-def5-11e2-b984-4aee677a1317" } ], "tag" : "", "project_id" : "COMMON", "message" : "", "result" : 1 } response body:
18.
api箭2 ∀襯泪轡鵑clone request: POST https://apiサ`バ:ポ`ト桑催/プロジェクトID/vps/de?ne/clone/テンプレ`トのuuid/? key=apiキ` request
body: { "set_network" : "eth0", "name" : "clone-vps001", "assign_ip" : 1, "vlan_id" : "4001" } response body: { "job_uuid" : "588edb82-e25d-11e2-a59e-1bce677a1317", "uuid" : "66f332aa-dd6b-11e2-a3a2-6390677a1317", "node" : "murakumo-node001:3000", "message" : "", "authed" : 1, "is_admin" : 1, "project_id" : "COMMON", "result" : 1 } 掲揖豚ジョブとしてI尖されるため、k佩された job_uuid について、apiでY惚をい栽わせる侘塀 https://github.com/shin5ok/murakumo/wiki/api%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88 apiドキュメント恬撹嶄
19.
murakumo 駅勣C匂?スペック ?コントロ`ラ喘サ`バ :
murakumoをインスト`ル 1つ參貧のNICをもったサ`バ ∀觧されていてもok(ただし murakumoの砿尖和參翌のもの ?ノ`ド : murakumo_node をインスト`ル ∀觧屶址C嬬cpu(}方コア)をもった麗尖サ`バ 恷詰2つ參貧、できれば4つ參貧のNIC ストレ`ジネットワ`ク喘は、10Gbps參貧の。囃が竃るものを容X ?ストレ`ジ NFSストレ`ジ}方のストレ`ジを揖rに旋喘辛嬬 ストレ`ジエ`ジェントを聞う栽は、Linux(PC-Unix)でNFSをBすること ?サ`ビス喘スイッチ坤哀踪`バル、eネットワ`ク タグVLANをサポ`トしたスイッチ ?ストレ`ジ喘、砿尖喘のスイッチ 宥械のL2スイッチ
20.
サ`ビス喘スイッチ タグVLAN murakumo コントロ`ラ murakumo_node ノ`ドサ`バ murakumo_node ノ`ドサ`バNFSストレ`ジ ストレ`ジスイッチ 砿尖セグメント喘スイッチ vps vps
vps vps vps vps vps vps グロ`バル1 グロ`バル2 murakumoの恷弌撹イメ`ジ(g喘レベル) ストレ`ジ 砿尖サ`バ ストレ`ジスイッチ
21.
サ`ビス喘スイッチ タグVLAN プライベ`トネットワ`ク喘スイッチ 砿尖セグメント喘スイッチ murakumoのイメ`ジ サ`ビス喘スイッチ タグVLAN DB
DB コントロ `ラ ストレ `ジ 砿尖サ `バ ストレ `ジ 砿尖サ `バ ストレ` ジ ストレ` ジ ospf吉 vrrp コントロ `ラ ノ`ドサ`バ蛤 ストレ`ジスイッチ レプリケ`ション vip bondingによる庇L晒/謹嶷晒
22.
?ネットワ`クC嬬の OpenFlowオ`バ`レイネットワ`クを聞ったVLAN崙泙粒 ?プロジェクト阿縫螢秋`スquotaをg廾 旋喘できるcpu方、揖r∀襯泪轡麁喨など ?ストレ`ジC嬬の ストレ`ジ何蛍をプラグイン晒し、iSCSIやその麿蛍柊ストレ`ジ吉に 鬉任るように篇嶄 ?徭嘖O協/砿尖C嬬の晒 ChefとのB亊 ?RESTful API晒 ?寄トなノ`ド紗への ノ`ド方為岬、∀襯泪轡麒認岬ト 換岷圭鬚悗 書瘁のtodo
23.
リソ`ス ソ`ス砿尖 https://github.com/shin5ok/murakumo https://github.com/shin5ok/murakumo_node https://github.com/shin5ok/murakumo_storage_agent apiドキュメント(恬撹嶄 https://github.com/shin5ok/murakumo/wiki/api%E3%83%89%E3%82%AD %E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88
24.
Thank you for
your time.
Download