|
|
OpenStack计算服务的裸金属驱动通过通用API或其他工具如编排服务(Heat)来管理物理硬件的供应。该驱动常用于单租户云环境,如高性能计算集群,或用于部署OpenStack自身。
4 k; N" p. a- E+ b* M要使用裸金属驱动,必须创建一个网卡并添加到裸金属节点。在此之后即可从裸金属镜像启动一个实例。
" \9 L. L6 J& I4 `" ^! q可以列出和删除裸金属节点。删除节点时,所有关联的网卡都会被移除。可以列出、移除所有关联到一个裸金属节点的网卡。
# e3 ?3 ?8 ~" j* i命令¶' q$ Q; I' J3 \, i+ @* f: t
下列命令用于管理裸金属节点。2 Z! i. j; ]$ @8 c w
baremetal-interface-add4 O3 w* |& d! w2 m
为裸金属节点添加网卡。. q1 ?/ l& s* ^
baremetal-interface-list
' y* h! p& m5 `列出绑定到裸金属节点的网卡。5 O# r( u* w- z( ~5 W
baremetal-interface-remove
- [0 I4 ~0 [6 W) g从裸金属节点移除一个网卡。
8 F" X4 M! r8 m! ibaremetal-node-create4 C% i5 _3 H+ ?
创建裸金属节点。, j* l& A- @3 ]3 n, Z0 X1 }
baremetal-node-delete+ w& w: ~5 f X$ q
移除一个裸金属节点及其关联的所有网卡。" \9 ^7 m" D+ J0 v/ x
baremetal-node-list
3 @: D" z* m" `( E& q! C- n列出可用的裸金属节点。) H8 i( z/ b' P5 E
baremetal-node-show
6 y3 z9 {; \- i1 P! i: l3 E; k0 ~显示裸金属节点的信息。9 o5 S4 b1 j/ |& T2 m; W# w
创建裸金属节点¶
% t2 q0 |& P3 x创建裸金属节点时,PM地址,用户名和密码必须和硬件BIOS/IPMI配置一致。# ]! j X1 l. M
$ nova baremetal-node-create --pm_address PM_ADDRESS --pm_user PM_USERNAME \0 C/ p! Y% k4 x f
--pm_password PM_PASSWORD $(hostname -f) 1 512 10 aa:bb:cc:dd:ee:ff% N. W4 }$ D4 R/ o& P
以下示例中展示了创建一个裸金属节点的命令和结果,裸金属节点的PM地址为``1.2.3.4``, 用户名为 ipmi, 密码为 ipmi.
3 Z, X' ~! G: q+ ?$ nova baremetal-node-create --pm_address 1.2.3.4 --pm_user ipmi \
5 R3 W$ L0 P: S; _( _; i --pm_password ipmi $(hostname -f) 1 512 10 aa:bb:cc:dd:ee:ff
( E: n5 O9 M, Y7 l* k" t3 d+------------------+-------------------+
. f" R7 [7 N& P4 K W| Property | Value |( `# d% ~5 B% X+ B1 y) o/ R
+------------------+-------------------+
4 D6 b' t( |6 O* Q0 m, `# u. y1 y| instance_uuid | None |
2 H; g' c- y& F2 d3 e# `4 M| pm_address | 1.2.3.4 |
: {- _" a5 y/ \ K$ m1 `# v9 g| interfaces | [] |) P6 [4 L1 W$ X
| prov_vlan_id | None |) s- ?0 R1 Q" a% d
| cpus | 1 |# g P2 W0 e) F" K& e
| memory_mb | 512 |
" C: h3 j g" b# `| prov_mac_address | aa:bb:cc:dd:ee:ff |
0 S) S9 V1 B- X6 F| service_host | ubuntu |
6 T5 E8 p9 \+ L, y+ L| local_gb | 10 |
6 |3 U' Z) }. D% t6 ^% Q" b& f X7 x| id | 1 |
, A6 }8 u' J( S$ }; K| pm_user | ipmi |3 L- i5 u' I$ J# m- x
| terminal_port | None |
% R% _% W9 d, O) v |+------------------+-------------------+
% d8 J5 F7 A; V6 b! H n添加一个网卡到节点¶
8 G. O' u) {! n节点的每个网卡都要指定MAC地址创建接口。
0 P* Q/ o2 f4 C' H7 P/ i$ nova baremetal-interface-add 1 aa:bb:cc:dd:ee:ff9 g. X0 a8 X! i3 S# D/ D$ @
+-------------+-------------------+
4 |: W3 Q2 e# P, b; J| Property | Value |' `$ _# n4 E8 ~6 q
+-------------+-------------------+
0 F9 G2 j+ v0 z; q! Z; N3 i8 \$ T| datapath_id | 0 |8 Z& V: A: R {2 B% K8 R* A. W
| id | 1 |' z" i" k; E0 }
| port_no | 0 |3 A& W* \7 ~8 m# m( F! y2 q
| address | aa:bb:cc:dd:ee:ff |8 v- E3 i- h' z% D3 R
+-------------+-------------------+4 G% _7 y# t& b( G$ Q% U8 K" O: I
从裸金属镜像启动一个实例。¶5 j+ ? h7 K1 G9 b* T' O. T9 i) [
裸金属实例是直接创建在物理机上的实例,下层没有虚拟化层。Nova通过IPMI保留了电源控制。在某些情形下,Nova也通过Neutron和OpenFlow保留网络控制。 F! M- a3 i! B, A2 ~& u# W( m
$ openstack server create --image my-baremetal-image --flavor \+ R( @' H; N$ r* d! g3 B; G8 ~
my-baremetal-flavor test& V% F+ h+ k7 C( M4 R, k, P& {& Q
+-----------------------------+--------------------------------------+8 Y1 L1 {; t; [! h1 P
| Property | Value |+ e' H* b1 L/ T6 Q, }
+-----------------------------+--------------------------------------+
( t" }1 I9 K6 t5 A | status | BUILD |6 g: B$ [6 E! ?1 s
| id | cc302a8f-cd81-484b-89a8-b75eb3911b1b |, m$ }. N- K; ]0 W0 L8 X
+-----------------------------+--------------------------------------+
- Y) d' H7 V9 |: A... wait for instance to become active ..., l" ?( E" y( m- z1 y
注解8 v6 s9 f6 z3 S4 A3 v% v
Set the --availability-zone parameter to specify which zone or node to use to start the server. Separate the zone from the host name with a comma. For example:
1 t& ^& i% t7 t3 U$ c: i$ openstack server create --availability-zone zone:HOST,NODE. t4 R0 ?" _9 G' T
host is optional for the --availability-zone parameter. You can simply specify zone:,node, still including the comma.
+ T% Q; {# F- u5 Y列出裸金属节点和接口¶
( O: E0 N5 _9 F# ~7 y9 z- j; }使用:command:`nova baremetal-node-list`列出裸金属节点和接口。节点被使用时,其状态包含运行在其上的实例的UUID:# _4 i8 D' P u% R" V% |$ M
$ nova baremetal-node-list; A% G2 L z2 H
+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+2 Z; @6 F0 G0 u# e) j5 \! W
| ID | Host | CPUs | Memory_MB | Disk_GB | MAC Address | VLAN | PM Address | PM Username | PM Password | Terminal Port |
( E' N3 w& p0 K2 H+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+! Y( s/ X% X/ m8 c/ R. U# t
| 1 | ubuntu | 1 | 512 | 10 | aa:bb:cc:dd:ee:ff | None | 1.2.3.4 | ipmi | | None |( `- \6 v7 N* g
+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+
( b$ p# b$ R7 d显示裸金属节点的详细信息¶: G# V! I3 a2 Z5 G! ?" d0 C
使用 nova baremetal-node-show 查看裸金属节点的详细信息:
) l( e$ d. d0 S+ j# |/ i* k0 r$ nova baremetal-node-show 1
6 Q6 x* E/ q X9 h! I6 x" I+------------------+--------------------------------------+
( G4 e. w* x {# H5 `1 K5 S& N| Property | Value |
2 o/ }; \! r; f: ]( u8 \4 C. ~) p Z+------------------+--------------------------------------+0 x: E' t- q5 M# ~
| instance_uuid | cc302a8f-cd81-484b-89a8-b75eb3911b1b |
7 b& h8 j X2 w6 K| pm_address | 1.2.3.4 |
" I/ I% D% E$ v N8 E/ |$ z| interfaces | [{u'datapath_id': u'0', u'id': 1, |
$ D' U \& P, N a Y6 z; _) H! e| | u'port_no': 0, |
) @ f9 E" X% l1 `+ s. e| | u'address': u'aa:bb:cc:dd:ee:ff'}] |
* c- n9 c% d* T/ \( R0 i* p| prov_vlan_id | None |; \' q$ @6 o$ J% z& W* h4 ^
| cpus | 1 |$ ]5 m" D) n# x" B% D5 V0 C$ @
| memory_mb | 512 |. c. \5 T. d* S0 C- U5 f1 Y
| prov_mac_address | aa:bb:cc:dd:ee:ff |3 ?! [" x8 B% h+ W
| service_host | ubuntu |/ f$ w1 ~; r+ {2 U* D, U9 @
| local_gb | 10 |
4 S9 j2 O3 \/ I, l. f" f1 S| id | 1 |5 T( F( E0 T+ R( T/ ]- ^8 E
| pm_user | ipmi |3 o& |, Z2 E# m3 o
| terminal_port | None | Z, w; c: G- u- E, I+ P' T+ F
+------------------+--------------------------------------+
" ~% v H# q) T9 m' y+ u+ v |
|