找回密码
 注册
查看: 1338|回复: 0

openstack 扩容脚本修改

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2021-11-23 11:50:13 | 显示全部楼层 |阅读模式
扩容脚本:& M1 M; k3 j  \" C- b
#!/bin/bash, N7 N$ a* i& l7 C+ O  Z$ I
#1 [1 |: }( T% _8 B
#修改hostname, f& h$ W" j* c- E, W( i
MASTERHOSTNAME=`ip a|grep global|awk -F/ '{print $1}'|awk '{print $2}'|awk -F. '{print "-"$3"-"$4}'`;hostnamectl --static set-hostname compute$MASTERHOSTNAME.dev01-gonn0101.controller
9 J" O4 ]! @2 ~2 ?IPADDR=`ip a|grep -w inet|grep -w brd|awk '{print $2}'|awk -F/ '{print $1}'`5 ?9 J( h. K! V( H, o- x/ r
#gome yum 源
( b, X" J& {+ p% d1 ogomerepo init: Z- E5 o: Y0 b4 I) ?4 E
gomerepo enable openstack_newton3 j4 @( E: ^7 X% Q2 S% {3 P. c3 ^
gomerepo enable ovirt
7 k$ F  j7 |% a, \8 m#安装软件& d, l2 X; t5 ?  A3 X  \
yum install -y libvirt-daemon-driver-storage-2.0.0-10.el7_3.9.x86_64
- C4 W8 d, B, ]( w: g0 Tyum install -y libvirt-client-2.0.0-10.el7_3.9.x86_64
+ Z, h# c, c5 Pyum install -y libvirt-daemon-driver-qemu-2.0.0-10.el7_3.9.x86_64
+ g7 L2 C! w( o: O) o; a1 h$ Kyum install -y libvirt-daemon-driver-nodedev-2.0.0-10.el7_3.9.x86_640 G3 \$ ?7 K1 r6 Y9 k# }
yum install -y libvirt-daemon-2.0.0-10.el7_3.9.x86_64# Y) i* @* s' S( h: x* |7 e
yum install -y libvirt-daemon-driver-secret-2.0.0-10.el7_3.9.x86_644 y6 ]9 n1 G& R5 H' E# y
yum install -y libvirt-python-2.0.0-2.el7.x86_64
6 O. V# i1 z% ?yum install -y libvirt-daemon-driver-network-2.0.0-10.el7_3.9.x86_649 O% h+ B+ z5 P4 J' e' H# }, {
yum install -y libvirt-daemon-driver-nwfilter-2.0.0-10.el7_3.9.x86_64
5 }$ F7 W' m9 x/ R+ Gyum install -y libvirt-daemon-kvm-2.0.0-10.el7_3.9.x86_643 v6 U: |0 e- W1 e6 {3 E, Q
yum install -y qemu-kvm-ev-2.6.0-27.1.el7.x86_64
4 R+ C: x- P: a8 l* \: u2 d" [yum install -y openvswitch-2.5.0-2.el7.x86_64
( W) B" C/ ~% \yum install -y python-openvswitch-2.5.0-2.el7.noarch
7 q' c( I! @, C& M1 ?yum install -y openstack-neutron-common-9.1.1-1.el7.noarch
; Q1 ?$ O: A7 }/ Y9 I: d: nyum install -y openstack-neutron-openvswitch-9.1.1-1.el7.noarch3 u3 Q- H0 g" y6 S% ^0 Y/ K7 m8 |
yum install -y openstack-neutron-ml2-9.1.1-1.el7.noarch' `% i# j* l; C9 `
yum install -y openstack-nova-compute-14.0.2-1.el7.noarch0 \: q( T- [7 T
yum install -y openstack-nova-common-14.0.2-1.el7.noarch% _4 W% k  Y' ?, a5 }
yum install -y openstack-utils-2017.1-1.el7.noarch
) P0 W3 j4 r$ @* W, t#配置文件
7 n! ^2 F; A- x, o! C' Mcat <<EOF> /etc/nova/nova.conf1 m, K* O  F( j3 P/ a
[DEFAULT]
$ [  Y/ W3 Y! p" g% z! T8 Q! umy_ip = $IPADDR# v  S& l9 c+ S
log_dir = /var/log/nova9 o, \' k( b7 m) H6 x4 ~5 o
auth_strategy = keystone& F0 U" x" R/ c  M+ Y
debug = false
" a; A" t6 K7 r% t, Uworkers = 40
* t' K3 \& i! lmulti_host = true
" R8 t7 ~1 `, J3 |; f& C. N, _state_path = /data/openstack/nova
- e1 S9 H! {8 j5 o$ A9 yallow_resize_to_same_host = true
% `- X- z, U- t/ Q3 `' P7 lresume_guests_state_on_host_boot = true
; R4 b8 G, A+ S8 zvirt_type = kvm# J1 v+ K3 K4 O1 n* x9 y5 @' d
cpu_allocation_ratio = 3.0: i: V4 I1 z* v* A; c
ram_allocation_ratio = 1.2
8 A- o0 v+ ]$ K/ s/ d0 K& |disk_allocation_ratio = 1.0
6 L' T, V. J' kmax_instances_per_host = 253 |; ?( x- M( x  j  ?8 ], E" l
instance_usage_audit = True
) m0 m1 U+ r/ r  {4 ^7 |instance_usage_audit_period = hour; q* @) n  z( \
notify_on_state_change = vm_and_task_state
. b# D6 d' y3 u: y& e" `) D3 henabled_apis = osapi_compute,metadata
  I; C* g* M& E* N+ n, e% l8 \8 erunning_deleted_instance_action = reap1 e: L3 w; x( v9 v0 m
multi_instance_display_name_template = %(name)s-%(count)s( |, m% D+ N: `: y3 j6 f1 V/ ~+ A+ l
scheduler_driver = nova.scheduler.filter_scheduler.FilterScheduler
  M8 k8 e. ?" x  C( {, k#vcpu_pin_set = 8-39
7 b  _: w" z# B' h2 m4 C9 g) C9 Z#console_allowed_origins =
' ^! n/ w$ G+ L! m6 M+ U4 \. Lscheduler_default_filters = RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NumInstancesFilter
/ e+ g  S1 L0 o& xfirewall_driver = nova.virt.firewall.NoopFirewallDriver! ?/ R: H% C$ Y0 c: Y# j+ W, S
use_neutron = true
5 q7 s: g( }8 d( o) W( y& Dosapi_compute_listen = $IPADDR
5 U! @1 x, l* o0 a' m4 c- r. H7 ^osapi_compute_listen_port = 87748 l2 c: r+ P. `* X
metadata_listen = $IPADDR
( T' h0 k# _- o6 O* |metadata_listen_port = 87759 ?4 `9 y0 Y; s4 B; T. Q9 z
default_log_levels = amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,qpid.messaging=INFO,iso8601.iso8601=INFO
1 B6 n* k5 q3 @) J8 e! Jmemcached_servers = controller-3-28:11211,controller-3-29:11211( @% _2 B  Y# ?" z7 L3 x9 Z
rpc_backend = rabbit
0 T2 N- `  T8 g. `8 W6 |network_api_class = nova.network.neutronv2.api.API
* |/ c7 T% R* v! R! d5 d5 plinuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver+ }5 c7 {% D" b; I, E8 c9 u% [
neutron_admin_tenant_name = service7 P! _3 @' X+ M: O3 D
neutron_auth_strategy = keystone. d; E5 B# Z( N# U; `4 r9 t
security_group_api = neutron
0 e/ h6 E7 Z; _0 }( gfirewall_driver = nova.virt.firewall.NoopFirewallDriver! I& g4 _# U8 N/ E3 ]8 J
force_config_drive = true
5 `1 N2 w- {3 T( S: ?# config_drive_skip_versions =6 ?- U8 e. Z* Q2 K+ e1 z
flat_injected = True6 b9 [4 B- j$ n) i& s
use_syslog = false8 ^. `% h  O# w1 N& e
use_stderr = false3 e1 U  b! o, W6 B, C
osapi_max_limit = 50007 {! t$ c4 E- g. z
[api_database]% l+ k  l, B  Q5 e4 V$ Z
connection = mysql+pymysql://nova:QVcQ6QJ0Pn1a@mysqlserver/nova_api4 H1 k- z- ~$ |) a( M
max_pool_size = 1005 E6 L7 i' S" D4 O* a
max_overflow = 200" x; b# G4 e* b  ?
[barbican]
( d, N6 \, m: ][cache]$ W( T7 X( P, @& ~) a
[cells]
2 k, k0 J1 Q, _& C% D- H: Y[cinder]
- t7 g4 z0 j. u  `4 q[cloudpipe]
' h5 s4 W! ?9 {# P[conductor]
0 L8 p* W# Q" I[cors]
& A/ B. T; I# }9 W" N8 L( R7 I[cors.subdomain]
2 C  n- J, }( j" R& Q[crypto]1 p2 N0 M% ]4 i6 _- Q
[database]
0 d3 x+ }7 m2 K4 l- d( |connection = mysql+pymysql://nova:QVcQ6QJ0Pn1a@mysqlserver/nova. U% l. v! H8 M/ m
max_pool_size = 100
3 l1 ?  e/ p4 }; m. P7 J$ U0 N9 Emax_overflow = 200
8 A2 q" i) o9 B" k" a2 R/ v/ S2 v[ephemeral_storage_encryption]
/ ]7 U5 r; M% p! j/ R6 _0 n* B[glance]' |1 ~1 G1 F7 [0 ?8 b' o
api_servers = http://controller:9292
$ R. Q3 L: I' \3 a[guestfs]  l" T- }8 K# Z3 U
[hyperv]
6 V( Q( w! y6 A* r/ M5 Aconfig_drive_cdrom = true
9 i5 Q# l* u' N# C: ^# config_drive_inject_password = true
; F) D* d3 M( C( j% F[image_file_url]
& N7 a0 h& H( `[ironic]/ `* V( Y( V2 V7 P) m3 q: h' Z  U
[key_manager]. T9 Q5 T) y1 X% f- ~9 h& x
[keystone_authtoken]
# F" |7 ^, [  G9 ^1 w& W6 W; Kauth_uri = http://controller:5000/v3& k4 {2 [$ l4 r& x" Z
auth_url = http://controller:35357/v3
/ t& s& s8 L0 n0 n4 g' c2 Zauth_type = password, s& |2 `8 J  g% Q0 _3 }+ e
project_domain_name = default
( g/ s& ?2 \9 O1 k" `' Tuser_domain_name = default# n1 ?# @. |% L. x- _& y4 ?
project_name = service
+ J. N; ]# p# b6 s! k& dusername = nova6 v/ B) d8 @; F) K
password = newnovapass
+ j. P& T( {& p( o0 z! w* {[libvirt]
( R0 A: H; H% z- l/ Y[matchmaker_redis]
) }, ]/ v( u8 z  D& ], d7 `[metrics]
% z. [$ W, g! m2 @! |9 r4 |[mks]
  m1 a; L6 \/ X1 e9 V[neutron]3 g' H" D; @7 M+ c. H$ s1 |- O
url = http://controller:9696
0 E; i2 C* O1 Cauth_uri = http://controller:5000/v3
0 @4 D6 O1 O/ Z7 z7 V* `auth_url = http://controller:35357/v3( E9 i' R/ I$ V$ q; i
auth_type = password& \7 i  q5 x1 a- I& |' K
project_domain_name = default# a3 `: e" M' L5 E$ ?& z4 t( i' q
user_domain_name = default3 |9 L# K3 Y* @8 R7 n8 h
region_name = RegionOne1 R$ _6 V' e$ ]% T; x5 E/ f( o
project_name = service8 ~1 O  [; `' x8 [5 {* p
username = neutron
7 J. X2 S  j) h$ jpassword = newneutronpass+ T" b4 [% r, m- D
service_metadata_proxy = false
3 O- V. b' O4 d* S% n[osapi_v21]
" T$ \+ p1 F8 c0 a( N[oslo_concurrency]4 n: u9 p  u: A* x7 _
lock_path = /var/lib/nova/tmp
# D% \$ L: B& U1 w; P5 j. U[oslo_messaging_amqp]7 J  S% ?% c* c/ U6 N8 u! o* q
[oslo_messaging_notifications]0 _3 x/ I' r3 f7 Q. o5 t7 m
[oslo_messaging_rabbit]6 b9 Q. H0 U  n
rabbit_hosts = controller-3-28:5672,controller-3-29:56725 b; o0 O0 k- L, j' S+ G0 z
rabbit_ha_queues = true! K3 f" a* g2 j0 `9 ^; C
rabbit_userid = openstack9 D" T& T' m) m: ^1 Q( d
rabbit_password = h1Zg3IvdIiCx- q$ E/ ]  `  A% |( Y' y. b6 }
heartbeat_timeout_threshold = 02 b9 v; k; V1 d# E3 {2 f
rabbit_max_retries = 3- k  h, |$ T, n% f. n
[oslo_messaging_zmq]) w! ^$ q6 {9 D4 U; d+ P
[oslo_middleware]
$ O! `6 O& ~- B) Z, Y* T' U[oslo_policy]% K- q. h% i3 q0 E1 ?/ a0 D
[placement]" U' }+ w' ?) F6 x( _
[placement_database]& @0 D4 o* n/ R& Q
[rdp]
  ]+ |+ A5 F  p# _2 L3 t+ y[remote_debug]
' z( h0 R# n9 S' t[serial_console]7 i9 u+ F  M* |2 Q/ r. C0 B+ W
[spice]
# g6 H- d3 b* r; n/ h& @) o[ssl]
: n  ]; N- v% ]9 A/ x9 i. ?( I[trusted_computing]
0 q( a4 p$ @: ]- l1 z[upgrade_levels]
+ ]9 j' K# Y+ c; o  l" o[vmware]
+ p  e' y; h  Q5 k' J+ }0 ~[vnc]
5 o8 X( V0 o1 _) \novncproxy_base_url=http://10.152.3.1:6080/vnc_auto.html9 S7 A/ p" b% L2 Q
novncproxy_host = $IPADDR
( i" N4 J; N: ]! c, g) xvncserver_listen = $IPADDR$ J! C* |. _2 D, Z" R3 C1 a
vncserver_proxyclient_address = $IPADDR* A% R" j5 a  R: R' L8 y" H
novncproxy_port = 6080
7 w7 F% C" y+ n[workarounds]
" m4 @( ^$ u& s/ o; E[wsgi]
* R7 o/ J5 J0 Z[xenserver]
9 u2 ?2 J4 a/ v2 z1 U[xvp]
4 Y; F/ ?; ?2 f$ LEOF; b. l1 D: G% {- I, W) m
cat <<EOF> /etc/neutron/neutron.conf
; S  q2 ?9 Y: Q8 ~( ^. O6 q[DEFAULT]& X: Z$ b5 W4 h6 _% }! L/ w& m9 q& l
bind_host = $IPADDR
: U5 s% _  C+ Vbind_port = 9696& C5 S4 v8 X/ R: l# H
core_plugin = ml2# }+ [; A+ _) B# I& N' Z- D
debug = false, j& _9 E" A: L7 R2 ?* C
use_syslog = false* B1 h2 X4 \* R5 ]1 i2 [2 ]
log_dir = /var/log/neutron5 x: |- [) h4 u
service_plugins = router,metering0 L, l8 \; _" M5 `9 P; a5 w
auth_strategy = keystone! Z" T7 i2 H: H) C0 J/ O& [4 K; l
base_mac = fa:16:3f:00:00:00
- a8 _( Q0 m- R* h+ B2 O8 c) Lallow_overlapping_ips = true
; {0 J! K0 r2 U( {' S- R. Z: Tmac_generation_retries = 16
+ {* E/ Q; z% J4 Mauth_strategy = keystone
, {9 _2 [! ^; \9 ]" ], Onotify_nova_on_port_status_changes = true- s" z; N. m- b: }
notify_nova_on_port_data_changes = true9 G" E6 o% S* U6 d5 G& S2 t% G$ _
notification_driver = neutron.openstack.common.notifier.rpc_notifier
0 h3 R) T% ?9 u; A$ P" ]3 Lrpc_backend = rabbit
+ I, G  n7 l% g* k% O0 Y1 ^1 M% wagent_down_time = 75
* t( _" t1 D6 B! X3 lapi_workers = 40: }  k( k  P7 ]. n
rpc_workers = 40& e7 }( q! p8 W; F! k0 g9 V
send_events_interval = 2
; j' {3 |& j& j[agent]
# p1 i( E4 D& ~, ^) `4 Echeck_child_processes_interval = 30
! X1 p! h' T% ^0 Ocheck_child_processes_action = respawn& k$ j: W: z3 ^
[cors]
) K1 ^! u7 W; F* {! H[cors.subdomain]
5 w$ G0 S: D  U5 c[database]
. I; \4 a1 N2 _  [connection = mysql+pymysql://neutron:Ol1fBhLMCFr7@mysqlserver/neutron+ I( h/ e; F# s) b
max_pool_size = 150
. M1 v' C, c  D+ d/ b' Gmax_overflow = 300; J) e+ l8 e% L5 [
[keystone_authtoken]3 y' d& ^8 a& n8 Y7 N8 P
auth_uri = http://controller:5000/v3
/ U# t2 ]1 Z$ i3 @2 L9 ?auth_url = http://controller:35357/v3- Z7 U& k7 T% \# X5 D2 s% U' x
memcached_servers = controller-3-28:11211,controller-3-29:11211( n, v, K/ R  ?5 R" f5 i
auth_type = password
3 n' v$ p- Z. S. P/ Lproject_domain_name = default
0 ?/ G. y2 \  `; g2 t5 buser_domain_name = default
; W7 S: g& f1 O# u  C. Lproject_name = service3 i& ^' ]& f: t) g
username = neutron7 k9 L! ~7 t8 J: X+ h9 L' S$ Q
password = newneutronpass5 f& r0 b: g# |$ G$ z: e
[matchmaker_redis]8 |: Z& I9 F+ A& W7 \8 [2 f8 F
[nova]
3 u+ Q! ^% _0 c8 {. }% h" ~  Yurl = http://controller:8774/v2.10 {- a) S3 f) S& s
auth_uri = http://controller:5000/v3
6 x) G2 y2 J2 E% o0 a$ dauth_url = http://controller:35357/v3
' l2 e" l) ~6 T# s- xauth_type = password
+ ?* S! n, X! s! ~  ^project_domain_name = default& h: ~' |  X3 f. G/ @
user_domain_name = default
  _# B* t5 q1 z5 H+ Sregion_name = RegionOne
3 u# t0 |2 C* X( j$ L4 b  a& x* Vproject_name = service
  w% Z, P( C0 \, {8 W1 O- K) z4 ^0 Jusername = nova
9 j( T  \+ m* _4 ~' f: Ypassword = newnovapass+ }4 o$ `& m# R8 t
[oslo_concurrency]/ p/ s$ u0 f. i* @8 P
lock_path = /var/lib/neutron/tmp
# N+ \' Q) g1 l# u* F& e[oslo_messaging_amqp]
" c" n+ T  b, q* [. l0 z0 O) S, c[oslo_messaging_notifications]" E) P' L3 p  D7 ]1 q
[oslo_messaging_rabbit]
, v1 e/ a9 z8 t0 Xrabbit_hosts=controller-3-28:5672,controller-3-29:5672
) {; h2 Q; [1 o4 Nrabbit_ha_queues=true
% o" t8 ]/ W6 prabbit_userid = openstack
8 H* \2 }3 ^1 L6 G4 S, t$ S9 u. ]rabbit_password = h1Zg3IvdIiCx; t9 ]: s4 q4 n$ C; ~6 O% @; c
heartbeat_timeout_threshold=0
; `- l' B! t$ p% S/ d+ Crabbit_max_retries=2
( D& r( L3 w. V8 K6 q0 f[oslo_messaging_zmq]
( [: n6 e, T% D, ^9 N[oslo_middleware]
' X4 m; [$ h9 |% ~; a2 {! ~; \/ ^[oslo_policy]9 M0 b. \. d0 C6 n0 Y( ]& b: b. V4 C5 k
[qos]' S6 H( d  T: e  ^2 H9 N9 @
[quotas]1 ]2 h5 a2 Y. a
[ssl]
8 [7 y2 ^# f. W# UEOF
% w. T+ ]7 [2 zcat <<EOF> /etc/neutron/plugins/ml2/ml2_conf.ini. G4 N. k0 c2 J$ V; G
[DEFAULT]. X1 P# b* H& |8 J) B
[ml2]
% P. w1 L" a+ ytype_drivers = vlan
. u1 l1 p: }' d1 d! i# T. \tenant_network_types = vlan3 N; l0 X) g0 g
mechanism_drivers = openvswitch1 f! p3 b: y; a0 M4 E% y! W9 o
[ml2_type_flat]
' _- o2 F# D. u  sflat_networks = physnet1
+ Q( z/ P' M+ [7 q[ml2_type_geneve]) L6 C- y$ d% s1 E' S- E) z5 L
[ml2_type_gre]% r* C, a9 E% h" w  G% m9 z4 ^
[ml2_type_vlan]. T3 d  t( }- }' R
network_vlan_ranges = physnet1:1:4000
  R' n% K, Z7 v( d) f& t[ml2_type_vxlan]+ l) F, a  a' v3 @9 r9 N
[securitygroup]/ O  t: G3 C# L  ^: [
enable_security_group = false2 W! _$ q& J) d
firewall_driver = neutron.agent.firewall.NoopFirewallDriver4 a% H7 p$ t5 G1 P+ M% b) f
EOF' F5 \" d: v# d9 }& H
cat <<EOF> /etc/neutron/plugins/ml2/openvswitch_agent.ini
$ Y3 A3 z4 N# O8 z0 W[DEFAULT]0 s2 v7 `. ^% |6 t5 X6 R
[agent]
7 H$ F2 B1 x$ H+ t# f0 Tprevent_arp_spoofing = false- X' ~. y" @  ?) G
[ovs]
8 v' S* x4 P( c3 {% i5 U9 Y  _bridge_mappings = physnet1:br-bond0) E8 f; U' q. u: a$ x
[securitygroup]/ s$ w/ e6 p$ G" H. L& e. c. X
enable_security_group = false
; Z" h4 s# Q. q0 N" |EOF6 p4 [( F: c' a8 ~! m
#修改nova权限
( Z# Y4 Y! u" B& i" Tsed -i '/^nova/d' /etc/passwd
  u. ^+ E8 B* `0 r$ T' Q3 Z, L8 ]echo "nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/bin/sh" >> /etc/passwd
7 J' t( v! W4 q2 _( q#设置开机启动; L! L9 U9 W; [  p1 x
systemctl enable openstack-nova-compute.service neutron-openvswitch-agent.service openvswitch.service! n4 s* e- n0 E+ @# l$ T8 W7 ?
#启动服务, I- d7 S5 ~6 E
systemctl start openstack-nova-compute.service neutron-openvswitch-agent.service openvswitch.service8 g8 J3 T6 F; w1 J) f- @
#设置* |+ \" K. G4 `  b
ovs-vsctl show
& L( r& t0 y6 movs-vsctl add-br br-int: o6 t4 k7 {6 D
ovs-vsctl add-br br-bond0! J# |8 _. U; K* F% \+ R
ovs-vsctl add-port br-bond0 bond0
4 ]7 ]* V/ |* m" J/ E#创建openstack目录并拷贝nova文件9 R* l2 w% D' R5 {! |" X; Q% B* v
mkdir -p /data/openstack ; cp -a /var/lib/nova /data/openstack/9 A' p1 U! @6 U* S3 h$ h* a
#更改权限7 m& l) C4 m; W- ?
echo "neutron ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
: x! I3 `; F! @4 W* qecho "nova ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
9 s, F; n+ W7 a. hcp -a /usr/share/nova/interfaces.template /usr/share/nova/interfaces.template_bak- u1 s( P3 J/ e( f( T* V9 S
cat /usr/lib/python2.7/site-packages/nova/virt/interfaces.template > /usr/share/nova/interfaces.template
8 b6 C+ @" B3 isystemctl restart openstack-nova-compute.service ; systemctl restart neutron-openvswitch-agent.service+ R4 s0 u) \1 C" O9 X
#拷贝key文件
) H7 q* Q+ r7 H& S, z- D- G+ escp -r root@10.152.3.25:/var/lib/nova/.ssh /var/lib/nova/* s) i" B( Z8 C
#更改权限( u9 L% t, n. O+ C
chown -R nova:nova /var/lib/nova/.ssh
- v% z- O6 K5 d) G- s
# M" u/ X5 Y- _# Y- s* @
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 00:57 , Processed in 0.022593 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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