找回密码
 注册
查看: 2346|回复: 1

ERROR nova.virt.block_device

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-8-1 19:22:53 | 显示全部楼层 |阅读模式
ERROR nova.virt.block_device [req-863b21eb-92e9-41e2-b2e2-5b666107d1c9 c735f3a03a89476f81a260ff" j: @: D- V' a* j8 C" p+ o
093232fb 4de61bb02dce4a619740bc2ec687ac50 - default default] [instance: 992792f9-371a-4931-94e6-16eda1209f23] Unable to call
/ A  d/ n( Q; v, l' i8 ~. ^3 [) X" |for a driver detach of volume 1f183bb3-cfa7-4f34-be1d-750f38e50d3a due to the instance being registered to the remote host No
/ }0 Q5 P& B4 n7 Z' I) t) ine.: RescheduledException: Build of instance 992792f9-371a-4931-94e6-16eda1209f23 was re-scheduled: Secret not found: secret 4 z! R7 H1 V0 n/ T/ o
'419634e8-f5db-48c1-aba1-3887b3518fff' does not have a value
* G  \. ~! @2 a% F  t
5 @+ w! |6 l1 r! j: f  V9 z$ ~8 q
Error updating resources for node zxdb8.: Error: error connecting to the cluster: error code 950 O* X( U, D( V1 v" Y
" T! \6 V6 D7 r' J! Z

! I0 P$ L, N* W6 l3 Y( T; t$ Q/ l3 c2 l5 h$ S0 [
原因:1、openstack节点上nova.conf文件配置有问题。
& D+ P' `! t* y2、检查virsh secret是否正常。根据提示删除后再添加。
4 |7 ?4 z+ d7 e5 J& g重启openstack-compute服务。
0 N+ I0 V6 X: W9 i% B
: Y: m9 D7 J% M重新创建虚机即可成功。
' Q0 R: R- n# h6 @% O# Y2 P( }/ n7 D$ l, p( }, V+ {

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2021-8-2 08:52:21 | 显示全部楼层
在真机上创建一台新的虚拟机,常见好后不需要安装操作系统7 h5 E$ r$ E  A# F& [
#  virsh  list  --all" ~* J- f3 n' C0 Y
1& \6 p  P1 T+ a+ V8 e
2.5 libvirt secret
5 p! I, G* m  W6 h$ L+++++++++++++++++++++++++++++++++++++
5 T: P3 k& J- F+ z3 t配置libvirt secret
0 f- e# G8 r0 h8 g: TKVM虚拟机需要使用librbd才可以访问ceph集群2 Q3 ^  t1 ]# u/ z, U: ?
Librbd访问ceph又需要账户认证
4 t: R( v0 V8 O! Z$ k因此在这里,需要给libvirt设置账户信息
" h& }7 ?; a' s0 s- r" Da) 编写账户信息文件(真实机操作)
: U1 i3 R; k4 f5 z. ?& g5 D# vim secret.xml
5 z5 L- S; T+ I1 x* c( a0 h5 u, y<secret  ephemeral='no' private='no'>' |6 t) W  p/ Q% M  Y
    <usage type='ceph'>6 o* f: l% C9 B4 g) q
            <name>client.admin  secret</name>
8 b: l3 b# Y; H( E( Q! J/ P, P    </usage>" b( F7 n/ _9 P) z9 }
</secret>4 i  Q5 \8 z/ x. S/ T) w
7 Y9 w/ ^+ \, e! ?
b) 使用XML配置文件创建secret, a  V' l4 b- @$ @, L
# virsh secret-define  --file  secret.xml
, w7 _: \2 z* }/ p4 e
5 F! \. d( t3 {. ]0 c7 K7 y6 }: x( N生成 secret 342b4a54-8a03-6b79-9ffc-84a8eac89e36
" C# m* h7 H2 O& B9 W5 p: X% M//随机的UUID,这个UUID对应账户信息
3 P+ q' s( F" H- k: }注:删除secret 的方法; L* l" n" V& b, t  i6 H
# virsh secret-undefine  342b4a54-8a03-6b79-9ffc-84a8eac89e365 E1 J, Q/ W0 @$ s
( j0 V; p9 R1 s/ ^+ n
c)编写账户信息文件(真实机)
0 F3 O( v5 w2 U# ceph auth get-key client.admin3 k9 {- N9 J" }7 O3 R' A
, P* Y: q# x1 I$ p" J  B
//获取client.admin的key,或者直接查看密钥文件/etc/ceph/ceph.client.admin.keyring
3 N+ s# m. j/ N: ^  Kd)设置secret,添加账户的密钥
/ R! p2 F* J! V. _( L; A# virsh secret-set-value --secret 90833f12-c0a1-33f3-92ea-09d37eec3ec67 A- @$ Y4 S0 e1 T3 f3 Q3 `2 V5 ^
--base64 AQClRb9bvvkQHhAA0r2ihnFWR3JsBvgYJx7NAg==6 H' D4 [0 @# d. o
        //这里secret后面是之前创建的secret的UUID
4 v( }8 V  m6 @+ l. |# K5 C1 b        //base64后面是client.admin账户的密码
" V+ r2 T' y, @$ g- `/ M0 `        //现在secret中既有账户信息又有密钥信息
4 |2 ^  m) d  m9 {, Z8 d# n/ u
$ \% M+ y! N$ w* ie) 将之前没有操作系统的虚拟机avpc的配置文件拷贝一份,进行修改
4 t. O$ ?. y% R- K' R6 I3 {3 X9 M# virsh  dumpxml  avpc  >  /tmp/avpc1.xml- ]% N, W0 a' q

% ?* `! S+ K: P  ^虚拟机的XML配置文件( D0 e1 L% J; g" b% ]
每个虚拟机都会有一个XML配置文件,包括:
- ?# _6 P5 r6 b" ?8 y— 虚拟机的名称、内存、CPU、磁盘、网卡等信息* O- f, b. r4 W& R  e/ G
修改之前:
, I; Z0 A( g. k( w( j# vim /etc/libvirt/qemu/avpc.xml
4 E  M# K, z1 U- i9 P8 a) N3 g7 D
+ z1 i3 ?( u  n4 W* ^# l
# n: d- q+ M5 e# vim /tmp/avpc1.xml
* g1 U9 {1 Z6 s9 ]1 h
8 g8 N! Q$ f4 r5 ~# @. ]删除下图中的 uuid这一行" ~8 v  i7 L( g
继续在文中修改:内容如下:
4 J+ A3 b9 T$ V. k' r$ }/ l37~43行之间的内容是手动添加的,其中红色部分时需要根据实际情况进行修改: T+ W& Q- w  ?$ H
<auth …/>
& c& c) R: ]! F( rusername:
; M$ `& y/ J2 V3 p# cat /etc/ceph/ceph.client.admin.keyring(在此文件中获取)
; ^  }# {* ~; X/ p+ S1 \, }( G/ s; Z" S5 F
uuid调取:1 E+ }& e- h. D8 H% j- X2 O$ P
# virsh secret-list(之前生成的)/ M5 Q/ i2 X7 [, r
<source ............/>5 _* o% I1 J2 `0 m2 W5 e7 ?& W
, I) i" [) o& ?6 p
name获取:
' D! k: f" i5 L# rbd list' p3 f" |) X6 K% G- H
<secret type='ceph'  uuid='90833f12-c0a1-33f3-92ea-09d37eec3ec6'/>
9 Q0 V7 }2 l3 f( d( Z! b# }   //这里的uuid就是secret的uuid,有client.admin账户和密钥信息3 u* H0 i( }' \
<source  protocol='rbd' name='rbd/vm1-image'>
3 y6 i7 t4 Q1 c$ V5 Z3 N       <host name='192.168.8.51'  port='6789'/>
6 ~7 [. p" [4 ]& V </source>
1 n# W  W7 ~( \  i0 S   //这里说明使用账户连接那台ceph主机和端口,访问哪个池和镜像- v( s1 ?" d+ |' W; W0 C% l
<target dev='vda' bus='virtio'/>- I6 O- s  B) A1 t5 q
   //这里说明经获取的镜像,设置为虚拟机的vda磁盘
4 p6 f' t6 E* r# g0 G" R; ?5 x4 {/ Q% Q/ s* v8 M& c9 K# E
根据配置文件生成虚拟机
! y3 @+ Z1 |6 b6 G: ?( {# U* L' {使用编辑好的虚拟配置文件/tmp/avpc1.xml 创建虚拟机
+ Z$ [! Z2 k8 h3 s7 o& ?+ q#virsh define /tmp/avpc1.xml
# G, b; f' p. G0 V6 I6 \; B& X* q2 G* i+ I$ h
定义域 avpc1(从 /tmp/avpc1.xml)% [9 a3 e$ s; T; P/ C, F
# virsh list --all
! a$ l  X; `) Z* u5 r" K! _7 |, q2 \- H; H, r2 k6 F9 l

1 X9 _, ?$ l$ ]- m6 ~4 V5 k$ m分布式文件系统存储
6 e& ~3 f$ A2 b! wCephFs—— 分布式文件系统(Distributed File System)是指本地文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连
( l& ^1 L& Y) A& G. wCephFS使用Ceph集群提供与POSIX兼容的文件系统
6 A: n1 L, d3 L9 n" r! ]  X允许Linux直接将Ceph存储mount到本地4 T) ?) _' C( X. v+ `# R" H
环境准备:新添一台虚拟机node4
+ l9 j$ y9 a( q, j+ C
) G% x' |, w. E. D5 c) ^: z元数据服务器2 F8 S: W7 M7 T
— 任何文件系统中的数据分为数据和元数据
& q- P4 X8 z6 e$ [— 数据是值普通文件中的实际数据
' m9 E& j5 l) K. f3 G— 而元数据指用来描述一个文件的特征以及文件数据快的分布信息9 h8 ~% B/ T. f0 A
— 比如:访问权限,文件拥有着以及文件数据块的分布信息
( B. e1 t) Z( P( m- e5 Z" {— 所以CephFS必须有MDSs节点0 x. |* S! N3 c) a8 V2 i! q6 V
部署元数据服务器:
1 p: S2 H, h5 T! \) U  X+ K/ Z8 G在node4上装ceph-mds软件包5 h1 I) J& T$ F1 T& u1 p
# yum -y install ceph-mds" d; i+ s0 C8 B. O  P7 P& a3 o
* |' |. M7 j( {, w, q2 M7 R9 M
在管理主机node1上部署节点(创建数据服务器)' b: j0 a$ Y5 y- k, j  l
# cd /root/ceph-cluster/ //此目录是在部署ceph集群时创建的
3 G: _: y  P2 |8 M- X! \# ceph-deploy mds create nodex   //给node4拷贝配置文件,启动mds服务器
* }5 m! A. r" |8 j1 x. o$ T# ceph-deploy admin nodex   //同步配置文件个key2 @2 G3 ~3 k" Q* M
5 ?0 g2 }: x' F% F
创建存储池, m4 W5 q& R5 l- `" ~
# ceph osd pool create ceph_data 128    //存储数据的池8 b, |( g5 P4 T& ]
# ceph osd pool create ceph_meatedata 128 //存储元数据的池: N7 |- s, [' N, c$ O' Z1 L- L9 Y

; C* l- [0 s$ E; e, l- {* O使用前面创建的池,创建文件系统myfs1(名字可变)$ H3 E7 U7 N% c( P2 p+ t7 F
# ceph fs new myfsnew ceph_meatedata  ceph_data
. l: f# i+ X6 z6 p) Q) Z1 K) G5 f8 x4 H* }& h* i. O  j
//先写medadata池,再写data池,默认只能创建1个池,多于会报错6 K, _# k+ k1 Z1 P
, P5 X7 o* o0 R
/ j0 W8 o2 ^( o5 ]4 \1 u
! j: Y2 T- f( O
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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