找回密码
 注册
查看: 984|回复: 5

openstack.kvm的usbKEY使用

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-5-30 11:00:49 | 显示全部楼层 |阅读模式
1、把 ukey 设备插到云主机所在的计算节点物理机上。9 [1 E+ A3 `! |& p* S6 F
2、在计算节点安装 usbutils 工具(yum install usbutils -y)* q8 ^/ L3 S1 p) c- ~
通过 lsusb -v命令查看 usb 的 idVendor 和 idProduct 信息。(可以通过做对比找出新插的usb)
( O$ a" y" ]5 T+ Y1 E9 k0 n4 B$ l2 x: {5 R5 H8 w
3、新建 usb.xml 文件,例如:
. K) [( O  c! z3 c! K2 a<hostdev mode='subsystem' type='usb'>" L4 i' \% A8 |1 ]
<source startupPolicy='optional'>) x* K$ }2 G/ f  }! w/ N
<vendor id='0x0951'/>
; ?2 O- R0 @- J/ s( I<product id='0x1602'/>
& q  n$ q7 W, Y: P. }</source>
, _0 |: h' l# q+ V4 `( i! l</hostdev>
( O, K; K2 A$ H( b4、使用 virsh attach-device <Instance_UUID> usb.xml 命令挂载 ukey 设备。# V: l% j- q0 d1 J8 `: `
5、使用 virsh detach-device <Instance_UUID> usb.xml 命令卸载 usb 设备
9 g6 v' ]$ ^+ M. D' y& M6 `4 A4 t* d$ s' ?' V2 L

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-5-30 11:30:38 | 显示全部楼层
1.删除挂载设备' X: M+ e, g4 d- K, K+ j0 L5 n' V
- @: e- T/ }  }6 @0 O1 P
virsh detach-device name usb.xml
+ ]7 D, a0 v" X( l+ F* g$ }  N7 d* _0 Z" f$ e( q
2.挂载设备& O6 e3 |9 N/ V, N* K. `
( w0 u2 {- p6 ^3 ^5 y8 p4 Q+ L
virsh attach-device name –file usb.xml > –persistent8 A2 A) l$ W" n/ A* ]7 s

" J/ Y% q2 N5 e* P( f) c因停电故障,上次device 是1 ,这次device 变为2
+ T8 f) S$ Y- D- o

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 11:52:34 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# lsusb -v# Q0 n  z6 e$ c9 K$ b
# G% x3 P4 Z) W2 Y! |
Bus 002 Device 003: ID 0781:5588 SanDisk Corp. ( S. Z5 }4 P; N0 Y6 ^
Device Descriptor:: M* A6 P, D$ H2 G$ h
  bLength                18
  i0 m( ], {. o  bDescriptorType         1
( B6 C4 @+ t: }. n5 b  bcdUSB               2.10
! m; E) x0 j' J; D! T1 u/ q  bDeviceClass            0 (Defined at Interface level)9 b) m* i. T. F2 n$ r5 M( X
  bDeviceSubClass         0
2 B5 M9 M$ r! u6 Y( k2 P  bDeviceProtocol         0 $ N. g# ]$ S+ q4 z/ j5 I# f: X  g! g& Y
  bMaxPacketSize0        64& k- o  j* @! p: z2 q7 ~2 {
  idVendor           0x0781 SanDisk Corp.1 C) v1 l3 `5 E% ]7 [" w$ K
  idProduct          0x5588
+ `, `) s  c0 x% G; z% J' f  bcdDevice            1.00
0 ]9 d7 [& F1 T9 ~4 Q4 D  iManufacturer           2 SanDisk
4 o$ l; c( O' k. O+ i4 E  iProduct                3 USB Extreme Pro
- n4 [- ?8 V( y  G3 s  iSerial                 1 00000000000000000000. b8 \7 M0 @+ F% B* |
  bNumConfigurations      1
. A3 g* l5 g/ T; T+ i  Configuration Descriptor:
4 @( \0 y4 V) V  _, n7 E' G    bLength                 9
7 |: q9 O7 t% a7 B- A( P6 z- W    bDescriptorType         2; ~" l0 k0 N9 K! w! h0 v8 P5 g
    wTotalLength           32, ^9 C  W# [  ]6 o: D
    bNumInterfaces          1. ^3 @" a, J6 j1 J3 l& H0 E/ V1 ~
    bConfigurationValue     1
0 T( C/ V  ]' M    iConfiguration          0 7 t7 g# [8 n! E' }& \9 d
    bmAttributes         0xc02 I8 G+ f9 _3 V5 i
      Self Powered: C# m& \9 ^( X' x  z1 O" n2 p/ h
    MaxPower                0mA* n2 s) [8 x1 }! f& g8 o
    Interface Descriptor:3 W( u& v- w. ^( b
      bLength                 9! a, t2 q$ v" v2 g1 O" D
      bDescriptorType         4
% ^/ k  l$ H) k% t. I      bInterfaceNumber        0
: l1 G" e. \0 d) T  n6 x9 A- V      bAlternateSetting       0
+ Q3 Y) S2 _" _6 [. T      bNumEndpoints           2
6 q- M2 t& z! h1 ~, o5 \( s      bInterfaceClass         8 Mass Storage
/ u3 }* @1 h; l4 d8 {5 ]4 U      bInterfaceSubClass      6 SCSI
, f" e' g' t, q% `      bInterfaceProtocol     80 Bulk-Only: O7 J- ^+ C- S/ P* U" |
      iInterface              0 ; x/ `/ l' Y; h, K- ^# p
      Endpoint Descriptor:
) w2 F* a+ Q# H        bLength                 7
: D9 {2 G- ?7 O( ?: B' g6 ^        bDescriptorType         5
2 P; m7 G. Z) g, u& }        bEndpointAddress     0x81  EP 1 IN
  q3 Y$ h3 b" ^* L        bmAttributes            2# T* [/ m; l7 P- p$ [/ |( s
          Transfer Type            Bulk
& n8 d! ^  I; d          Synch Type               None3 I8 y+ u, X' e8 h! g9 H  W
          Usage Type               Data
8 G0 b$ z6 ^, W( X# q- q! z' n6 V( T' @        wMaxPacketSize     0x0200  1x 512 bytes
6 n, `6 X4 i! j9 i        bInterval               0
6 {. U* F: Q- x- ]      Endpoint Descriptor:
/ ~0 H2 E* Y! }4 ~* }, r        bLength                 7
- q# u% t$ ^& }2 k9 e        bDescriptorType         5+ m; o. K/ f4 R2 W
        bEndpointAddress     0x02  EP 2 OUT
# I7 b4 @# ]: S; I7 z' A% {        bmAttributes            25 B' K/ y- D, W) |+ a
          Transfer Type            Bulk
' Q% t& I) V, q* V9 A7 W! J          Synch Type               None# v) y" Y# j7 @- \3 R' P7 R
          Usage Type               Data
4 W/ y) Y3 b1 }' e2 L: l; R* L        wMaxPacketSize     0x0200  1x 512 bytes
6 I: |3 e  f& U  x. c" c& g/ r        bInterval               0; p5 A: l1 U$ D
4 Y$ m* P1 A3 M% S8 W9 r9 ?
(nova-libvirt)[root@compute07 /]# cat usb.xml
  _3 P6 N6 ^$ J4 i, ^0 z% ~' ^<hostdev mode='subsystem' type='usb'>
' w$ a4 E0 C* h<source startupPolicy='optional'>
) H( x8 W( H$ |) d# e/ F7 ^; B4 w' r<vendor id='0x0781'/>6 `9 \/ L# k# d  r" {3 u$ o
<product id='0x5588'/>/ k5 X0 e5 G7 |3 W2 j0 a- F
</source>& g8 P* u1 P- L# Y4 [- t! i$ r4 u
</hostdev>6 l9 d- q5 H7 t$ {" H0 G1 d

8 M% e. P  x; \* I8 o$ e) Q5 I+ a0 F. o9 C/ Y, H! I
(nova-libvirt)[root@compute07 /]# virsh attach-device instance-00000162 usb.xml1 b+ z4 T0 T: [* Z1 [
Device attached successfully: h- g$ S% P7 i, m! ~$ [) o

( T" ^; ]  i& F, [: }- }2 b# X" k7 d/ W% n5 p) v. S
% p4 m7 \" `6 L7 U, d

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:32:12 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# cat usb.xml # @$ O, a1 J8 r7 T6 c
<hostdev mode='subsystem' type='usb' managed='yes'>
8 t2 Y- X7 x# j" ]# W <source >
6 d* k5 x3 @. @& M8 o   <vendor id='0x0951'/>, C+ |  i6 h( I) S* x; S) ^* I
   <product id='0x1666'/>
$ N( \) E, `  A! E   <address bus='4' device='3'/>8 k2 G3 V$ p$ h5 W  V
</source>
5 @0 ^+ b6 J8 Y5 h8 s" x0 w</hostdev>

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:38:48 | 显示全部楼层
1、首先使用lsusb查看设备的总线、设备、VID、PID等参数,如下:( w* m! h* q9 Y7 x7 V/ Y
  a* |; |3 `, b" K9 Q+ M
Bus 004 Device 003: ID 152d:05761 x# _3 p* m  i; |
. [/ [( U' i6 Z
2、修改配置文件,添加USB,如下:
/ W; a9 r' O2 v* l8 S4 l. g1 z& R" Z: E* s3 A6 k
   <hostdev mode='subsystem' type='usb' managed='yes'>
7 s. H* H/ W+ [8 s: m      <source>+ j2 l/ l( p( i  d9 B" j
        <vendor id='0x152d'/>4 ^7 _2 l! `0 s' u
        <product id='0x0576'/>& J2 ]* L  X; h6 J+ ^% m7 S
        <address bus='4' device='3'/>
0 {  b( ]5 e4 ~8 _. w1 T4 o      </source>
1 u+ Z# [9 x9 m% T    </hostdev>4 y- K& [) D! f% D- D# b
6 C/ }1 P/ c0 Q) B2 ^8 |
3、启动虚拟机即可。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:41:28 | 显示全部楼层
挂载USB设备(ISO)给虚机
3 w8 ]) }* h2 z7 h+ C在虚机所在的节点检验是否安装必要的包
& A( }7 C: V( j3 {7 Q2 I3 c+ n, brpm -qa|grep usbutils6 o+ U2 l& b+ w5 b: g
如没有,则yum install usbutils进行安装( d- ~# D2 \! O. k/ h# M9 v
& R/ B4 d8 A; B, c+ j7 @+ I, P
查看节点现有usb设备
7 G9 a* [+ a% t& C4 E; |( i  `- zlsusb0 d- `, Q& J/ @! G* R
9 l% H; v) b# c# {4 v2 n: N
. 插入usb设备,确认新增的usb设备信息(主要确认verdor id和product id)
+ ^3 W; B$ s: p; L4 E* W" Q9 O* Clsusb -v8 g& V9 J% j9 q3 U7 z0 H% _
2 N: J  U* t/ \3 D; N" {# H
准备usb_device.xml
, f/ |2 x3 B# X/ [- d/ t6 M9 ^vi usb_device.xml
2 J& q4 J. b+ A9 }/ V, \
. q$ ~/ s% w% ^+ z5 d<hostdev mode='subsystem' type='usb' managed='yes'>
1 m7 q" X. I  q<source>5 t( l5 d* D* a( q
<vendor id='0x090c'/>
3 U, e! B) ~: z<product id='0x1000'/>
; d/ r, G- j0 W* q& ?% y1 j$ O</source>4 \! z7 l' y! O. n
</hostdev>
$ N: d, J3 d) G( ?, x2 Y) N1; G7 A( y$ y6 D' k: K  P" ~
2
' l' l/ A, A* C+ A- y/ z9 v" b35 C7 A8 ~. {+ W% Y9 m9 }' F) _) r
4
- V4 d9 G- X. b+ K. O5
+ Z6 Z) T/ D/ E" N2 G% q) X* a- T& X6
$ l6 a4 q6 J% H! q2 r*注:verdor id和product id是由步骤3中所确认
( V0 Q$ P+ ?: T- d8 Q  @% M  L' n% R- p9 ]
确认虚机的信息(instance-name)
+ h) B# w& x% N% ^virsh list. [' _8 j+ T4 r3 \4 i. H4 C
" E% [' K, w& H* Y  [4 N$ p
将usb设备挂载给虚机
( W) d7 r/ V0 \+ E, d- w& w& ysudo virsh attach-device instance-name use_device.xml
8 Q" O, ~- S0 ?4 Q, H8 U! N" Y( }; j9 y5 H0 U
卸载USB设备
" X! W) K" u( Z9 P6 k) f1 y  Isudo virsh detach-device instance-name use_device.xml" H# p1 _: j3 _: Y; M2 @- I7 `- p
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 00:07 , Processed in 0.018762 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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