易陆发现互联网技术论坛

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

openstack.kvm的usbKEY使用

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

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

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

x
1、把 ukey 设备插到云主机所在的计算节点物理机上。
; `  I( Z6 X1 f" F1 d2、在计算节点安装 usbutils 工具(yum install usbutils -y)
9 s! g  C4 _' b+ I通过 lsusb -v命令查看 usb 的 idVendor 和 idProduct 信息。(可以通过做对比找出新插的usb)
4 O3 c/ k2 J+ {* i: }
' L. F6 n; j* o  z$ E0 ?+ ?3、新建 usb.xml 文件,例如:$ R/ U6 c( }/ T0 Z( |1 q  |
<hostdev mode='subsystem' type='usb'>5 w9 o; z, O, Q0 ~
<source startupPolicy='optional'>1 a0 [  \- \/ b( @
<vendor id='0x0951'/>8 \( S( E. y. V) z7 t$ H
<product id='0x1602'/>" E' B( k. _. r
</source>
0 u/ v/ f7 V' I  k" ]( d/ k) Q</hostdev>5 v2 O  X. k7 @0 `; X# s
4、使用 virsh attach-device <Instance_UUID> usb.xml 命令挂载 ukey 设备。; ^+ E) H5 l% r) h  C; L& R
5、使用 virsh detach-device <Instance_UUID> usb.xml 命令卸载 usb 设备
5 L8 w* f1 r5 ~! a. d7 c7 N+ q  W( V5 D
 楼主| 发表于 2022-5-30 11:30:38 | 显示全部楼层
1.删除挂载设备, \& ]5 [0 ?+ N1 |6 f. q) Z* i% R
, q/ l% g  M6 o% \
virsh detach-device name usb.xml
: H. a5 C2 \# p- D. ~3 K; l: P# `* b( C5 g
2.挂载设备
1 t3 v) j$ T( S$ q% K! p; k& S% p0 S  j. x
virsh attach-device name –file usb.xml > –persistent
: M' z9 Q1 @& r- t8 _; ]/ y0 e0 f
4 h0 o. |- B, Y$ ^因停电故障,上次device 是1 ,这次device 变为2
- x8 w; U# ?0 {, X+ E/ ^: g3 f
 楼主| 发表于 2022-9-29 11:52:34 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# lsusb -v  }3 n% e; ]8 G( u& U4 G
$ b  `0 U3 U2 e2 a9 Z. p
Bus 002 Device 003: ID 0781:5588 SanDisk Corp. 5 A3 R1 f' R  O" n, @
Device Descriptor:( j- \4 s6 G6 |
  bLength                18
; A# [# K$ ~* Y) i- E' ^" T0 u! E: K  bDescriptorType         1$ ~1 P& J  I( {2 F% c
  bcdUSB               2.10
$ V# r. a; d4 Q  [  bDeviceClass            0 (Defined at Interface level)
0 [* I$ u2 m/ q) B/ z  bDeviceSubClass         0
$ o, i5 R' J( }  m1 O3 R& R  bDeviceProtocol         0
* |6 A: h+ ]% h* U$ V  bMaxPacketSize0        64% a. p% n: Y4 f! y4 m6 `7 O
  idVendor           0x0781 SanDisk Corp./ x0 k* o% ^' r
  idProduct          0x5588 ! f* M1 _1 `: C. C( a, Q
  bcdDevice            1.00- n% K, ~* \% W6 U
  iManufacturer           2 SanDisk- l: m' s, i# R" }+ D/ f. w
  iProduct                3 USB Extreme Pro% z0 _( |- A5 x8 R6 H, \, u+ D. f
  iSerial                 1 00000000000000000000
. _7 l  R0 b6 e- d  bNumConfigurations      1
% s, S  }( C: B. H  Configuration Descriptor:
# C/ [; {/ Y& U: o" @' e7 L    bLength                 9- F# n; Q" Q6 [2 @, L; ~
    bDescriptorType         2' J. P# T. T# s2 k0 L* ?) {
    wTotalLength           32/ R. u6 s2 ~2 e6 V3 m! l- s! n8 z
    bNumInterfaces          1
2 Y- D# G2 h: J5 C( l2 h" d    bConfigurationValue     1$ b$ q  }+ }3 `  s# F$ I. T  T
    iConfiguration          0
% \$ Y# F" n) M+ X* V+ Z    bmAttributes         0xc0
# M" u0 }! o3 x7 `7 t4 O  {$ ~      Self Powered
! J3 C5 X3 i8 u+ _& K" U9 g( b    MaxPower                0mA9 N5 {/ m6 p  ~% o' C, K$ n
    Interface Descriptor:
4 I7 s5 O: i7 D      bLength                 9
) z$ v8 ?& X1 B$ E- E      bDescriptorType         4
. C* M' s9 R! B8 ^      bInterfaceNumber        0
. V) r5 @- V" ?- d5 Z$ k0 Q1 |8 Y      bAlternateSetting       0
$ z. D* S2 @: x      bNumEndpoints           2" h8 _: y) }; L9 {
      bInterfaceClass         8 Mass Storage8 U# {7 `: b$ ^8 @* Z1 d
      bInterfaceSubClass      6 SCSI
! i4 H4 \( w) q/ q: e      bInterfaceProtocol     80 Bulk-Only
2 D) z/ u+ E. d      iInterface              0 ! Y8 Z8 s3 h: V, c# k; K
      Endpoint Descriptor:, W  _, i: O' u. l2 N/ }
        bLength                 7
7 y; a  g  D7 H4 l; u" i$ L5 B. g        bDescriptorType         59 V1 z0 I. Q% [# C+ a. W9 w# C. Q
        bEndpointAddress     0x81  EP 1 IN/ A& m0 P. p9 O$ E! U8 Z
        bmAttributes            2
% g% W9 P2 y+ r, g3 ?' F          Transfer Type            Bulk
  M% [* q& t: L9 b& o          Synch Type               None8 D0 V! p; l' B8 F
          Usage Type               Data
9 B# {7 }: \7 D        wMaxPacketSize     0x0200  1x 512 bytes
: j5 }! F" ~1 t' Z' x. j5 V        bInterval               04 \) m6 }: D; D% t+ g4 @
      Endpoint Descriptor:
5 `% O" f( a! |; |( W# p5 a        bLength                 74 x5 f; \, ~3 X
        bDescriptorType         5
6 w+ F$ x& v% l        bEndpointAddress     0x02  EP 2 OUT, c6 z8 m( y$ \) v
        bmAttributes            2; Z/ s" y* T- h. k$ i" X* h4 O
          Transfer Type            Bulk; H1 A% C% R+ \0 L
          Synch Type               None6 n8 B8 R# l" M
          Usage Type               Data
6 p4 o9 V% c  K        wMaxPacketSize     0x0200  1x 512 bytes5 V# q/ @( R/ N$ w$ A8 k+ j
        bInterval               0
! D# H; W" X7 U) v) {$ ~6 j1 f8 M- w7 G2 X+ i
(nova-libvirt)[root@compute07 /]# cat usb.xml 0 f. V- F9 m0 E; W7 J* _
<hostdev mode='subsystem' type='usb'>
/ p1 T( @3 f1 T, d" d<source startupPolicy='optional'>( P( y4 N# T4 s, S) E
<vendor id='0x0781'/>, o& r. T2 i* @6 x5 u
<product id='0x5588'/># k4 h5 A! ?; `( e
</source>7 h& Q+ }) q% m9 t7 {% v
</hostdev>
8 N& f: K% l. w
- `" p; o; a) s& D& {
; A1 P# }) ~$ Z' W7 B) G; k, k# l(nova-libvirt)[root@compute07 /]# virsh attach-device instance-00000162 usb.xml5 f+ d' o- D' \2 G
Device attached successfully$ W9 \2 x2 N' f% w5 M; q

* {3 P8 t5 g8 v: n6 g
2 |$ S1 s, n/ e* n2 V
* ]9 z# M  S) f  ^) q4 E+ B
 楼主| 发表于 2022-9-29 14:32:12 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# cat usb.xml
! y' Z: b% Y+ z7 b& q<hostdev mode='subsystem' type='usb' managed='yes'>  r4 @5 C- O/ O# a! g+ B
<source >
8 T+ C, j$ h1 G9 W, x* b   <vendor id='0x0951'/>
: i2 w. O2 X& o/ {   <product id='0x1666'/>
. p0 {) |8 Z6 b4 V   <address bus='4' device='3'/>( m% _$ m& w: b
</source>/ U/ I' D+ W7 h& _; {
</hostdev>
 楼主| 发表于 2022-9-29 14:38:48 | 显示全部楼层
1、首先使用lsusb查看设备的总线、设备、VID、PID等参数,如下:
3 q& Z  y) r1 M1 O0 Q) H8 e- X1 }9 H2 D' E8 }+ k
Bus 004 Device 003: ID 152d:0576
& J/ @1 q1 Q8 k; U9 B8 I6 R/ V. E: f5 m  h" P+ A0 S! g. e
2、修改配置文件,添加USB,如下:
( e8 X( n  D8 d  _2 j  r: l. V7 y1 b1 W2 I6 ]
   <hostdev mode='subsystem' type='usb' managed='yes'>. D. k" w+ U- ?+ L0 N3 \. B% M) d/ O
      <source>/ B9 p' q8 X% h2 w5 ^- y# U
        <vendor id='0x152d'/>3 ]4 \. z8 [9 A3 p: U' f0 X0 v4 ?( E: u
        <product id='0x0576'/>
6 B, a! N' Q  S; X1 z9 _        <address bus='4' device='3'/>
; U' o3 [4 o' \4 F      </source>1 u  U5 @0 ^% ^( D! [# R3 E
    </hostdev>
1 r5 }/ z7 t; `5 ^8 I
+ o* a8 ^; W2 M' b  C$ H$ i3、启动虚拟机即可。
 楼主| 发表于 2022-9-29 14:41:28 | 显示全部楼层
挂载USB设备(ISO)给虚机
4 f4 n( K& i- F9 p3 [在虚机所在的节点检验是否安装必要的包* Y# ^$ O, {* y2 @
rpm -qa|grep usbutils! b% m* H, w1 M. \# s
如没有,则yum install usbutils进行安装
3 _# x' b# y- t- r& p
3 w, C' K' P' g4 |) x查看节点现有usb设备
4 c7 h7 w1 r6 m1 v- Q4 Glsusb( K( x3 A. N4 F8 f6 u* X

1 u) {# q: u- o. 插入usb设备,确认新增的usb设备信息(主要确认verdor id和product id)% D9 Y! g' d& Q' C& D( S
lsusb -v1 A* P5 ~8 f' f
4 O. j9 m6 O: S$ X
准备usb_device.xml
6 X( E2 S1 m2 a" qvi usb_device.xml% Q) T* ], }* V% E7 m* P; |
5 h8 K% x; |' |) g9 V% ?, {% m
<hostdev mode='subsystem' type='usb' managed='yes'>, U6 d7 }  ]) _3 f' W
<source>
/ r* M% Y0 j2 B" C<vendor id='0x090c'/>
* a9 {+ v- r: l; @0 a<product id='0x1000'/>
) k- p3 j+ R* I" ~. m( t</source>
% l2 Z3 R( b( |+ Z' p6 j</hostdev>4 E' `0 I: i# c! Z
1, B5 z9 z2 G  O+ u
2( C* m0 p' k8 g/ o: Z
31 H5 t% K9 m8 o  K* B) H+ z
46 G" w: W! P5 `/ S; H* L
5
" }, G* h: r) ]* i1 i6, ^+ a; f0 V- k% I3 K
*注:verdor id和product id是由步骤3中所确认$ J/ g" e/ P3 a" H$ R

0 j4 h, |! t6 b5 }- _) `确认虚机的信息(instance-name)
) g* U# g; N6 w- T/ f$ M0 i1 \virsh list
$ D6 @. e8 r. O! }0 o6 s3 T! o
( J9 w! Y1 T+ O; c/ }将usb设备挂载给虚机
. R3 A; |# U/ V/ R/ b: [9 `sudo virsh attach-device instance-name use_device.xml$ j2 C/ ]+ ~3 |6 h/ i

/ K+ J3 f7 A  g! Q8 c1 V卸载USB设备! \( }+ T- N$ @
sudo virsh detach-device instance-name use_device.xml; M1 }; k$ d* H0 Z' ^
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 15:28 , Processed in 0.040941 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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