易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 983|回复: 5
收起左侧

openstack.kvm的usbKEY使用

[复制链接]
发表于 2022-5-30 11:00:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
1、把 ukey 设备插到云主机所在的计算节点物理机上。( O. X  H3 B" F( I$ p# M
2、在计算节点安装 usbutils 工具(yum install usbutils -y)
$ M: {, q( x+ c5 Y, e: D" s通过 lsusb -v命令查看 usb 的 idVendor 和 idProduct 信息。(可以通过做对比找出新插的usb)
, L6 M! N# z. f; [; F# @0 \4 r1 M4 z9 i6 k
3、新建 usb.xml 文件,例如:/ z/ ?0 i5 l' N8 Y. H
<hostdev mode='subsystem' type='usb'>
& K5 y2 N: n/ p- E! V6 u4 _' u<source startupPolicy='optional'>6 U; W6 v& i( p- Q
<vendor id='0x0951'/>: M1 }& |' G, n5 |$ E
<product id='0x1602'/>
: D9 O) X0 D# K1 W</source>( P& X0 l2 B2 _, f
</hostdev>
9 G0 K' `' |) h# ^" n9 {6 G) q$ u4、使用 virsh attach-device <Instance_UUID> usb.xml 命令挂载 ukey 设备。
0 e* W* H$ \, U9 c9 v+ s& \5、使用 virsh detach-device <Instance_UUID> usb.xml 命令卸载 usb 设备
; q$ h( X" F- j* ?; c; o1 S, L9 x3 J# a* A% l# G. Q
 楼主| 发表于 2022-5-30 11:30:38 | 显示全部楼层
1.删除挂载设备% {/ U" V' t: _3 P2 J: J

( h9 \6 H! u* `6 D4 cvirsh detach-device name usb.xml
" }0 r/ c# x2 a" y/ g% ~" z* U8 A9 A: ?/ N" E2 n
2.挂载设备
- @' y" Q  Y6 |2 r4 d: c1 ]+ g# {; l' T8 B) `& X
virsh attach-device name –file usb.xml > –persistent
- s5 J+ y% X1 p+ \) ?0 T* r) U' l) R& R/ ?( u1 W( m; p9 b: W1 P
因停电故障,上次device 是1 ,这次device 变为22 [: M& q( ~4 m# D' ~
 楼主| 发表于 2022-9-29 11:52:34 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# lsusb -v
8 G' q+ i7 r! }+ E& C' \9 k0 ?3 U% u7 A! R0 _8 R
Bus 002 Device 003: ID 0781:5588 SanDisk Corp.
0 d9 L$ e8 H0 sDevice Descriptor:
* N% T$ q- _+ V  bLength                18
$ m2 U" K+ q+ P2 S  bDescriptorType         1
" j8 n1 B/ F6 B, |+ t6 y/ h  bcdUSB               2.10
! k/ R3 k1 ]  @) Z! E5 X0 O  bDeviceClass            0 (Defined at Interface level)6 x- \  }" j* E
  bDeviceSubClass         0 + f2 t8 D$ Y5 W' _
  bDeviceProtocol         0 . u& ~6 x6 {+ f# Q# j% v
  bMaxPacketSize0        64
5 K2 _5 S+ S  l3 ^2 y/ g2 N/ K' r  idVendor           0x0781 SanDisk Corp.
" W' s( i; r7 R" L: j9 j0 `  idProduct          0x5588 : y( q. K" x" _2 a2 ~& O4 s# x
  bcdDevice            1.00
. V/ T, G2 I, ~" n0 C  iManufacturer           2 SanDisk0 q- I" ]. @, H; D2 x  |
  iProduct                3 USB Extreme Pro
+ I/ N3 r8 ^& g  O$ O$ F  s  iSerial                 1 00000000000000000000
+ Q! _* x/ R' v* O" B# D; u, x  bNumConfigurations      1
: V' S$ q5 G( e+ v% \  Configuration Descriptor:  s( |% c* ^9 X0 D7 [3 c* y
    bLength                 9+ o5 z$ I) D% I. D  e" G- D" U8 X
    bDescriptorType         2. i% ?( a4 Q- t4 b+ I0 E  T% y
    wTotalLength           32( H. s( Z. u/ h7 U% C: @
    bNumInterfaces          14 c! h; ?* Y( W9 h4 n
    bConfigurationValue     1/ E$ p4 }* ]0 l  i& D- [
    iConfiguration          0 5 k; c: B- g: V7 Z" j
    bmAttributes         0xc0
3 r& g1 ]6 B% m# x4 e5 \  F      Self Powered
, }4 J. g/ P1 m% |    MaxPower                0mA" x7 F! ~) K5 V( |, \+ p
    Interface Descriptor:6 W" u+ `/ b2 _+ n9 C
      bLength                 9- a8 G' J. |& J9 J1 Z8 x
      bDescriptorType         4) k4 l: ?! J  d6 {# K: x5 Y2 d
      bInterfaceNumber        08 B, C) Q4 x7 O& O5 {3 R! |
      bAlternateSetting       0
( L7 i" [$ v* F  Q      bNumEndpoints           2
% G3 f8 h  d6 q; d& F      bInterfaceClass         8 Mass Storage
& L+ t+ g+ k8 z* w* x! X      bInterfaceSubClass      6 SCSI; d- [$ N* l: o
      bInterfaceProtocol     80 Bulk-Only# x3 ~9 o* _# N: o
      iInterface              0 3 Y- H( F% r" ]$ |
      Endpoint Descriptor:
$ b$ u9 j' g' L        bLength                 7
3 f4 I1 L+ a' m. N; H: A        bDescriptorType         5
  T! c) f* h/ ]2 J        bEndpointAddress     0x81  EP 1 IN' a7 W3 o" H* _. V# J, x; M$ W
        bmAttributes            2
* ]3 Y6 L6 q0 h2 V- p" r4 e          Transfer Type            Bulk
( ^+ Z& \  `  r( |# p4 w% o3 b' |          Synch Type               None
0 T/ l' Z! A& _- Q9 i          Usage Type               Data
" I6 i4 _; ~5 K$ ]9 j( |        wMaxPacketSize     0x0200  1x 512 bytes
. M, Q3 J% j+ G$ C        bInterval               0
% r' m4 p6 n7 \' k      Endpoint Descriptor:
; P7 f: F# t. _3 O0 |        bLength                 7
, D  }7 c, K9 S5 ^9 b1 P: _* z/ |( a2 S! z        bDescriptorType         5' B3 X5 L5 _4 X2 a' R0 y! r/ W
        bEndpointAddress     0x02  EP 2 OUT) B4 r" D9 P& [: Z/ x
        bmAttributes            2
2 B4 i5 D+ j' ]          Transfer Type            Bulk
7 r5 R5 a6 u$ e! q3 _  e# b          Synch Type               None
! o+ g1 x! I+ O/ E. e          Usage Type               Data4 s/ h; G# G2 r+ [: e9 k3 j" ]. C
        wMaxPacketSize     0x0200  1x 512 bytes
: g4 K# f% l; `4 D$ x; I        bInterval               0
- C/ Y% x& C/ |
! P1 M* J7 g- w& I(nova-libvirt)[root@compute07 /]# cat usb.xml 8 m; z3 f# F' H7 |6 p
<hostdev mode='subsystem' type='usb'>! \% r$ R( e: A2 q4 u3 n
<source startupPolicy='optional'>
# |  O' I& W# M<vendor id='0x0781'/>
1 \9 q( y' V" P9 m- U; R- D) [4 [<product id='0x5588'/>
0 }1 i( n1 s) ?8 \( ~- e  ^. j) ~, E</source>! |  g) ^1 @  X3 g
</hostdev>
1 _, y8 K* d2 p$ E/ ]7 N
9 O' i2 a% ?. l9 f& [3 a) c& X% k8 l+ D9 F3 l* t
(nova-libvirt)[root@compute07 /]# virsh attach-device instance-00000162 usb.xml; l/ F0 ]5 v! o4 j( P1 {
Device attached successfully2 l# ]' {) ^, S2 O* m. A8 A2 g3 \

0 S5 Q  d& e% u, \
; {, v7 B8 X( y2 f7 [" }, z& C2 Z# C( p) f
 楼主| 发表于 2022-9-29 14:32:12 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# cat usb.xml
0 }9 v# o9 r2 N<hostdev mode='subsystem' type='usb' managed='yes'>" o( t. H5 a, D1 J
<source >
1 _* m) N9 W0 I! l# w- D) p   <vendor id='0x0951'/>8 F% a2 i8 I- D
   <product id='0x1666'/>4 U6 ~/ O& t+ K
   <address bus='4' device='3'/>0 r. e5 q- o& a5 D
</source>
- g5 a5 l- L; s+ q$ W' c</hostdev>
 楼主| 发表于 2022-9-29 14:38:48 | 显示全部楼层
1、首先使用lsusb查看设备的总线、设备、VID、PID等参数,如下:
' ]5 X: B6 n9 j* s
: p& h( c( W0 }( j5 cBus 004 Device 003: ID 152d:0576
0 y' ~' s0 j. T6 l* j: I" w( C, N8 R
2、修改配置文件,添加USB,如下:
' \7 R5 A+ U" D- n* s  z7 x) K+ M, {* q% H3 {
   <hostdev mode='subsystem' type='usb' managed='yes'># A% x3 h0 z. L
      <source>: T! T' @& w. y! J
        <vendor id='0x152d'/>
) d- j! c5 P0 Z, c# {        <product id='0x0576'/>
$ w' P  _) o4 |3 }- y8 l        <address bus='4' device='3'/>! e! \  o" E: n$ f
      </source>
: j% @4 v7 q0 F/ u  q$ m8 e8 O; C; o    </hostdev>
" `, f1 o4 M; K% V1 R! [' Z5 g3 K: k; v0 p% B5 l
3、启动虚拟机即可。
 楼主| 发表于 2022-9-29 14:41:28 | 显示全部楼层
挂载USB设备(ISO)给虚机! _. \& v/ j% L" r  c* K; C3 _
在虚机所在的节点检验是否安装必要的包1 `1 b* e0 K$ s* g. w) ^! a- r
rpm -qa|grep usbutils
5 c& X9 c) m6 w+ v$ i如没有,则yum install usbutils进行安装' K4 _: G; G1 ]$ a3 n
7 M9 _8 _8 {0 u2 L5 t
查看节点现有usb设备
* ]* D: H2 d0 xlsusb
" ~! \* p3 W+ B; \3 z  u* l- S
# l7 z6 v/ U3 h& V, ]# u3 x+ I. 插入usb设备,确认新增的usb设备信息(主要确认verdor id和product id)
/ ~+ X- X. p( G% a- Xlsusb -v
% j/ D. K( S$ M. e4 s9 ]; w. v- G- \& Z$ a( |
准备usb_device.xml* E. Y' E$ e# J0 L9 [  V
vi usb_device.xml
7 j, b. {6 R1 V0 u- x& L2 s; m$ m% A8 G# v: A) M
<hostdev mode='subsystem' type='usb' managed='yes'>$ b! k$ ?+ K' \6 d
<source>! [$ s5 `0 C: ?3 N, r# G
<vendor id='0x090c'/>% a& T- A# E4 B/ x9 {. h+ Z
<product id='0x1000'/>
& K, k/ h% x% d: \6 G* l* _0 J</source>. G( U2 F3 j* _
</hostdev>
" w5 h- P: A+ [# r1 H1# m' V0 O, S1 h. l3 V) _
2/ M4 W3 `1 u5 `3 _. C
35 n& q3 r0 t5 c
4& [; Y: o! V# Q+ Y3 q1 K
5$ T$ n' I: J+ K! p
6: @  x! s' n0 @" y4 q
*注:verdor id和product id是由步骤3中所确认7 {- ?0 y. E/ S5 v4 a

: U1 C: p% L5 ^& e: B3 T* J% {/ x确认虚机的信息(instance-name)4 \2 R7 y" I5 C2 D
virsh list0 C# a% V- Q# x% ?& y' _

7 i  [8 C" b1 D& k' N& q将usb设备挂载给虚机
1 S; j! e: p( b0 S) j  ~sudo virsh attach-device instance-name use_device.xml
5 x4 I) H  ~3 R0 {9 c% ?  m- e8 {
卸载USB设备
0 c" n2 @& S0 l# W# psudo virsh detach-device instance-name use_device.xml- o% B  I8 ?% O- ^+ Y
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-9 00:04 , Processed in 0.097343 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表