|
|
OpenStack计算服务的裸金属驱动通过通用API或其他工具如编排服务(Heat)来管理物理硬件的供应。该驱动常用于单租户云环境,如高性能计算集群,或用于部署OpenStack自身。
) M3 R4 p4 ^; u. M2 H/ t要使用裸金属驱动,必须创建一个网卡并添加到裸金属节点。在此之后即可从裸金属镜像启动一个实例。
{3 g9 ?# M1 N' ?: a可以列出和删除裸金属节点。删除节点时,所有关联的网卡都会被移除。可以列出、移除所有关联到一个裸金属节点的网卡。
" o0 O7 y+ ^ V6 G, F! D命令¶7 U( K0 t+ @6 X! c4 I0 k" i2 M3 _9 e
下列命令用于管理裸金属节点。
3 i* m3 I6 j; a+ N+ o n/ }baremetal-interface-add
9 p j5 S$ W6 A: Z. y' M- f% b为裸金属节点添加网卡。9 y( d0 K( @9 W0 f
baremetal-interface-list
; b$ q1 `4 V% t+ V6 a/ A. U列出绑定到裸金属节点的网卡。
% i( N" k: t# Q0 M1 ibaremetal-interface-remove& H) `7 u7 o+ i* l3 y+ Q
从裸金属节点移除一个网卡。' Q$ K8 K/ C* c- M* e0 y
baremetal-node-create6 s4 V! b$ O8 m/ g1 P1 q( h
创建裸金属节点。$ q. ^ p0 g) O# Q, {3 Y
baremetal-node-delete
, d# r, G W+ E! x移除一个裸金属节点及其关联的所有网卡。+ o9 d4 ?) n% j) C
baremetal-node-list
$ e: i2 W3 B, r- z* {列出可用的裸金属节点。
9 H! w! ? Z+ T1 v1 M" L: T4 e( Qbaremetal-node-show
1 R5 |3 W, V3 t, B显示裸金属节点的信息。
& o2 I' c% ]& l6 `创建裸金属节点¶
% C6 ?% d( f7 @5 w: W创建裸金属节点时,PM地址,用户名和密码必须和硬件BIOS/IPMI配置一致。
2 d! ]1 u7 L3 P( j1 W$ nova baremetal-node-create --pm_address PM_ADDRESS --pm_user PM_USERNAME \8 D% Y; O9 W) t7 l1 F: u# v
--pm_password PM_PASSWORD $(hostname -f) 1 512 10 aa:bb:cc:dd:ee:ff" w; _+ }7 z, C" F( H. P
以下示例中展示了创建一个裸金属节点的命令和结果,裸金属节点的PM地址为``1.2.3.4``, 用户名为 ipmi, 密码为 ipmi.* T7 i) p( H# x8 `) i3 K
$ nova baremetal-node-create --pm_address 1.2.3.4 --pm_user ipmi \
' O5 v% c3 i0 a; Y, H --pm_password ipmi $(hostname -f) 1 512 10 aa:bb:cc:dd:ee:ff
/ r' {/ c7 }6 o! D- r. r% T+------------------+-------------------+" a% j4 C! y0 n/ H2 L- u* s7 R
| Property | Value |
* _3 b- c1 K: _1 j" d+------------------+-------------------+
4 A; @, B4 }3 s2 y2 f* ^| instance_uuid | None |( J7 Q8 \, T4 h* j; r4 |
| pm_address | 1.2.3.4 |# h1 [* _/ @* h3 @5 K( P
| interfaces | [] |+ F- m C- \- L7 y! p+ h2 F5 B4 Q& s
| prov_vlan_id | None |; { M! M+ w' r( m9 e, S% t) x
| cpus | 1 |( x& r8 p$ i) t/ j" Z! `, P
| memory_mb | 512 |
+ z" x/ w- Z% F; |2 ]| prov_mac_address | aa:bb:cc:dd:ee:ff |! I) n4 W9 y! T
| service_host | ubuntu |1 z4 P4 q7 e; Q" S/ ]1 |; k
| local_gb | 10 |
+ D9 C8 C/ l( A3 x; ~- n7 {5 Q1 w| id | 1 |
6 o: @3 N8 z# g| pm_user | ipmi |
- e H: Q6 W" j: S: j( T- t| terminal_port | None |1 {# |, {/ a& C: j
+------------------+-------------------+
) X% W+ J4 |& e# R添加一个网卡到节点¶. i/ K& x: G0 y0 x3 Z
节点的每个网卡都要指定MAC地址创建接口。
* T1 T# _6 W- W: A0 X$ nova baremetal-interface-add 1 aa:bb:cc:dd:ee:ff6 o$ p+ B; A" g3 |1 K- v
+-------------+-------------------+
w$ H8 w! \6 h+ G$ o% N) Z| Property | Value |; ?5 Y3 p' Y. F, V+ \1 J; n0 @
+-------------+-------------------+9 ?( K8 n2 I& A; `- D1 t0 c
| datapath_id | 0 |
3 z- s/ Q; A$ T, I: C" i E! Y: @| id | 1 |5 B; y1 C( g5 h1 z
| port_no | 0 |
6 V4 M( f3 a/ _0 A3 k$ N8 I$ A+ r| address | aa:bb:cc:dd:ee:ff |/ {+ L0 }0 U& _: M5 H, {
+-------------+-------------------+: k. A! q9 `3 \
从裸金属镜像启动一个实例。¶
% Z' S, j- ^$ ~, e$ j; H0 [; {裸金属实例是直接创建在物理机上的实例,下层没有虚拟化层。Nova通过IPMI保留了电源控制。在某些情形下,Nova也通过Neutron和OpenFlow保留网络控制。. L7 Q: H0 w8 l f3 M. Q/ }
$ openstack server create --image my-baremetal-image --flavor \
5 i ~# |( [& Z5 F+ A my-baremetal-flavor test: R. a3 X5 U% R3 Q) | R
+-----------------------------+--------------------------------------+8 G+ p" H; ^( S4 X: b# [! a' R
| Property | Value |
6 ^: X/ a" t" N ^2 I +-----------------------------+--------------------------------------+
- f3 d" R# _0 T0 a2 F | status | BUILD |, j8 N( x: G/ n, m
| id | cc302a8f-cd81-484b-89a8-b75eb3911b1b |7 o. r* S( M) N8 q
+-----------------------------+--------------------------------------+
: `. W( s% S \3 P6 @0 l' l... wait for instance to become active ...$ n1 \. a( Z# P3 P
注解; M4 c. ?9 O; `" S* W* U/ ~; P8 A
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:
" H4 D, ^1 k/ j) e$ openstack server create --availability-zone zone:HOST,NODE
* z. _' Z' C5 D" N9 e0 A( rhost is optional for the --availability-zone parameter. You can simply specify zone:,node, still including the comma.
* C* h: |8 C# |列出裸金属节点和接口¶7 ^. {, ?. z( o' ~9 s" _
使用:command:`nova baremetal-node-list`列出裸金属节点和接口。节点被使用时,其状态包含运行在其上的实例的UUID:
, f1 J, v" I- ?* e: S8 K$ nova baremetal-node-list
" T9 |8 I4 W6 l+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+& a5 e+ ?0 ^' l: b& r0 J
| ID | Host | CPUs | Memory_MB | Disk_GB | MAC Address | VLAN | PM Address | PM Username | PM Password | Terminal Port |* S2 R+ J# Z* x9 h3 I+ ^& j. b
+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+
( q/ e7 ^% q" `/ l. @| 1 | ubuntu | 1 | 512 | 10 | aa:bb:cc:dd:ee:ff | None | 1.2.3.4 | ipmi | | None |- u! u6 m5 P/ R
+----+--------+------+-----------+---------+-------------------+------+------------+-------------+-------------+---------------+
, k W v8 B* `' N显示裸金属节点的详细信息¶+ W6 ~' l6 J0 @! [
使用 nova baremetal-node-show 查看裸金属节点的详细信息:; v. |1 |- W. i) ]) q
$ nova baremetal-node-show 1
$ N/ }9 M! D) ]2 \" [+ M* O" A+------------------+--------------------------------------+4 S" r! O9 Z' A* n! `, A; X" A4 ^
| Property | Value |
) b* k) ]6 O* C0 Q' C3 s% }+------------------+--------------------------------------+- ~$ l, ]" @/ ]7 T
| instance_uuid | cc302a8f-cd81-484b-89a8-b75eb3911b1b |
5 h% l7 R- B6 p$ H| pm_address | 1.2.3.4 |
( C0 C; G' d+ c. B; `% G% v2 ^| interfaces | [{u'datapath_id': u'0', u'id': 1, |" T! N! j2 W, F4 F9 e4 l6 `7 P
| | u'port_no': 0, |
% M2 e7 H" [9 s4 n| | u'address': u'aa:bb:cc:dd:ee:ff'}] |
( H7 s1 m6 w3 j: X7 _" X| prov_vlan_id | None |0 n( s( }1 s7 x
| cpus | 1 |
2 v0 S% s P; }7 Q% q| memory_mb | 512 |
9 j* d1 L7 y' J! Q| prov_mac_address | aa:bb:cc:dd:ee:ff |
- ]7 y. A0 S9 Q. G1 q- N9 e( Y| service_host | ubuntu |
: D; `' h* N# y7 Y& e4 W| local_gb | 10 | E5 o: R2 k$ Z2 j$ o2 H
| id | 1 |
/ q% t! x: @9 a7 s! ^| pm_user | ipmi |9 G) H' u8 n) W7 k6 ?/ B4 j0 n& D
| terminal_port | None |
! h! u/ T n" x& c3 g3 Q! D; M+------------------+--------------------------------------+8 G! n4 \. N8 ^- V1 @
|
|