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

openstack.kvm的usbKEY使用

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-5-30 11:00:49 | 显示全部楼层 |阅读模式
1、把 ukey 设备插到云主机所在的计算节点物理机上。
- c2 G8 I' D4 ^5 m4 R2、在计算节点安装 usbutils 工具(yum install usbutils -y)
/ u. T/ u5 s( }$ }1 j& j通过 lsusb -v命令查看 usb 的 idVendor 和 idProduct 信息。(可以通过做对比找出新插的usb)0 G# u6 t9 p9 k- v) y6 G9 c
  w9 l4 q3 S# T! x7 \
3、新建 usb.xml 文件,例如:
' ]! j8 G# d! A; ~3 _* Z<hostdev mode='subsystem' type='usb'>& t* j* Y! D* w' F9 H8 O
<source startupPolicy='optional'>
" t2 N: [: _2 H8 a( M- o<vendor id='0x0951'/>
- \6 e' B2 y1 e7 [4 U0 a2 X<product id='0x1602'/>0 J2 e: t1 A/ g3 ~3 h
</source>
0 K7 F# S, G3 z& j</hostdev>9 _( v4 B1 B2 ?: y
4、使用 virsh attach-device <Instance_UUID> usb.xml 命令挂载 ukey 设备。
. K3 u7 [9 ?3 b+ b, L5、使用 virsh detach-device <Instance_UUID> usb.xml 命令卸载 usb 设备
$ F* q# p8 L: A5 U4 v  T& `* T
: C4 k8 T5 t: R0 K) b: F1 X1 P

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-5-30 11:30:38 | 显示全部楼层
1.删除挂载设备. i1 M" m2 s3 H% v) F: N/ T

9 }6 M  b3 P8 {0 {9 T. `virsh detach-device name usb.xml
+ k" ?- l' R9 B2 O8 T% q# X2 I. v* r( \* e  A$ @* k
2.挂载设备. a( ?/ E1 y  u1 A+ s4 p" }" q  u7 N) Q

7 @" B! \1 M8 u: D" b5 ~4 I9 cvirsh attach-device name –file usb.xml > –persistent' k0 n- f0 ]' Z- k8 ^

+ D. B  ?- ?" A3 n0 N因停电故障,上次device 是1 ,这次device 变为2
) u5 N3 b! l* j- F, [  K% n1 [: G

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 11:52:34 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# lsusb -v
. D6 a4 r' {7 c7 w
: `+ z8 Q$ I2 `: E" f( a, X' \! sBus 002 Device 003: ID 0781:5588 SanDisk Corp.
6 ]' o# n: W. s  K9 P6 }9 B  b+ s! ^Device Descriptor:
7 o) g4 P$ d- Y& Q  bLength                184 z# m& n7 i9 K+ O* y# F% q# |4 B
  bDescriptorType         1
3 ]) H# `$ |) V! j, v+ u  R0 |/ r  bcdUSB               2.10
; R0 ^! |9 K  f; ^8 n  bDeviceClass            0 (Defined at Interface level), F$ E+ Q; s, q
  bDeviceSubClass         0 ' G5 G  `! B/ B) A% R- \
  bDeviceProtocol         0 # {4 t; J# \+ p  O  k
  bMaxPacketSize0        64/ }$ ?$ h8 f% v* C9 g7 Q
  idVendor           0x0781 SanDisk Corp.
- w. ~0 N; l7 S( a0 _$ r% M" A; _$ Z6 h* G  idProduct          0x5588 & H" I5 S3 d$ {( L
  bcdDevice            1.00
% W6 {6 n9 d; |. O( Q6 B, [1 k  iManufacturer           2 SanDisk  ~0 E, e1 L  q7 f: e
  iProduct                3 USB Extreme Pro& Y7 G2 H0 c# R0 H
  iSerial                 1 00000000000000000000/ C9 s8 I0 l/ ?# q
  bNumConfigurations      1
0 ]' w9 d: m. @0 B  Configuration Descriptor:
; D( Z% ^3 |7 m# l/ U, K+ ?    bLength                 9
/ [! n9 t! B" C+ v0 e2 Q    bDescriptorType         2
' d: R4 u3 P) t    wTotalLength           32
4 M: {7 `- P9 S- n$ ^7 V6 C    bNumInterfaces          1
3 w8 @! f3 u' H8 N) l    bConfigurationValue     13 L3 d; |# {! w/ f; z
    iConfiguration          0 . O7 ]* R( U7 l/ ?8 c) Q
    bmAttributes         0xc07 X5 T+ ?# w0 K) k: b
      Self Powered: I, p2 K$ t2 `- ~5 M
    MaxPower                0mA/ N: a1 j/ A5 Q- e5 Z
    Interface Descriptor:
4 H0 q- s2 m8 z5 Q! G* E; _      bLength                 9
& K. J: ~& I3 @4 a5 R      bDescriptorType         4
5 C/ B2 c6 z( g" g  X      bInterfaceNumber        06 X# @  p* X- P$ u- {' d3 H9 \
      bAlternateSetting       0
2 O9 D: s- N# ^- |: n      bNumEndpoints           2& @* Z- Q/ H: [/ C0 s  f
      bInterfaceClass         8 Mass Storage% Q+ n  E' [' V4 X' N9 J+ y
      bInterfaceSubClass      6 SCSI
. q+ S4 m7 K8 i% M% r' z: s      bInterfaceProtocol     80 Bulk-Only% p' J( v0 m/ d6 F6 X  p* T
      iInterface              0 5 Y( c0 A& e$ f% L& p4 ~8 X. }& F+ k
      Endpoint Descriptor:% E0 ]8 H& o8 l% T" D2 ?
        bLength                 7) o( a( B( E: k( z
        bDescriptorType         56 q1 n0 ~5 @3 t/ D& f0 C7 V
        bEndpointAddress     0x81  EP 1 IN
) }! }1 o4 v5 T5 |* f8 x0 ?0 v        bmAttributes            2+ u  V0 N( E0 b) _5 r8 u  @* G
          Transfer Type            Bulk2 p3 C' d/ }) ~! X5 x4 p
          Synch Type               None
/ {  X$ s) {8 o% k& t" `          Usage Type               Data7 K# }+ {; J0 C0 f$ F
        wMaxPacketSize     0x0200  1x 512 bytes1 j( k9 q( I; H: P
        bInterval               0
; E7 o$ x" ^9 H+ o' \+ _1 t      Endpoint Descriptor:9 }. ], Y" Z- A  ?# S! P
        bLength                 7, C& n% _) ?0 b( O6 M
        bDescriptorType         5
5 \5 n( `0 M" D5 l6 [9 Q        bEndpointAddress     0x02  EP 2 OUT
2 O; H, ^( m: t6 T0 s) Z6 {6 H        bmAttributes            24 r3 G$ ]4 L) |. L3 d
          Transfer Type            Bulk+ @4 ]! y2 u- p) S
          Synch Type               None& Z8 t0 }0 a; S" G" r% M
          Usage Type               Data
, I7 G9 ?, I! P* u& P) G        wMaxPacketSize     0x0200  1x 512 bytes/ v' ~$ L; S$ _
        bInterval               01 k! @4 P2 s0 j+ n

/ k# |/ `# I$ k(nova-libvirt)[root@compute07 /]# cat usb.xml
+ B- R9 e$ T5 M7 q- L<hostdev mode='subsystem' type='usb'>  z/ \! G" @5 D9 Q! I0 h
<source startupPolicy='optional'>
. z3 ^  z/ B0 v+ {: S" C<vendor id='0x0781'/>( v' ~9 S$ n8 g- K% ]+ V$ w& t
<product id='0x5588'/>
5 a8 _, L. t4 o5 `9 N</source>2 l. @3 C6 n$ E+ g( G" X& s
</hostdev>
4 a8 L8 N  H% y% b& T, S* w
- k% @" V+ y8 w) }5 }& P
, l" n, t% ]8 J2 z5 F(nova-libvirt)[root@compute07 /]# virsh attach-device instance-00000162 usb.xml
- e! T4 W. N" K( n9 lDevice attached successfully: E+ Y2 |' D* l1 L) x' c
, B* S0 e% O+ I+ f" d! n
) C, M3 P: h" z& W. @* B4 H# |6 x
* G3 D2 L. V; c7 }$ E7 S1 p  y

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:32:12 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# cat usb.xml % t( i+ D0 l  L3 @
<hostdev mode='subsystem' type='usb' managed='yes'>
5 r0 h& ]  A7 `5 v5 u) \ <source >6 Y% |( F$ V7 z# x2 e' Z
   <vendor id='0x0951'/>: U! ~$ r- ], N1 ]/ H: \+ s: d7 G
   <product id='0x1666'/>  i! x+ l# @- N. ?) f6 p' c
   <address bus='4' device='3'/>
: b+ W, t: Z- ]( c </source>
, a+ [& t% o7 i. D</hostdev>

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:38:48 | 显示全部楼层
1、首先使用lsusb查看设备的总线、设备、VID、PID等参数,如下:
, f: q& I  X- Z% W% u! O
- x8 A) i* `9 o3 k& E. p3 U) z* ~Bus 004 Device 003: ID 152d:0576, ~, P" F, S# _6 C) B. Z

& D1 F+ p' b4 o  C2、修改配置文件,添加USB,如下:+ `* p7 U: H2 T; ~4 g

8 t1 h- r' j) Q& c7 g) h   <hostdev mode='subsystem' type='usb' managed='yes'>' Y7 t* P# n8 n
      <source>  C" G7 ~7 V. h( p0 w- a0 [- ]
        <vendor id='0x152d'/>) \$ X* U; }. o0 z9 H$ d7 `' n# {
        <product id='0x0576'/>
# |- D& w5 T" k0 A* F; V( l, @        <address bus='4' device='3'/>
; z5 p3 ~- M' f& N  ~      </source>
# M$ {$ t% z" s& U2 X  \, u    </hostdev>
$ U; H! i; Q$ {& d! }
8 Y$ F; u& R: o( O. C* ^3、启动虚拟机即可。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:41:28 | 显示全部楼层
挂载USB设备(ISO)给虚机
/ u% p+ y- B( s; F1 K: G( S在虚机所在的节点检验是否安装必要的包
3 B! Z4 s; |0 x5 a+ e  Jrpm -qa|grep usbutils" N4 t: e$ C, \6 A
如没有,则yum install usbutils进行安装( ?: A$ s/ S: q2 A% M1 l

: Z! K; _9 T2 X* F: Z& I查看节点现有usb设备8 t6 D8 d4 r; P1 C
lsusb
" l4 _$ w) H1 V. k- h1 V9 ?# y' Z& U) }3 e) e* e* Y7 {0 e, {
. 插入usb设备,确认新增的usb设备信息(主要确认verdor id和product id)
. r/ w" Z- n+ M9 q, N" }7 w8 @lsusb -v
, J$ q: N2 v  \. v/ L, H5 ?; Q# [% x. u% A3 S8 A5 N
准备usb_device.xml
; C8 D2 C* B% t  q* u6 q+ ?vi usb_device.xml
$ [0 E1 j. T" T( w& p) |
7 Y* g. F5 V3 T4 a# q<hostdev mode='subsystem' type='usb' managed='yes'>/ h/ K. @& _$ M
<source>7 i/ O9 c# z7 x
<vendor id='0x090c'/>/ e6 P3 g" }# V/ K
<product id='0x1000'/>
: W: O% {6 G/ ~1 t; v</source>
& S( j, \+ R$ S' {: s0 c</hostdev>
8 E- @$ l. o; m: X1
2 i3 o- i3 |* o5 h- E. N  k9 j$ {2! Y3 `- v. u1 ]6 }; W
3
" b. ~6 S4 B4 P; ~! V8 U( {4/ @) n* ?+ G5 ?' f& g$ O
5
$ _  k* F! J0 b3 w% x6
( U( U3 _! |; c- v/ {& _' ^, q*注:verdor id和product id是由步骤3中所确认
9 E; J* J% @  F8 m  {0 y4 V. u/ ^7 {! [' P
确认虚机的信息(instance-name)
5 a' f: y( y& B6 r9 Xvirsh list
7 r% K+ K1 D8 A; q9 f: ~2 f8 p/ M* K2 o% S$ o' @7 L
将usb设备挂载给虚机
# p7 f* I) Z3 N' m7 `+ Ysudo virsh attach-device instance-name use_device.xml( p. c& U% S1 L* k" H" c* f  ^
/ I1 @5 w. l# ~- A
卸载USB设备. W  U% b8 R) V
sudo virsh detach-device instance-name use_device.xml& f  K8 m$ c& I2 P- j$ \% x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 02:02 , Processed in 0.016778 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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