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

openstack.kvm的usbKEY使用

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-5-30 11:00:49 | 显示全部楼层 |阅读模式
1、把 ukey 设备插到云主机所在的计算节点物理机上。' T) p% V% h: P# R+ w' S# R
2、在计算节点安装 usbutils 工具(yum install usbutils -y)$ g( n9 c$ ~  @% ^: R9 T
通过 lsusb -v命令查看 usb 的 idVendor 和 idProduct 信息。(可以通过做对比找出新插的usb), y& J+ \! U% I* V+ S
, _9 k6 g& \/ |1 J# ^
3、新建 usb.xml 文件,例如:2 i+ Z2 N/ N, N; }" j1 g& [
<hostdev mode='subsystem' type='usb'>2 t% q: B0 A9 P) j$ ], V7 r
<source startupPolicy='optional'>
) b& t: R, D' Z2 v<vendor id='0x0951'/>& z/ r3 I: Y! C3 o3 w6 f; _
<product id='0x1602'/>) b, R1 v# y3 P3 `* h/ E* _
</source>
+ V4 n, P( n# N* C% ^/ f4 \' ^</hostdev>! K! u! z9 ^' Y" ~' Z7 W6 d- x) q
4、使用 virsh attach-device <Instance_UUID> usb.xml 命令挂载 ukey 设备。
5 W( D+ d3 s* D8 _) p) Z' H5、使用 virsh detach-device <Instance_UUID> usb.xml 命令卸载 usb 设备; c9 r: u7 F& |) }* j8 P7 s

1 _8 O4 @- k  }/ K& L; Q

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-5-30 11:30:38 | 显示全部楼层
1.删除挂载设备/ v! T" W; J) F4 m8 ]* ~/ O2 R

- N! F9 H( I3 T$ b0 xvirsh detach-device name usb.xml
$ I: |: r$ H# y/ V4 O5 \" w, Y, [7 W
2.挂载设备
7 N9 b$ S5 q. ^6 E% ]
; L6 p' Y! p6 vvirsh attach-device name –file usb.xml > –persistent
9 W6 R$ }6 W4 l" y( t0 e; q
5 o; I# S" R/ H8 S/ K- ]: g因停电故障,上次device 是1 ,这次device 变为2
& k% y/ H5 o* J

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 11:52:34 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# lsusb -v
9 k9 [2 n6 b! Y4 ?7 y" e, i
, k$ r  e' j& Y% ?  K) LBus 002 Device 003: ID 0781:5588 SanDisk Corp.   ^- C- f8 L$ v7 o& P
Device Descriptor:
6 Z1 ]9 v; H: T) F  bLength                18% ^- N" F. V8 C! y* B6 G
  bDescriptorType         1
/ U) [: O6 J* |  bcdUSB               2.10- j4 ^( M. L% \( }+ o
  bDeviceClass            0 (Defined at Interface level)
- p7 y' K4 [9 q  bDeviceSubClass         0
$ \  Z0 M9 _+ D* T1 _; q9 C  bDeviceProtocol         0 1 m: }$ P, |$ N* C1 Y
  bMaxPacketSize0        64
( {9 q: a: ]  {5 z" R  idVendor           0x0781 SanDisk Corp.
) J8 x/ z  `! [" @  k( x* `. a# G  idProduct          0x5588 / ?& [- `- U1 R. t! L" e$ _
  bcdDevice            1.00
6 X$ F( h7 b; d  b; k' s1 |  iManufacturer           2 SanDisk
# S! O( R2 e2 b; N4 Q6 _6 I3 a  iProduct                3 USB Extreme Pro0 x& P: V# `* s# i
  iSerial                 1 000000000000000000008 P# V+ h6 V, s  r6 c7 }: D: a( s  w
  bNumConfigurations      1+ X4 G: z& M) K; g$ F
  Configuration Descriptor:
8 D, ^* _# {& s" R    bLength                 9# F  q, S2 [) n; f
    bDescriptorType         2
3 k; ~, F3 l. q    wTotalLength           326 [- m5 L) E0 b0 K+ |! W
    bNumInterfaces          1
. F5 ~: S* i& ^6 v    bConfigurationValue     1/ z- P* U7 g" x! C2 E5 u- _
    iConfiguration          0
8 P1 C0 b9 I+ l0 Y3 m    bmAttributes         0xc0, u3 s# w/ u. F9 O- D; Z5 b" x
      Self Powered% z1 w% d' T: ]
    MaxPower                0mA% Y% G, F' r1 `: S. ]: |0 J# ]
    Interface Descriptor:
2 n- c* D1 ^' P: r) ]- `  K      bLength                 94 d$ A4 x/ Z" N' n* h( R8 A$ y
      bDescriptorType         4
; E) g! D8 Z8 ~; }( G+ d$ X! L+ o      bInterfaceNumber        0' d. a2 U; B+ f6 e9 h7 Y- X, U/ F
      bAlternateSetting       0
3 O0 r: A9 @" _      bNumEndpoints           2& v0 c+ t9 I' w9 D" d* U
      bInterfaceClass         8 Mass Storage
8 _3 O" u5 }; i8 d      bInterfaceSubClass      6 SCSI9 O% J5 K3 t1 b5 J# X* n
      bInterfaceProtocol     80 Bulk-Only7 t' h4 H9 U: L& M$ U$ G
      iInterface              0 % A3 k% h+ H: K. G2 S) [
      Endpoint Descriptor:: }& g' s% O, |9 ?5 Y! G
        bLength                 76 j1 u( V/ e4 D) ^. g
        bDescriptorType         5- i0 J& ?3 c: D. |0 U
        bEndpointAddress     0x81  EP 1 IN
( H4 ~/ h: z8 N: Y% q# e! `, ^$ V        bmAttributes            2
6 \: @9 m" K0 V" Y4 f& c          Transfer Type            Bulk
: B( z$ g& `5 b+ \3 K/ Q6 V          Synch Type               None
2 c  M3 T" v* ~2 i8 X9 v          Usage Type               Data  C& h0 a7 |9 |' d. ]+ o
        wMaxPacketSize     0x0200  1x 512 bytes: L$ J1 ]- c8 ~" [
        bInterval               05 a) [/ t) c5 e
      Endpoint Descriptor:% ~' Q) p2 J3 c7 `: z
        bLength                 7
0 R4 c5 ]5 b6 t. p  O; Z        bDescriptorType         5+ x" L* D  Z8 G) ^2 e. g( s6 T
        bEndpointAddress     0x02  EP 2 OUT7 W. |0 z3 a7 M3 V. J) G( P
        bmAttributes            2
4 j6 ]; n% |2 }8 q8 y- t; c          Transfer Type            Bulk& v; k- G- |5 A) n6 l
          Synch Type               None
6 i+ r- _! s# d8 n3 X          Usage Type               Data! o( O5 E- l* \3 c+ W
        wMaxPacketSize     0x0200  1x 512 bytes0 M( L" G5 Y8 d3 S7 G' [
        bInterval               0
9 l; T& J8 _8 ]
0 i( d. S  _+ V: O# I2 h(nova-libvirt)[root@compute07 /]# cat usb.xml 9 q) Y, o) l/ W$ l( S9 s2 E. h
<hostdev mode='subsystem' type='usb'>
' w& |1 i5 K9 S$ [<source startupPolicy='optional'>
1 H( K9 `# w+ K/ G* \<vendor id='0x0781'/>$ d6 `* N6 s, b! {
<product id='0x5588'/>
% v8 c, o! Q+ ~7 ^% w6 H</source>
" ]0 w0 A& Z: }7 ^% ~</hostdev>( X$ [( J* i% Q9 T1 ~. w( ~
" T# [" x7 R0 I5 _. k

0 v$ X! H+ H- b, a  x$ I(nova-libvirt)[root@compute07 /]# virsh attach-device instance-00000162 usb.xml7 R% s7 G" n1 m
Device attached successfully- [9 x, C$ w6 W+ s' d

. ?2 k' e' A! B8 E/ J0 _1 V/ |& ?% g7 Q4 d4 D7 h6 V  A
  W* J7 Q# U' d

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:32:12 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# cat usb.xml 0 P0 X  J* m) o. ?; h7 R, i* X
<hostdev mode='subsystem' type='usb' managed='yes'>
+ ]/ _, g' f& ~$ \: h5 a <source >/ t4 o0 n* V* M& t* @% p
   <vendor id='0x0951'/>" Y2 E# A7 f) @  ~( X  N
   <product id='0x1666'/>1 J8 o& P: H; [0 q1 x. j! J, m2 m
   <address bus='4' device='3'/>, e: }! n9 Z; w! V5 S/ ^
</source>9 k: Z7 i* E, I- g: [3 u7 ]
</hostdev>

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:38:48 | 显示全部楼层
1、首先使用lsusb查看设备的总线、设备、VID、PID等参数,如下:9 X0 a  U$ m/ m
& q/ E; R4 v4 j8 H4 H5 f' C
Bus 004 Device 003: ID 152d:0576, }) O" v  F; L- f8 P- c9 s

! Q# M- d& v! l) ^" T; g6 t1 t2、修改配置文件,添加USB,如下:
8 O3 d, ?  I1 A* c! H9 _' s: y: h3 Q) P' J
   <hostdev mode='subsystem' type='usb' managed='yes'>
# \' S  u6 ?) L+ T      <source>. a4 J  j' \9 r7 j) |
        <vendor id='0x152d'/>
+ j  N3 x( V1 X        <product id='0x0576'/>
! E( C+ H' N# ~* p        <address bus='4' device='3'/>
  {$ ~, v3 x+ G+ K1 b      </source>
' b! n$ r$ c, F+ m/ O    </hostdev>/ B+ d0 A$ t0 P$ W
  g: D6 }  z' @* [  r+ P) S
3、启动虚拟机即可。

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2022-9-29 14:41:28 | 显示全部楼层
挂载USB设备(ISO)给虚机8 n7 w- D+ L7 i% F; p- e
在虚机所在的节点检验是否安装必要的包
6 J- h, ]9 D$ C8 Z" h' n8 Urpm -qa|grep usbutils4 G2 J/ g% A# T: j$ Y. d
如没有,则yum install usbutils进行安装
1 K9 z; k. w  {7 p
- b. E/ |$ q" E  L查看节点现有usb设备
* X5 L0 d; x7 slsusb
2 f6 A8 p  n9 P) h$ t4 ^% W1 }, ]+ E8 s' D
. 插入usb设备,确认新增的usb设备信息(主要确认verdor id和product id)
7 E6 y& [* H. \" R+ V0 I; j7 Dlsusb -v+ l+ u( B. p( \, M

5 v" g9 i2 l6 K准备usb_device.xml5 d! {; i2 ^, @5 U
vi usb_device.xml
( P5 w1 G- W7 G  O+ u8 y# x1 {1 I! [% T5 k) Z5 {' U' ?
<hostdev mode='subsystem' type='usb' managed='yes'>( D7 G5 a! _% s  A$ t; Y
<source>
5 x# x# x7 j/ k! t( [. J- x, y<vendor id='0x090c'/>
9 }, v8 X; ^( |<product id='0x1000'/>+ Z0 g. b$ S( u- @6 l. U
</source>4 |# N% I! w: a4 {
</hostdev>
/ x; F  @% F# M11 c. d; z: z. |
2
! N% s& j9 h# p1 P; o3
3 q. E4 \* E. M6 C2 c- s/ ^4
" V% q& p4 O) i, D7 X5, M, [  ]0 {* T+ k3 R7 x* {$ Q
68 l2 b* g. r, r, ~& N$ h
*注:verdor id和product id是由步骤3中所确认( T3 \' ~7 Z% J
. P7 a$ Z" X, f' F$ ?% \
确认虚机的信息(instance-name)% k: Y" M; _- M3 n7 R! z# `
virsh list
- ~( M# _9 i: w% ]8 u6 {* ~4 l8 @7 J* _8 v! k- f
将usb设备挂载给虚机
/ @" ?" A; O% }sudo virsh attach-device instance-name use_device.xml
+ [8 J) c- h2 a; i1 g- B
+ u+ ~5 Z) z9 `- B/ b! [卸载USB设备
( d3 Y: m5 y" Y8 P6 bsudo virsh detach-device instance-name use_device.xml
' z/ I9 V- _/ c0 Y- ?( q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 02:04 , Processed in 0.016462 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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