易陆发现互联网技术论坛

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

openstack.kvm的usbKEY使用

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

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

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

x
1、把 ukey 设备插到云主机所在的计算节点物理机上。
% T9 a7 y8 B  D$ G) h, e1 E2 G2、在计算节点安装 usbutils 工具(yum install usbutils -y)
' I- _: q- l0 s3 d$ C) U; p: ?0 e通过 lsusb -v命令查看 usb 的 idVendor 和 idProduct 信息。(可以通过做对比找出新插的usb)# F1 p9 d, x, ~/ H$ S: U: Q, \8 p6 i
% A9 B9 h- ~% E% [& t
3、新建 usb.xml 文件,例如:
1 ?9 X* h* v' q' m. K2 y<hostdev mode='subsystem' type='usb'>
$ \3 o, ^+ Q, E+ s1 t<source startupPolicy='optional'>
, P! N% n5 Q7 L6 C. D<vendor id='0x0951'/>0 |. k) \; N( z: h! v5 t# ~! d% A! f
<product id='0x1602'/>5 R) J* m8 E* N: k& L7 s! s' y
</source>
$ y6 Y# J2 w! K7 _1 I</hostdev>
2 q3 G& t7 B8 h2 y3 W0 c( p4、使用 virsh attach-device <Instance_UUID> usb.xml 命令挂载 ukey 设备。
  `& z, ?1 U# I5、使用 virsh detach-device <Instance_UUID> usb.xml 命令卸载 usb 设备( {& F& Y9 `- F7 ]3 _
7 X5 Y. a9 `8 s7 Z, X2 |( u$ X
 楼主| 发表于 2022-5-30 11:30:38 | 显示全部楼层
1.删除挂载设备
5 ]2 u; T  Y9 w6 S- ]$ M) u3 F
virsh detach-device name usb.xml  A8 O( z/ T) s& j4 o% m: z
1 p1 u5 k% \( x3 W# N* l9 k, ?
2.挂载设备1 f2 E' \3 s2 L( Z: a

) @: x8 a  q3 b/ ovirsh attach-device name –file usb.xml > –persistent
3 z  f5 ]* v) ^. \  W" H. ~9 F; @5 s4 |/ o& K# c/ s% t
因停电故障,上次device 是1 ,这次device 变为2
% Y2 {, a5 x7 Q1 j/ Q2 e
 楼主| 发表于 2022-9-29 11:52:34 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# lsusb -v
5 ]* z$ K/ k- _# K
" B9 a5 ?- E8 N3 S- N: ABus 002 Device 003: ID 0781:5588 SanDisk Corp. 8 `" T% R& s) D# o4 i
Device Descriptor:" s( A. ]& w9 P# Y; C: ~
  bLength                184 d; O: U+ l3 y* u5 S
  bDescriptorType         1. k  K' Z1 R; w4 p
  bcdUSB               2.10
8 P& p" G( J( m$ k8 o% B% ?' p1 N& D  bDeviceClass            0 (Defined at Interface level); b6 a+ S( o: g$ l
  bDeviceSubClass         0 . b; C/ }! ~- G3 z0 j
  bDeviceProtocol         0 2 S. _. {  q! ?; g1 Q: f* g
  bMaxPacketSize0        64
0 I) y( ^$ I. v; L& A; G  idVendor           0x0781 SanDisk Corp.- M# S, p+ O4 _7 ]* e
  idProduct          0x5588 ; u2 s8 S% p9 y7 L# ^: A0 P' ^! ]
  bcdDevice            1.006 b6 y: v+ @4 m  [
  iManufacturer           2 SanDisk# k1 `/ f  Y( M+ U
  iProduct                3 USB Extreme Pro
, d/ E; B* D& R4 {9 j4 `* O  iSerial                 1 00000000000000000000
5 U2 q+ G- [+ U& R* Q  bNumConfigurations      1
- l% D$ g- v; t3 l8 H$ ?  Configuration Descriptor:6 U4 r4 q% V2 }
    bLength                 9  G' T1 X9 Q1 x+ W3 f3 ~/ d/ ^
    bDescriptorType         22 e' O! R& T! ?; z
    wTotalLength           32
+ y$ R& _6 X* `7 m% f. J    bNumInterfaces          1
7 M. X+ ~  H4 Y% T! f1 Z' [9 Y+ k7 n3 r    bConfigurationValue     17 ^* {+ N& @, b$ \/ B
    iConfiguration          0 8 Q2 s8 @# L5 S, I$ h  i2 {9 j( Q
    bmAttributes         0xc0# J3 G0 a, y. ]. ?3 l
      Self Powered
& U% p+ v& ]; ~2 t: Z1 o9 H    MaxPower                0mA
4 b, e, y+ S9 a    Interface Descriptor:0 m! u6 h4 T! z: ~
      bLength                 9
5 P: C* j3 t5 h, @      bDescriptorType         47 s$ h8 w+ h- M3 A8 U; ?5 Y
      bInterfaceNumber        0
$ h6 y5 e9 y# m. i8 Y! b" f      bAlternateSetting       0" D! @* w" @4 i/ A  t' W
      bNumEndpoints           23 g1 ^* A$ Y! [' r- d
      bInterfaceClass         8 Mass Storage& u/ \: e4 ?. I+ |- G( ^; z- C# t
      bInterfaceSubClass      6 SCSI
% D/ ?/ b( q  y0 w, k9 d) N4 M      bInterfaceProtocol     80 Bulk-Only
5 i+ x+ W% P5 k; \* g3 [      iInterface              0
+ C! B/ L  E0 n: V6 j- z2 J2 \+ k      Endpoint Descriptor:6 M" _7 R4 Q8 ?) r
        bLength                 7
4 E, N, p5 e( V( l$ F( k        bDescriptorType         55 P- ^2 ]) y' u
        bEndpointAddress     0x81  EP 1 IN) g- s, H2 V0 |) w
        bmAttributes            2
; `7 H5 S1 I- _, H          Transfer Type            Bulk
, H, u) v8 l+ k& o& \          Synch Type               None
' N9 m8 J0 N9 z, M: Y2 ]          Usage Type               Data$ |0 K1 ^) u) K( Q! c8 t1 A2 H" k
        wMaxPacketSize     0x0200  1x 512 bytes
6 M4 d! K) c: z. }/ f: A        bInterval               03 N7 p  b5 Z0 q/ t3 o
      Endpoint Descriptor:, T5 B* e4 R- w1 d
        bLength                 71 Y8 B+ W  z: W3 m1 ]" H! p
        bDescriptorType         52 P* l2 t$ J. Z4 [4 H  Q; P
        bEndpointAddress     0x02  EP 2 OUT
5 T# x7 o$ M; j& o6 ~        bmAttributes            2
) }( }0 \% H, k, A          Transfer Type            Bulk
1 i- {& w% A' k9 s          Synch Type               None
: Q' S( W/ X# |* ]          Usage Type               Data
8 K4 x! G6 Q0 y2 h) ?        wMaxPacketSize     0x0200  1x 512 bytes
6 ]& l% \0 j) t; e- o3 M+ V" _. ]        bInterval               0
' M0 q' h7 S  F+ F$ ^5 K& ?
7 l+ I( s0 ]1 Z# T% p) K6 i$ [(nova-libvirt)[root@compute07 /]# cat usb.xml 4 S" ?- j- s) K+ w$ z" y4 A) ~0 j
<hostdev mode='subsystem' type='usb'>
) p  l8 O: P4 c, v  R1 R<source startupPolicy='optional'>' l# V- Y* ~/ O) z
<vendor id='0x0781'/>. v) l/ [1 C# b6 {
<product id='0x5588'/>
$ N$ a! t' |' x  k/ q0 I</source>
2 N' P7 Q) P! M; t/ ?</hostdev>0 B% R# ^- G3 W5 s4 H. d3 C
1 i+ d) N% M. i9 ~0 u

  L" K" L% @: G; D. K7 H4 f(nova-libvirt)[root@compute07 /]# virsh attach-device instance-00000162 usb.xml
& e5 ~6 a# D. L$ I! T# R3 \7 }Device attached successfully
/ ~. {* M" k; E' T- `# W
1 z: p5 g1 [$ ?. E: \9 }" c' Y
4 i& s2 E* T/ g" ?$ r, D
! ]: @, J$ M. f0 [' i/ T
 楼主| 发表于 2022-9-29 14:32:12 | 显示全部楼层
(nova-libvirt)[root@compute07 /]# cat usb.xml
+ A* k4 I7 C0 g$ q<hostdev mode='subsystem' type='usb' managed='yes'>
$ N# u/ F. v3 x! o0 z2 Z <source >" d; ^/ k% E; O: m
   <vendor id='0x0951'/>- L0 r& k6 @1 H# P/ u- X# Y
   <product id='0x1666'/>, B& j- a: J9 ^- ^6 ^9 ~& y) @
   <address bus='4' device='3'/>
* C. Y1 I0 b5 U# t+ I! A  } </source>
* ^  F. M3 ?0 V! P/ o1 C8 a</hostdev>
 楼主| 发表于 2022-9-29 14:38:48 | 显示全部楼层
1、首先使用lsusb查看设备的总线、设备、VID、PID等参数,如下:, D  g" G0 [) A, x3 y+ \

' D8 D, K3 d9 e' l" nBus 004 Device 003: ID 152d:0576
% Q, E% a& |! s7 y
' g7 L. R6 f) m$ t" X2、修改配置文件,添加USB,如下:
& k" V: g! Q6 p+ N* E
1 o, z- @4 m$ |! {   <hostdev mode='subsystem' type='usb' managed='yes'>( I0 o! Z0 k2 \- L
      <source>* {4 L, P; C( k0 I$ w5 F
        <vendor id='0x152d'/>
, p6 K  c* Q$ g        <product id='0x0576'/>0 r9 t9 ]* s3 A  R
        <address bus='4' device='3'/>
$ e( J, V4 A+ |7 t7 g7 J      </source>
7 i1 D" Z. c3 x& j2 C    </hostdev>: K3 G) J5 h" ^

1 k. i7 H* ~& b8 j( C& O, ?4 m; U3、启动虚拟机即可。
 楼主| 发表于 2022-9-29 14:41:28 | 显示全部楼层
挂载USB设备(ISO)给虚机( t& o; ~  ~3 H2 x+ @+ c+ N  f
在虚机所在的节点检验是否安装必要的包
0 R6 G9 _& ^9 N2 c0 d8 H) k9 e4 Nrpm -qa|grep usbutils
6 z# W5 z+ r% k: Y' u* x4 ^9 o# H如没有,则yum install usbutils进行安装  S5 ^4 G& m3 Y) `% e! r
  |+ w3 y0 [' P: T: \$ _
查看节点现有usb设备2 b0 B0 W+ S7 I: B: {3 h+ e
lsusb
6 Q  c+ t- ^: U# z" e, |% ?4 T
/ i9 h# }! Q) @3 {. 插入usb设备,确认新增的usb设备信息(主要确认verdor id和product id)
7 K) F; j  R6 v, s' Nlsusb -v1 u! W% D% n7 Q% G
5 \7 a3 F( O& A( j
准备usb_device.xml& q- u# a: {  u  t
vi usb_device.xml
3 {* K9 M& g/ I: |3 }3 W9 V4 X" n
<hostdev mode='subsystem' type='usb' managed='yes'># T5 E+ ]) E% x; N8 u
<source>. ]6 d) d/ O2 Q9 U% i0 V3 A
<vendor id='0x090c'/>
9 x, f2 C6 X2 p' ~1 g<product id='0x1000'/>
5 T& F1 h# t! Z7 R: C  r</source>/ ?1 D9 b0 i- \& Y0 R2 A& \8 y* f
</hostdev>
& I; n2 }, N! `1
8 e2 l! d" x+ X$ l- z  a, C2
; B/ i4 n/ X3 A3
" W8 P# N/ ~& a/ e" k$ u45 h' U4 k$ G) o' k6 [
54 ~( C2 b* ~: Z- h2 x" B/ ]
62 _  v% C1 L* H4 ^! n& b  J
*注:verdor id和product id是由步骤3中所确认" D+ x7 Y3 ], J- X1 m: j! w
1 L2 ^$ Y; k* K. r' Y( C
确认虚机的信息(instance-name)6 @1 H0 a/ D9 J9 X2 F# {
virsh list# g, |1 {4 x/ ^  j

& {- @: j3 _  o0 z( h将usb设备挂载给虚机
+ j2 c+ k$ F% ^2 \sudo virsh attach-device instance-name use_device.xml# F& c  U1 S4 X  p6 B
" _% V4 `* c0 q% J' c+ M
卸载USB设备
) p7 R1 ^; u9 P  E3 Vsudo virsh detach-device instance-name use_device.xml
, C. f- S( I$ C8 M3 P
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

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

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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