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

openstack.kvm的usbKEY使用

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-5-30 11:00:49 | 显示全部楼层 |阅读模式
1、把 ukey 设备插到云主机所在的计算节点物理机上。
4 ]+ `* m+ M# l2、在计算节点安装 usbutils 工具(yum install usbutils -y)
4 w6 k/ w) L# F通过 lsusb -v命令查看 usb 的 idVendor 和 idProduct 信息。(可以通过做对比找出新插的usb)
& {& ~# D7 O0 I' [: b* S1 h/ V
5 p" ^8 m4 W: F) P! j6 _5 q7 z3、新建 usb.xml 文件,例如:
$ ]8 Z$ ?2 [& A<hostdev mode='subsystem' type='usb'>$ V/ d; g1 n, c
<source startupPolicy='optional'>
" N; @, k, H) T) C<vendor id='0x0951'/>
% c' J! P0 i9 v7 d  B7 M* o* H<product id='0x1602'/>( S: R# l) v; d' e1 ]& X- G
</source>' z* I; Y, @5 P2 ]' _1 z" o
</hostdev>! P! d4 Y# X" T
4、使用 virsh attach-device <Instance_UUID> usb.xml 命令挂载 ukey 设备。: X/ p. R/ b; u5 `. V
5、使用 virsh detach-device <Instance_UUID> usb.xml 命令卸载 usb 设备
# [( e- j0 {% N- j# _/ ^% G- x) L  c

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-5-30 11:30:38 | 显示全部楼层
1.删除挂载设备* C+ ^# G0 D  d+ M" [9 H7 d
" y2 A/ t# ^1 O: y/ h) {
virsh detach-device name usb.xml
( u! T. e: U. C) O5 f) Q
) q0 z) K. T/ Y2.挂载设备
3 Y+ r6 _& U( C
- a2 f4 j7 q0 @7 ?virsh attach-device name –file usb.xml > –persistent
2 e. E( ^* m  k. {9 ~1 Q4 O
/ \) R6 @. K) }' R! ~9 ?# S5 ^因停电故障,上次device 是1 ,这次device 变为2; `( p, Z* u$ m6 C1 F3 Y. L

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 11:52:34 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# lsusb -v
9 ~& [3 h- M& f7 Y! s3 r
: x- w* S; ]6 z# a0 S; z4 qBus 002 Device 003: ID 0781:5588 SanDisk Corp. * T' a# \8 Y+ e
Device Descriptor:
3 L- F- E! p( O. d* r' Z9 v  bLength                18
8 Z/ w0 b5 h; l" y( [  bDescriptorType         1
  G9 H" [; }% M4 e# J/ p  bcdUSB               2.10
+ @3 Z! m4 \6 E% ]) F  bDeviceClass            0 (Defined at Interface level)
0 d: u/ |# }  r' T& z) i7 e* I  bDeviceSubClass         0
  @$ c5 z9 X! I  bDeviceProtocol         0 * H+ Z& Z3 E- Z7 a  g% N/ O+ q' G
  bMaxPacketSize0        64
0 u1 h5 b, K# E$ Z6 m9 o7 A& c( X  idVendor           0x0781 SanDisk Corp.
1 x6 I1 C. A, `* K$ T- ^4 ?( ?  idProduct          0x5588 ; U- x5 B9 g; u& L- ~* [
  bcdDevice            1.00
4 H( y. N1 {; d9 g! O  iManufacturer           2 SanDisk- g0 b! }9 A7 z  ?. `
  iProduct                3 USB Extreme Pro
: ~( [. i& g# T  iSerial                 1 00000000000000000000
+ c' m% z6 z* h5 W  bNumConfigurations      1
' r/ [  ^, E( w. N7 G  Configuration Descriptor:5 Y) [; e' M  U- Q3 u3 J$ z' ?& [9 k0 n
    bLength                 9) \+ ~% G4 R, f1 x/ i/ b0 ?
    bDescriptorType         2' \. D( H3 V9 h0 R) C; E9 w; u  W
    wTotalLength           32
5 y0 R! Q1 u. o$ B5 X    bNumInterfaces          17 \5 B4 }9 x9 E
    bConfigurationValue     1+ g2 D$ f- ^4 G+ c: u+ b
    iConfiguration          0
) o* x4 A2 X* U7 f1 a; M    bmAttributes         0xc0
  I1 F& b9 A! P1 F; f7 `0 p; n) r      Self Powered
' t; R: R2 W$ M! c  F    MaxPower                0mA
* \$ X' H9 G# p3 O3 s; E/ u    Interface Descriptor:
2 ^% E6 S- R1 {. D  m; m      bLength                 93 p/ d! L3 D$ \) }
      bDescriptorType         46 g$ m* z- l8 y/ e+ p& J
      bInterfaceNumber        0
6 y: a6 M) E5 x2 w; `4 p9 |; L1 n% p! `      bAlternateSetting       0
+ {0 \7 N4 l% h      bNumEndpoints           2
9 e3 O) {2 C8 D9 C, O; z      bInterfaceClass         8 Mass Storage
2 J+ J! ]/ }# p8 v0 I/ \. Y4 a      bInterfaceSubClass      6 SCSI
5 \  V8 \5 j0 p1 ]& p" B. j6 G- I$ u      bInterfaceProtocol     80 Bulk-Only
. E3 |, Z7 _2 e; R7 U1 Z! a      iInterface              0
* |9 _8 P! }; G6 |. r      Endpoint Descriptor:
4 Z1 `( O& @0 j& P; m* u        bLength                 7% s) m6 }6 u, C' F/ A, r1 t5 p: k
        bDescriptorType         5
9 p5 X# Y6 K, ?& D* H        bEndpointAddress     0x81  EP 1 IN7 O" H$ s4 o$ k& {! c7 `/ C1 k
        bmAttributes            28 y( e6 _7 _" b+ p8 o
          Transfer Type            Bulk' Q) R8 \" D6 ?0 X7 |; S" o; o
          Synch Type               None1 ]$ `/ B+ a! O- E% a% C0 v- `
          Usage Type               Data9 ]$ k; E, L% D
        wMaxPacketSize     0x0200  1x 512 bytes
8 _+ t( g. k/ W$ u' N        bInterval               0
+ c: u+ w- q( [      Endpoint Descriptor:
+ u  O" k6 r& x: S8 a+ a        bLength                 7& `& ^: \4 @- Q  d7 s  U
        bDescriptorType         5
1 i$ I4 K& ^) C: r7 U8 J# y3 G& U        bEndpointAddress     0x02  EP 2 OUT3 x1 K2 a, E. z+ x3 T. Q! @3 j
        bmAttributes            2
% m& B: O( a, Z, I* e. j% j          Transfer Type            Bulk+ _8 {; ?# \  ?$ {5 Y& M
          Synch Type               None' F/ a2 A! E# g2 e8 M
          Usage Type               Data
; ~3 Z# ]: Q+ j6 A" u        wMaxPacketSize     0x0200  1x 512 bytes
1 p1 K! \0 L) z& [4 Q        bInterval               0) D. E0 V& r3 a: B# ~; O9 A& y

* v3 x4 A1 [! t8 Z(nova-libvirt)[root@compute07 /]# cat usb.xml
1 e+ L, O8 {( r0 }! {<hostdev mode='subsystem' type='usb'>1 ~, L# a" o6 D7 t; [9 O
<source startupPolicy='optional'>$ U; K2 R. a+ F) E0 d0 }
<vendor id='0x0781'/>% U+ [  C; D, ]+ t7 D
<product id='0x5588'/>' r; i9 l- v$ ^+ z. s& I/ u7 }' K
</source>8 E( W" @9 [6 h4 w
</hostdev>
6 A9 a% c0 m3 M  Y8 Y0 i" P( v# _6 y! B  J1 z

- w: r$ a9 ?! f  O) v7 ?! W9 h(nova-libvirt)[root@compute07 /]# virsh attach-device instance-00000162 usb.xml- U9 U$ @- o) ~
Device attached successfully5 l* _! E% }8 _8 ^7 z1 a

5 l8 J. E6 p! J5 b' R5 a( J- p& h3 a2 N" E: j- D

' S7 m+ Y  K4 `! m

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:32:12 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# cat usb.xml 2 X0 ]+ H0 U2 |
<hostdev mode='subsystem' type='usb' managed='yes'>: w; t4 ~" z1 F, k5 e
<source >( i. Q2 `+ S8 s
   <vendor id='0x0951'/>
- t8 X: I# s2 s* x   <product id='0x1666'/>6 i& e. u% A1 n" r
   <address bus='4' device='3'/>
. p4 b: ~: w$ p. }9 C4 z$ r </source>
* B; j5 Z* |# ~; V! P5 q3 L</hostdev>

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:38:48 | 显示全部楼层
1、首先使用lsusb查看设备的总线、设备、VID、PID等参数,如下:
* \  V2 |: p/ f' B, G% B9 G- Y( J
3 N: `) U) \# p, H$ cBus 004 Device 003: ID 152d:0576
$ \5 ~  l+ \1 w' m3 ]" m, ~, |4 S
2、修改配置文件,添加USB,如下:
8 e1 c- r" _5 k1 H% T  j  f) C2 o1 U5 f; D4 k. R6 v
   <hostdev mode='subsystem' type='usb' managed='yes'>
* g' [1 D- E+ p0 D6 g  S' S* o      <source>2 J; W. W: ~: O) w! O' |  N
        <vendor id='0x152d'/>7 ?, Z4 [! E' \6 p# Y
        <product id='0x0576'/>5 w" {5 J- t  y( k, _4 ?( K5 W
        <address bus='4' device='3'/>
1 _& i; Z3 F0 W4 |& Y      </source>  W+ y( q& ?- e; t  R
    </hostdev>. [( i  C$ \7 \; M" [0 G1 [

: q! e3 q1 o2 k/ W: S5 C% ^: Y3、启动虚拟机即可。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:41:28 | 显示全部楼层
挂载USB设备(ISO)给虚机
0 [6 \$ m. t* B. S" _& B, Q在虚机所在的节点检验是否安装必要的包  J& m( e' K0 X
rpm -qa|grep usbutils3 I) N. i, z: g4 x9 v& c6 a
如没有,则yum install usbutils进行安装, t6 Q; Q6 S1 m% z

- S% g5 l) f2 M9 v4 A7 g+ x查看节点现有usb设备
- E, i/ `; J' p5 w! Elsusb. L8 @  D' t3 E/ L7 T% g$ ]
6 ^% U8 K. x# U$ n6 X$ f
. 插入usb设备,确认新增的usb设备信息(主要确认verdor id和product id)3 E& m6 ]0 |; ^! W) I& u" c8 ?3 A( L
lsusb -v% G5 n, _+ O5 _1 R) y, B
9 W8 I2 D# Y7 Y- `5 T; F! X( v1 x7 K
准备usb_device.xml3 N; p4 x/ s# d8 X$ _' q
vi usb_device.xml- L2 V- w! o! |6 N- r/ j, Y
* D% [6 J. V$ j* \( A
<hostdev mode='subsystem' type='usb' managed='yes'>
+ z* [0 n( L/ m8 {<source>
- [0 a9 J: |4 [; ~3 b7 X. k<vendor id='0x090c'/>
1 U6 W& y  b% B<product id='0x1000'/>- Q% k) h' T  J  `5 N6 U, H9 k
</source>
; B- K5 D1 @  g7 w* q: i1 h' X: ?</hostdev>: ^' D7 ?  k$ S4 e' A( @
1
; e3 p" H/ u: G* f3 u/ a# n2
3 d( i% a. B+ M$ |% ~3
! k! ~+ Z: `0 t' ]45 N* I; m/ E$ Y- ]/ `
56 q3 x! B8 m, X
60 H+ }3 g  }$ X; |7 ~
*注:verdor id和product id是由步骤3中所确认" r0 b6 j6 f. q
8 i& Z- f( C2 B& }; l0 k
确认虚机的信息(instance-name)
, Z0 _3 J6 z* P+ g6 Jvirsh list
/ [7 N. _$ a5 a9 X
# V7 z5 m: b! z. D- M+ z9 {将usb设备挂载给虚机
- d( w- Y2 ~/ w! T2 |4 c; Psudo virsh attach-device instance-name use_device.xml
' U$ t6 d" l! o+ C9 D/ N- ?6 v- T
卸载USB设备
# h. P5 |  v8 \5 k1 I1 isudo virsh detach-device instance-name use_device.xml
9 N; l5 S+ Y  p% e: p+ V
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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