More Related Content More from VirtualTech Japan Inc. (20) ベアメタルOpenStackで始めるクラウド環境構築2. ⮬ᕫ⤂
• ⋢⨨㻌ఙ⾜䠄䛯䜎䛚䛝㻌䛾䜆䜖䛝䠅
– ntamaoki@virtualtech.jp
– twitter.com/ntamaoki
– facebook.com/ntamaoki
• ᪥ᮏ௬ᢏ⾡ᰴᘧ♫㻌2013/8 -
– 䜶䞁䝍䞊䝥䝷䜲䝈䜽䝷䜴䝗ᴗ㒊
• OpenStack䛾౯್䜢ఏ䛘䜛
– ThinkIT䛷OpenStack䝕䜱䝇䝖䝸䝡䝳䞊䝅䝵䞁8♫ẚ㍑グ䜢⏬
• 䜶䞁䝍䞊䝥䝷䜲䝈䜽䝷䝇䛾䜽䝷䜴䝗ᇶ┙ᵓ⠏䛾᳨ウᨭ
• ᪥ᮏ䜸䝷䜽䝹ᰴᘧ♫㻌 – 2013/7
2
䜲䞁䝖䝻䝎䜽䝅䝵䞁
3. ᪥ᮏ௬ᢏ⾡ᰴᘧ♫㻌ᴫせ
• ♫ྡ䠖᪥ᮏ௬ᢏ⾡ᰴᘧ♫
– ⱥㄒྡ䠖VirtualTech Japan Inc.
– ␎⛠䠖᪥ᮏ௬ᢏ⾡䠋VTJ
䝧䞁䝎䞊䝙䝳䞊䝖䝷䝹䛺
⊂❧⣔௬ᢏ⾡䛾
䜶䜻䝇䝟䞊䝖㞟ᅋ
• タ❧䠖2006ᖺ12᭶
• ㈨ᮏ㔠䠖2,000
• ୖ㧗䠖1൨3,000䠄2013ᖺ7᭶ᮇ䠅
• ᮏ♫䠖ᮾி㒔㇂༊㇂1-8-1
• ྲྀ⥾ᙺ䠖ᐑཎ㻌ᚭ䠄௦⾲ྲྀ⥾ᙺ♫㛗වCEO䠅
• ఀ⸨㻌ᏹ㏻䠄ྲྀ⥾ᙺCTO䠅
• 䝇䝍䝑䝣䠖9ྡ䠄䛖䛱䚸8ྡ䛜௬ᢏ⾡ᑓ㛛䜶䞁䝆䝙䜰䛷䛩䠅
• URL䠖http://VirtualTech.jp/
• ௬ᢏ⾡䛻㛵䛩䜛◊✲䛚䜘䜃㛤Ⓨ
– ௬ᢏ⾡䛻㛵䛩䜛ྛ✀ㄪᰝ
– ௬ᢏ⾡䛻㛵㐃䛧䛯䝋䝣䝖䜴䜵䜰䛾㛤Ⓨ
– ௬ᢏ⾡䜢ᑟධ䛧䛯䝅䝇䝔䝮䛾ᵓ⠏
– OpenStack䛾ᑟධᨭ䞉᪂つᶵ⬟㛤Ⓨ
3
䜲䞁䝖䝻䝎䜽䝅䝵䞁
4. 䜲䞁䝖䝻䝎䜽䝅䝵䞁
௬⎔ቃᵓ⠏䜢䝖䞊䝍䝹䝃䝫䞊䝖
ᡓ␎❧
タィ
ᑟධ䞉⛣⾜
• ᡓ␎❧
– 䝁䝇䝖๐ῶ䚸♫ෆᶆ‽䚸ᑗ᮶䝥䝷䞁䛾䝁䞁䝃䝹䝔䜱䞁䜾
• タィ
– せồᵝ䛾⟇ᐃ
– 䝃䞊䝞䚸䝇䝖䝺䞊䝆䛛䜙䝛䝑䝖䝽䞊䜽䜎䛷䜰䝥䝸䜿䞊
䝅䝵䞁䜎䛷⪃៖䛧䛯タィ᭱㐺
– 䜻䝱䝟䝅䝔䜱䝥䝷䞁䝙䞁䜾䠄䝧䞁䝏䝬䞊䜽䠅
• ᑟධ
– ௬䝋䝸䝳䞊䝅䝵䞁䝟䝑䜿䞊䝆䛾ᥦ౪
– ௬⤫ྜ䠄P2V᪤Ꮡ⎔ቃ⛣⾜䠅
• 㐠⏝ಖᏲ
– 䜶䞁䝆䝙䜰ᩍ⫱
– ᢏ⾡䝃䝫䞊䝖䛾ᥦ౪
– OSS䝋䞊䝇䝁䞊䝗䝺䝧䝹䝃䝫䞊䝖
㐠⏝ಖᏲ
䝧䞁䝎䞊䝙䝳䞊䝖䝷䝹䛺䝽䞁䝇䝖䝑䝥䞉䝃䝫䞊䝖䜢䛤ᥦ౪ 4
5. OpenStack䜈䛾㈉⊩
• 㛤Ⓨ
– Nova bare-metal
provisioning
– DiskImage Builder
– Bug fixes in various
projects
• 䜲䝧䞁䝖⏬䞉㐠Ⴀ
• 䝗䜻䝳䝯䞁䝖බ㛤
5
Stackalytics – VirtualTech’s contributions
Commit ᩘ䛿 120
OpenStack᭱᪂ሗ䝉䝭䝘䞊
䜲䞁䝖䝻䝎䜽䝅䝵䞁
6. OpenStack᭱᪂ሗ䝉䝭䝘䞊
• OpenStack䛻㛵ᚰ䛾䛒䜛䜶䞁䝆䝙䜰䜢ᑐ㇟
䛸䛧䛯ᢏ⾡䝉䝭䝘䞊
• 㐣ཤ8ᅇᐇ䠄ᣓᘼෆ䛿⏦㎸⪅ᩘ䠅
– 2014/2 HP Moonshot ⤂ (100ྡ)
– 2014/4 SDNOpenStack (200ྡ)
– 2014/6 䝇䝖䝺䞊䝆 (120ྡ)
– 2014/8 OpenStack Distribution (140ྡ)
– 2014/10 つᶍ×䝛䝑䝖䝽䞊䜽 (120ྡ)
– 2014/12 ᑟධ䞉᳨ド (140ྡ)
6
䜲䞁䝖䝻䝎䜽䝅䝵䞁
11. 䝧䜰䝯䝍䝹䜽䝷䜴䝗
• 䝧䜰䝯䝍䝹䜽䝷䜴䝗䛻㛵ᚰ䛜㞟䜎䜚䛴䛴䛒䜛
• 2✀㢮䛾䝧䜰䝯䝍䝹䜽䝷䜴䝗
– Softlayer䜏䛯䛔䛺䜽䝷䜴䝗ᇶ┙
– 䝧䜰䝯䝍䝹䝃䞊䝞䜢ຠ⋡䜘䛟䝥䝻䝡䝆䝵䝙䞁䜾䛧䛯䛔
• 2✀㢮䛾OSS䛾䛤⤂
– Ubuntu Juju/MAAS
– OpenStack Baremetal Provisioning (Ironic)
11
せⅬ
19. 5ᖺᚋ䛾ᴗ䝅䝇䝔䝮䠄௬䠅
⌧ᅾ䛾ᴗ䝅䝇䝔䝮 5ᖺᚋ䛾ᴗ䝅䝇䝔䝮
19
䜰䝥
䝸䠝
䜰䝥
䝸B 䜰䝥
⤫ྜ䝃䞊䝞
䝸C
䜰䝥
䝸D
䜰䝥
䝸E
SW SW SW SW
䠮䠰 䠮䠰
䠮䠰 䠮䠰
SW SW SW SW
⤫ྜ䝃䞊䝞
䜰䝥
䝸䠝
䜰䝥
䝸B
䜰䝥
䝸C
䜰䝥
䝸D
䜰䝥
䝸E
䜽䝷䜴䝗ᇶ┙
䜰䝥
䝸䠝
䜰䝥
䝸B
䜰䝥
䝸C
䜰䝥
䝸D
䜰䝥
䝸E
䜰䝥
䝸F
௬SW ௬䠮䠰
䝟䝤䝸䝑䜽
䜽䝷䜴䝗䠝
䝟䝤䝸䝑䜽
䜽䝷䜴䝗䠞
SW:䝇䜲䝑䝏 RT:䝹䞊䝍䞊
20. 5ᖺᚋ䛾ᴗ䝅䝇䝔䝮䠄௬䠅
5ᖺᚋ䛾ᴗ䝅䝇䝔䝮
20
䜽䝷䜴䝗ᇶ┙
䜰䝥
䝸䠝
䜰䝥
䝸B
䜰䝥
䝸C
䜰䝥
䝸D
䜰䝥
䝸E
䜰䝥
䝸F
௬SW ௬䠮䠰
䝟䝤䝸䝑䜽
䜽䝷䜴䝗䠝
䝟䝤䝸䝑䜽
䜽䝷䜴䝗䠞
• 䜽䝷䜴䝗䝛䜲䝔䜱䝤䜰䝥䝸䛾ቑຍ
• 䜸䞊䝖䝇䜿䞊䝹䛾୍⯡
• ௬䝛䝑䝖䝽䞊䜽ᶵჾ䜔䜸䞊䜿
䝇䝖䝺䞊䝅䝵䞁䛾୍⯡
• 䝟䝤䝸䝑䜽䜽䝷䜴䝗䛾ά⏝䛸䝬䝹
䝏䜽䝷䜴䝗⎔ቃ䛾୍⯡
24. 䇾䝧䜰䝯䝍䝹䜽䝷䜴䝗䇾
䝸䝋䞊䝇䝥䞊䝹 䝸䝋䞊䝇䝥䞊䝹
24
䝧䜰䝯䝍䝹䜢௬䝬䝅䞁
䝧䜰䝯䝍䝹䜢௬䠮䠰
䝧䜰䝯䝍䝹䜢௬䠯䠳
䐟䝧䜰䝯䝍䝹䝃䞊䝞
䜲䞁䝣䝷⟶⌮⪅
䛾㏣ຍ
䐠䝸䝋䞊䝇䝥䞊䝹䜢
⟶⌮
䐡⏝㏵䛻ᛂ䛨䛶
䝥䝻䝡䝆䝵䝙䞁䜾
䝛䝑䝖䝽䞊䜽ᶵჾ䜔䝇䝖䝺䞊䝆䜒
䝧䜰䝯䝍䝹䜽䝷䜴䝗䛻ྵ䜎䜜䜛䛸䛧䛯䜙
⮬ศ䛷ไᚚ䛷䛝䛺䛔䛸ᅔ䜛䜘䛽䚹
28. 䝧䜰䝯䝍䝹䜽䝷䜴䝗
䠎䛴䛾䝴䞊䝇䜿䞊䝇䐟
OpenStack䛾୰䛷䝧䜰䝯䝍䝹
䝥䝻䝡䝆䝵䝙䞁䜾䜢䜔䜚䛯䛔
IBM Softlayer䜏䛯䛔䛺䝃䞊䝡䝇
㔞䛾䝃䞊䝞䜢୍ඖ⟶⌮䛩䜛
䛯䜑䛻䝧䜰䝯䝍䝹䝥䝻䝡䝆䝵䝙
䞁䜾䜢䜔䜚䛯䛔
䝸䝋䞊䝇䝥䞊䝹䛸䝥䝻䝡䝆䝵䝙䞁䜾
28
䜽䝷䜴䝗䜸䞊䜿䝇䝖䝺䞊䝍
䜽䝷䜴䝗䜸䞊䜿䝇䝖䝺䞊䝍䠃䝥䝻䝡䝆䝵䝙䞁䜾( Ubuntu Juju / DevStack /
Red Hat RDO PackStack / Chef / Puppet / Ansible / Vagrant / etc )
䝥䝻䝆䜵䜽䝖B
㛤Ⓨ⏝
䝸䝋䞊䝇䝥䞊䝹
䝣䜱䝆䜹䝹䝥䝻䝡䝆䝵䝙䞁䜾(Ubuntu MAAS / OpenStack TripleO)
䝥䝻䝆䜵䜽䝖A
ᶵ⬟᳨ド⏝
䝥䝻䝆䜵䜽䝖C
䝇䝔䞊䝆䞁䜾⏝
䝁䞁䝢䝳䞊䝖 䝛䝑䝖䝽䞊䜽 䝇䝖䝺䞊䝆
VM
VM
VM
VM
VM
VM
VM
VM
䝁䞁䝖䝻䞊䝷(OpenStack) 䝁䞁䝖䝻䞊䝷(OpenStack)
VM
VM
VM
VM
䝁䞁䝖䝻䞊䝷(OpenStack)
29. 䝧䜰䝯䝍䝹䜽䝷䜴䝗
䠎䛴䛾䝴䞊䝇䜿䞊䝇䐠
OpenStack䛾୰䛷䝧䜰䝯䝍䝹
䝥䝻䝡䝆䝵䝙䞁䜾䜢䜔䜚䛯䛔
䝯䝸䝑䝖䠖
• 䝃䞊䝞௬ᢏ⾡䛻䜘䜛䜸䞊䝞䞊䝦䝑䝗
䛾๐ῶ
• 䝧䜰䝯䝍䝹䝬䝅䞁䜢API䛷ไᚚྍ⬟
ᐃ⏝䝅䞊䞁䠖
• 䝃䞊䝞㈇Ⲵ䛜㧗䛔䝃䞊䝡䝇䞉䝃䞊䝞
• ≀⌮䝃䞊䝞䛸௬䝃䞊䝞䛾ΰᅾ⎔ቃ
• ศᩓ䝇䝖䝺䞊䝆䝃䞊䝞
• ᮏ␒⎔ቃ䛷௬䝬䝅䞁䛾᥇⏝䜢㌋㌉䛧
䛶䛔䜛䛚ᐈᵝ
㔞䛾䝃䞊䝞䜢୍ඖ⟶⌮䛩䜛
䛯䜑䛻䝧䜰䝯䝍䝹䝥䝻䝡䝆䝵䝙
䞁䜾䜢䜔䜚䛯䛔
䝯䝸䝑䝖䠖
• 䝧䜰䝯䝍䝹䝬䝅䞁䜢API䛷ไᚚྍ⬟
• 䝥䝻䝡䝆䝵䝙䞁䜾䛾㛫▷⦰
• 䜸䝨䝺䞊䝅䝵䞁ぢ┤䛧䛻䜘䜛䚸㐠⏝䝁䝇䝖
䛾๐ῶ
ᐃ⏝䝅䞊䞁䠖
• 䝉䝹䝣䝃䞊䝡䝇
• 䝥䝻䝡䝆䝵䝙䞁䜾䛾⮬ື
• ≀⌮䝃䞊䝞䛸௬䝃䞊䝞䛾ΰᅾ
• 䝸䝋䞊䝇䛾⏝≧ἣ䛻ᛂ䛨䛯䚸䝸䝋䞊䝇䛾
ືⓗኚ᭦
29
33. Ubuntu MAAS
33
MAAS
物理マシンプロビジョニング
Ubuntu、CentOS、Windows OS対応
物理サーバも仮想サーバも一
元管理
プロビジョニングをコマンド
やREST APIで提供
独自処理をスクリプト呼び出しで対応
1
2
3
35. Juju/MAAS䛾ᵓᡂ
Ubuntu Juju
• 䜽䝷䜴䝗ୖ䛻㎿㏿䛛䛴⡆༢䛻䝃䞊䝡䝇
䠄OpenStack䛾䜘䛖䛺䜽䝷䜴䝗䜲䞁䝣䝷䜒
ྵ䜐䠅䜢䝕䝥䝻䜲
• 䝃䞊䝡䝇䛾タᐃ䜔౫Ꮡᛶ䛺䛹䜢๓ᐃ
⩏䝇䜽䝸䝥䝖(Charms)䛻䜎䛸䜑䜛䛣䛸䛜
䛷䛝䜛
• AWS䜔Azure䛾䚸MAAS䜔LXC䛻ᑐ
䛧䛶䝃䞊䝡䝇䜢䝕䝥䝻䜲ྍ⬟
Ubuntu MAAS
• 䝧䜰䝯䝍䝹䝬䝅䞁䜔௬䝬䝅䞁䜢䚸䜽䝷
䜴䝗ୖ䛾௬䝬䝅䞁䛸ྠᵝ䛾⡆༢䛥䛸䝣
䝺䜻䝅䝡䝸䝔䜱䛷⟶⌮
• Juju䛸⤌䜏ྜ䜟䛫䛶⏝䛩䜛䛣䛸䛷䚸䝧
䜰䝯䝍䝹䝥䝻䝡䝆䝵䝙䞁䜾䛻ᑐᛂ䛧䛯
OpenStack⎔ቃ䜢ᐜ᫆䛻ᵓ⠏䛷䛝䜛
35
Juju API Juju GUI
๓ᐃ⩏
䝇䜽䝸䝥䝖
(Charms)
䜽䝷䜴䝗䜸䞊䜿䝇䝖䝺䞊䝍䠄Ubuntu Juju䠅
Microsoft
Azure
HP Public
Cloud
MAAS API
䝣䜱䝆䜹䝹䝥䝻䝡䝆䝵䝙䞁䜾
(Ubuntu MAAS)
Amazon
Web Service
LXC
䝧䜰䝯䝍䝹䝬䝅䞁 ௬䝬䝅䞁
36. MAAS 䜰䞊䜻䝔䜽䝏䝱䞊
⟂య䛾୍ᣓⓏ㘓䜒ྍ⬟㻌(*1)
」ᩘ䛾㟁※⟶⌮᪉ᘧ䛻ᑐᛂ㻌(*2)
」ᩘ䝃䝤䝛䝑䝖䜢
୍ඖ⟶⌮
䝃䝤䝛䝑䝖༢䛷㻌
DHCP/PXE ⟶⌮
36
* 1. SeaMicro, UCS, libvirt
* 2. IPMI, UCS Manager,
iLO4, Moonshot iLO, Intel
AMT, SeaMicro 15k,
libvirt, etc.
37. MAAS䛾ືస䜲䝯䞊䝆
Server MAAS User
Power-on, DHCP, PXE-boot
㟁※⟶⌮ሗ᳨ฟ Boot image, Power-off Enlist
37
Power-on
DHCP, PXE-boot
䜲䞁䝧䞁䝖䝸ሗྲྀᚓ Boot image, Power-off
Declared
Commissioning
Ready
Request a machine
Power-on
DHCP, PXE-boot
Deploy platform
Installed successfully
Return a machine
㐠⏝୰
Allocated
38. MAAS API
• RESTful
• GET / POST / PUT / DELETE
• http://maas-controller/MAAS
– /api/1.0/object/path/?op=operationparam=value…
• object: account, maas, networks, nodegroups, nodes, node, tags, users, zone, etc.
• ⏝䠖
– GET /api/1.0/nodes/?op=list 㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌 㻌㻌㻌㻌㻌㻌㻌# MAAS Ⓩ㘓䝜䞊䝗୍ぴྲྀᚓ
– GET /api/1.0/nodes/{system_id}/ # 䝜䞊䝗ሗྲྀᚓ
– PUT /api/1.0/nodes/{system_id}/ # 䝜䞊䝗ሗ᭦᪂
– GET /api/1.0/tags/?op=list # 䝍䜾୍ぴྲྀᚓ
– POST /api/1.0/tags/?op=newname=‘Neutron’ # ᪂つ䝍䜾㏣ຍ
– POST /api/1.0/nodes/{system_id}/?op=start 㻌㻌㻌㻌㻌㻌# 䝜䞊䝗㟁※䜸䞁
– GET /api/1.0/nodes/?op=list_allocated # ⏝୰䝜䞊䝗୍ぴྲྀᚓ
– POST /api/1.0/nodes/{system_id}/?op=stop 㻌㻌㻌㻌㻌㻌# 䝜䞊䝗㟁※䜸䝣
– DELETE /api/1.0/nodes/{system_id}3/8 㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌㻌# 䝜䞊䝗๐㝖
39. 㐠⏝䜸䝨䝺䞊䝅䝵䞁䠄䠅
• ึᮇ
$ juju bootstrap –e maas
• OpenStack ⎔ቃᵓ⠏
$ juju-deployer –c openstack.yml –e maas
• 䝜䞊䝗ቑタ
– 䝃䞊䝞䞊㟁※䜸䞁
• Web 䝁䞁䝋䞊䝹
– http://maas-controller/MAAS
• 䝜䞊䝗㻌䝍䜾䛡
$ maas login profile http://maas-controller/MAAS apikey
$ maas profile update-nodes tag add=system_id
• ➼䚻
39
40. 䜎䛸䜑䠖Ubuntu MAAS
• ≀⌮䝬䝅䞁䝥䝻䝡䝆䝵䝙䞁䜾
䇵 㼁㼎㼡㼚㼠㼡䚸㻯㼑㼚㼠㻻㻿䚸㼃㼕㼚㼐㼛㼣㼟㻌㻻㻿ᑐᛂ
䈄 䝥䝻䝡䝆䝵䝙䞁䜾䜢䝁䝬䞁䝗䜔㻾㻱㻿㼀㻌㻭㻼㻵䛷
ᥦ౪
䇵 ⊂⮬ฎ⌮䜢䝇䜽䝸䝥䝖䜃ฟ䛧䛷ᑐᛂ
• 㔞䛾䝃䞊䝞䜢୍ඖ⟶⌮䛩䜛䛯䜑䛻䝧䜰
䝯䝍䝹䝥䝻䝡䝆䝵䝙䞁䜾䜢䜔䜛䛻䛿᭱㐺
40
42. OpenStack䛾䝥䝻䝆䜵䜽䝖
せ䝁䞁䝫䞊䝛䞁䝖 䜲䞁䜻䝳䝧䞊䝅䝵䞁
䝁䞁䝫䞊䝛䞁䝖ྡ 䝥䝻䝆䜵䜽䝖ྡ 䝁䞁䝫䞊䝛䞁䝖ྡ 䝥䝻䝆䜵䜽䝖ྡ
䐟 Compute Nova 䐪 Bare metal Ironic
䐠 Object Storage Swift 䐫 Queue service Zaqar
䐡 Block Storage Cinder 䐬 Key management Barbican
䐢 Image Service Glance 䐭 DNS services Designate
䐣 Networking Neutron 䐮 Deployment TripleO
䐤 Identity Keystone
䐥 Dashboard Horizon
䐦 Metering/Monitoring Ceilometer
䐧 Orchestration Heat
䐨 Database Service Trove
䐩 Data processing Sahara 42
43. Baremetal(Ironic)
• NTT䝗䝁䝰
2013ᖺ4᭶8᪥㻌䜽䝷䜴䝗䝃䞊䝡䝇䛾ᛶ⬟䜢ྥୖ䛥䛫䜛᪂ᢏ⾡䜢㛤Ⓨ
䜽䝷䜴䝗䝃䞊䝡䝇䛾ᛂ⟅㛫䜢᭱50%▷⦰
http://www.nttdocomo.co.jp/info/news_release/2013/04/08_00.html
• USC/ISI(༡䜹䝹䝣䜷䝹䝙䜰Ꮫ)
• HP
43
45. Ironic䛷ᐇ⌧䛧䛯䛔䛣䛸
• OpenStack䜢䛳䛶䝧䜰䝯䝍䝹䜢⟶⌮䛧䛯䛔
– ௬䝬䝅䞁䛻䛿HyperVisor䛜䛒䜛
– 䝧䜰䝯䝍䝹䝬䝅䞁䛻䛿HyperVisor䛜䛺䛔
• HyperVisor䛻┦ᙜ䛩䜛䜒䛾䜢⏝ព䛩䜛
– 䝧䜰䝯䝍䝹⏝䛾䜲䝯䞊䝆䠄kernel+ramdisk䠅䜢⏝ព
– 䝧䜰䝯䝍䝹䝬䝅䞁䛿≀⌮䝸䝋䞊䝇䛻┤᥋䜰䜽䝉䝇
– 䝧䜰䝯䝍䝹䝬䝅䞁䛾㉳ື䞉Ṇ䛻䛿PXE䝤䞊䝖䛸
IPMI䜢⏝
45
46. 䝧䜰䝯䝍䝹䝥䝻䝡䝆䝵䝙䞁䜾
䛾ฎ⌮ᡭ㡰
1. Instance Request2. Choose Nova-Compute
従来のOpenStackベアメタルOpenStack
46
利用者
Nova-APINova-Scheduler
Nova-Compute
Image Service
USER1
Block Storage
Host OS
Hypervisor
Host OS
VM
USER2
4. Network Isolation
5. Block Storage Attachment
Machine
4. Network Isolation
5. Block Storage Attachment
3. Image Provisioning
Hypervisor
VM
Machine
Libvirtドライバ
Libvirt
Nova-Compute
Xenドライバ
Xen API
Nova-Compute
Baremetal
ドライバ
47. 䜲䞁䝇䝍䞁䝇㉳ື
䈜ᑐ㇟䝜䞊䝗䛿䝇䜿䝆䝳䞊䝷䛻䜘䛳䛶
Ỵᐃ῭
Glance䛛䜙䜲䝯䞊䝆➼䝎䜴䞁䝻䞊䝗
䠄䛒䜙䛛䛨䜑Ⓩ㘓䛧䛶䛚䛟:ᚋ㏙䠅
䝕䜱䝇䜽
䜲䝯䞊䝆
⟶⌮䝩䝇䝖 䝜䞊䝗
䜹䞊䝛䝹
RAM䝕䜱䝇䜽
PXEタᐃ䛿䝥䝻䝡䝆䝵䝙䞁䜾⏝
䝜䞊䝗䜢Power On
䝥䝻䝡䝆䝵䝙䞁䜾⏝䝭䝙OS䛜㉳ື
䝥䝻䝡䝆䝵䝙䞁䜾⏝
䠄䝭䝙OS䠅
䜹䞊䝛䝹
RAM䝕䜱䝇䜽
㏻ᖖ⏝
䜲䝯䞊䝆䜢䝕䜱䝇䜽䛻᭩䛝㎸䜏
PXEタᐃ䜢㏻ᖖ⏝䛻ษ᭰
㉳ື
௨㝆䛿VM䜲䞁䝇䝍䞁䝇䛸
ྠᵝ䛾㉳ື䝅䞊䜿䞁䝇
(cloud-init䛺䛹)
PowerManager IPMI
䝕䜱䝇䜽 nova-barametal-deploy-
helper
power on
OFF
䝥
䝻
䝡
㏻
ᖖ
PXE
PXE
ヲ
⣽
ᚋ
㏙
48. OpenStack䛾ᵓᡂ
䝜䞊䝗䝁䞁䝖䝻䞊䝷䝧䜰䝯䝍䝹䝜䞊䝗
Cloud Controller Image Service
48
䜽䝷䜴䝗
䝁䞁䝖䝻䞊䝷
䝫䞊䝍䝹
䝃䞊䝞
䜲䝯䞊䝆
䝃䞊䝡䝇
䝜䞊䝗
Client
Portal
Node
Controller
Baremetal
Node
Baremetal
Node
Baremetal
Node
Baremetal
Node
Baremetal
Node
Baremetal
Node
VLAN1
VLAN2
49. 䝥䝻䝡䝆䝵䝙䞁䜾䛾⤌䜏
䐡䝥䝻䝡䝆䝵䝙䞁䜾
ඛ䛾䝜䞊䝗䛾Ỵᐃ
Client
䐢PXE䝤䞊䝖䚸䜲䝯䞊䝆䛾䝁䝢䞊䚸
䝛䝑䝖䝽䞊䜽䛾タᐃ䚸䝕䜱䝇䜽䛾タᐃ
Cloud Controller Image Service
䐠䝁䞁䝖䝻䞊䝷䛻䝸䜽䜶䝇䝖䜢㏦
䝸䜽䜶䝇䝖䛜䜻䝳䞊䛻᱁⣡
Portal
Node
Controller
Baremetal
Node
Baremetal
Node
Baremetal
Node
Baremetal
Node
Baremetal
Node
Baremetal
Node
VLAN1
VLAN2
49
䐟䝫䞊䝍䝹䜈䜰䜽䝉䝇
50. OpenStack Ironic䛾䝻䞊䝗䝬䝑䝥
Havana Icehouse Juno Kilo “L”௨㝆
2013ᖺ10᭶䝸䝸䞊䝇 2014ᖺ4᭶䝸䝸䞊䝇 2014ᖺ10᭶䝸䝸䞊䝇 2015ᖺ4᭶䝸䝸䞊䝇ணᐃ
Nova䝥䝻䝆䜵䜽
• Neutron㐃ᦠ • Ceilometer㐃ᦠ
• ṇᘧ䝥䝻䝆䜵䜽䝖
䝖䛛䜙Ironic(䝧䜰
• HP iLOᑐᛂ
䛻᪼᱁
䝯䝍䝹䝥䝻䝡䝆䝵
• iPXEᑐᛂ
• 䝧䜰䝯䝍䝹䝬䝅䞁
䝙䞁䜾)䝥䝻䝆䜵
䛾䝕䜱䝇䜹䝞䝸
䜽䝖䛜ὴ⏕
• UEFI䝉䜻䝳䜰䝤䞊
䝖䜈䛾ᑐᛂ
• 䝧䜰䝯䝍䝹䝃䞊䝞
䛾䝸䝸䞊䝇ฎ⌮䛾
㏣ຍ
• 䝣䜯䞊䝮䜴䜵䜰
᭦᪂ᶵ⬟䛾㏣ຍ
• 䝧䜰䝯䝍䝹䝬䝅䞁
䛾⮬ືⓏ㘓ᶵ⬟
䛾㏣ຍ
• Neutron㐃ᦠ䠄௬
䝛䝑䝖䝽䞊䜽ᶵ
⬟䠅
Neutron䛻ᑐᛂ䛩䜛䜒
௬䝛䝑䝖䝽䞊䜽ᶵ⬟
䛿ᐇ䛥䜜䛪
⌧⾜䛾䝞䞊䝆䝵䞁
䛷䛿䚸ྠ䛨Availability
Zone(AZ)䛷䝧䜰䝯䝍䝹
䝬䝅䞁䛸௬䝬䝅䞁䜢
ΰᅾ䛷䛝䛺䛔
Juno䛷ṇᘧ䝥䝻䝆䜵䜽
䝖䛻᪼᱁䛩䜛䛣䛸䜢┠
ᣦ䛧䛶䛔䛯䛜㐺䜟䛪
ཧ⪃䠖Blueprints for Ironic (Bare Metal Provisioning) https://blueprints.launchpad.net/ironic/
51. ᚋ䛾Ironic
• ௬䝛䝑䝖䝽䞊䜽ᑐᛂ • 䝧䜰䝯䝍䝹䝬䝅䞁䛾
䝷䜲䝣䝃䜲䜽䝹⟶⌮
51
䝇䜲䝑䝏
Neutron
Ironic
Nova
䝧䜰䝯䝍䝹
䝜䞊䝗
䝧䜰䝯䝍䝹䝃䞊
䝞䛾䜰䝃䜲䞁
䝧䜰䝯䝍䝹䝃䞊
䝞䛾䝸䝸䞊䝇
䝸䝋䞊䝇䝥䞊䝹
䜈䛾㏣ຍ
䜽䝸䞊䝙䞁䜾
UEFI secure boot
OS䜔BIOS䛾䝞䞊䝆䝵䞁䜰䝑䝥
54. ᥖ䠖䝧䜰䝯䝍䝹䜽䝷䜴䝗
• 䝧䜰䝯䝍䝹䜽䝷䜴䝗䛻㛵ᚰ䛜㞟䜎䜚䛴䛴䛒䜛
• 2✀㢮䛾䝧䜰䝯䝍䝹䜽䝷䜴䝗
– Softlayer䜏䛯䛔䛺䜽䝷䜴䝗ᇶ┙
– 䝧䜰䝯䝍䝹䝃䞊䝞䜢ຠ⋡䜘䛟䝥䝻䝡䝆䝵䝙䞁䜾䛧䛯䛔
• 2✀㢮䛾OSS䛾䛤⤂
– Ubuntu Juju/MAAS
– OpenStack Baremetal Provisioning (Ironic)
54