将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

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

openstack 扩容脚本修改

[复制链接]
发表于 2021-11-23 11:50:13 | 显示全部楼层 |阅读模式

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

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

x
扩容脚本:
! o, ?- z, _, ]; y* V#!/bin/bash
' r+ ^! Q% ~; z#
; n) I9 M3 N5 A) n; u#修改hostname+ O4 @9 J& Q' n$ _( W$ W
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.controller1 k+ O# ?  x! j& M' ~0 m! N
IPADDR=`ip a|grep -w inet|grep -w brd|awk '{print $2}'|awk -F/ '{print $1}'`( ]% }0 V4 F6 B  m6 c
#gome yum 源4 q& v1 w2 E2 A, h3 f
gomerepo init
" T% c3 D, P# s7 G; i* g; cgomerepo enable openstack_newton
' a) a: b: b: o& {' C/ h# ]+ Q* xgomerepo enable ovirt
5 p" Y! p6 z* t+ Z3 f#安装软件( _" W- C, S2 I9 G% M
yum install -y libvirt-daemon-driver-storage-2.0.0-10.el7_3.9.x86_64; h8 x" t0 B4 w8 |! L2 \
yum install -y libvirt-client-2.0.0-10.el7_3.9.x86_64! Q, U5 R( ~, W- w
yum install -y libvirt-daemon-driver-qemu-2.0.0-10.el7_3.9.x86_64
' U0 _. ^5 W- w4 @$ Cyum install -y libvirt-daemon-driver-nodedev-2.0.0-10.el7_3.9.x86_64* b+ {4 y9 `! \: Z: W' t5 F+ }
yum install -y libvirt-daemon-2.0.0-10.el7_3.9.x86_64
2 w: k* w" I! wyum install -y libvirt-daemon-driver-secret-2.0.0-10.el7_3.9.x86_64, S  e- m+ p3 z  A. \$ M
yum install -y libvirt-python-2.0.0-2.el7.x86_64
4 E$ o4 a: i% x& S$ f" yyum install -y libvirt-daemon-driver-network-2.0.0-10.el7_3.9.x86_64
& G! j* F) M& o" X* fyum install -y libvirt-daemon-driver-nwfilter-2.0.0-10.el7_3.9.x86_649 t2 P/ Y8 R6 ?: k
yum install -y libvirt-daemon-kvm-2.0.0-10.el7_3.9.x86_64
* S& F; l8 P& [6 Y! v& U: Qyum install -y qemu-kvm-ev-2.6.0-27.1.el7.x86_64
" |+ Y; d# i, n9 c; c$ syum install -y openvswitch-2.5.0-2.el7.x86_64
6 }* d: C; i0 G1 ?yum install -y python-openvswitch-2.5.0-2.el7.noarch  C2 S1 a7 C4 w* {/ T
yum install -y openstack-neutron-common-9.1.1-1.el7.noarch/ H: M+ [" |5 z
yum install -y openstack-neutron-openvswitch-9.1.1-1.el7.noarch' `$ w/ O* f3 R
yum install -y openstack-neutron-ml2-9.1.1-1.el7.noarch
- m! o' y/ P( U0 kyum install -y openstack-nova-compute-14.0.2-1.el7.noarch
( `6 X* H0 w! K* C6 Kyum install -y openstack-nova-common-14.0.2-1.el7.noarch
4 C7 o$ K/ j; s; C% x1 ayum install -y openstack-utils-2017.1-1.el7.noarch* O7 o/ ?& g% G3 t+ Q- H- M( i
#配置文件
: e2 I& |' p  acat <<EOF> /etc/nova/nova.conf
% F# ~! C  I# ~2 b8 \. U[DEFAULT]
0 `0 @3 b5 \( E# _" w) d5 imy_ip = $IPADDR+ q( X. L7 i; @' q9 b- m
log_dir = /var/log/nova
2 H% }0 p/ }3 n& W- C: n5 Dauth_strategy = keystone9 E" I4 H$ M7 J$ [* v5 O7 T, t6 E
debug = false# t3 W$ |8 a5 B$ S. |; H3 E
workers = 407 w5 z5 Q/ i( S1 a" n
multi_host = true* ^' n: M: q& |: D' n& A
state_path = /data/openstack/nova, g/ u, i! |6 e) M% l7 O) o2 D2 l
allow_resize_to_same_host = true) |0 P6 V) M* C+ ?: l
resume_guests_state_on_host_boot = true
$ A. C0 p9 H- j! X# D2 Kvirt_type = kvm
) E& o+ u4 n& b; mcpu_allocation_ratio = 3.0! {9 n3 V. s. r2 L0 V
ram_allocation_ratio = 1.2! F, U3 z, b; x
disk_allocation_ratio = 1.0: H: u* a1 O$ t' [
max_instances_per_host = 251 J* F/ u7 H1 l  f; |9 ~6 t
instance_usage_audit = True
$ Q& {8 |7 K1 p- H/ t( hinstance_usage_audit_period = hour
0 x& R0 N' Q0 ~& lnotify_on_state_change = vm_and_task_state
6 r- `0 x$ ^5 j( Q  c1 H' f( zenabled_apis = osapi_compute,metadata
0 H/ [' V4 v& j! S' g7 d, ~- A- U& srunning_deleted_instance_action = reap
" L$ N6 G" n5 \9 ]multi_instance_display_name_template = %(name)s-%(count)s
9 R3 @# c8 {, [0 A: r% m- q" Xscheduler_driver = nova.scheduler.filter_scheduler.FilterScheduler
, [" }, _# `- U$ o#vcpu_pin_set = 8-39
3 Z$ R$ s* \2 u& y  g#console_allowed_origins =
, x$ o# n$ `; j* J* F; S+ pscheduler_default_filters = RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NumInstancesFilter
& H3 O- l4 \1 U9 p( Jfirewall_driver = nova.virt.firewall.NoopFirewallDriver
& J+ w7 _0 I  M& g3 }( ?& T0 Q0 iuse_neutron = true
8 e& Y- \( @% e; B' Yosapi_compute_listen = $IPADDR
, u3 z% w$ j4 u# }2 u; m0 W# ~- Kosapi_compute_listen_port = 8774
: |5 a( f7 b' S9 g5 D/ l# W% s1 ~metadata_listen = $IPADDR
0 {6 o. H  B; J8 h& x( Qmetadata_listen_port = 8775
' k6 L4 _% A# p* @5 U% }" _default_log_levels = amqplib=WARN,sqlalchemy=WARN,boto=WARN,suds=INFO,qpid.messaging=INFO,iso8601.iso8601=INFO
: o! E( M! m  \2 M" W/ q6 V/ s, hmemcached_servers = controller-3-28:11211,controller-3-29:112114 E9 a' r" S2 q2 T+ \
rpc_backend = rabbit2 S3 T5 N: P) r7 b/ P
network_api_class = nova.network.neutronv2.api.API4 f( q" ^/ O7 @5 G/ m+ }
linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver( @( t' Z' l$ G$ X& E9 ?/ l5 ~7 _
neutron_admin_tenant_name = service
( @  v- d7 ~( E& {! J9 B: yneutron_auth_strategy = keystone
. h1 ~! F' q. h* rsecurity_group_api = neutron
3 [0 {8 U/ N. v& Ofirewall_driver = nova.virt.firewall.NoopFirewallDriver
4 }2 b) Z% J( o7 U8 o: g' I' Q$ dforce_config_drive = true% d6 F5 ^. A2 ]$ n6 Y- ?; L
# config_drive_skip_versions =; a0 p% E) I4 X( r+ |, E
flat_injected = True
. O8 t: A, v' Y& g' Q+ j) Ruse_syslog = false
+ H* X2 |$ Q' I0 `# muse_stderr = false) p, a9 L9 {* M/ i1 U) e
osapi_max_limit = 5000" O  c% k9 V# j" F
[api_database]
- j# P+ E$ K  X- Z7 rconnection = mysql+pymysql://nova:QVcQ6QJ0Pn1a@mysqlserver/nova_api
/ ~2 N& i; g1 [, @% Rmax_pool_size = 1004 @- e% ?) l$ ?# W1 A4 @% X1 A
max_overflow = 200
8 Y) f; Y+ H( j4 \[barbican]
' g6 l9 {2 y) G6 w. H* a* R[cache]
  `  c- g4 X' L+ M& r3 D[cells]. f/ r& S  [- c( q) S$ n8 ?
[cinder]
* K/ g' w) C: N  D- \! k; v[cloudpipe]8 a/ J  {. M8 I% g( b
[conductor]1 g* D( ?0 [- v7 f5 D; X9 Q+ o
[cors]! M0 [& e9 V9 d% U- y+ P7 G, J7 P
[cors.subdomain]
0 I7 Y! v6 o/ @+ \0 g/ A9 W( `* M[crypto]
$ E' C4 }6 ^, `: s[database]% k( v# F/ g# ~3 A
connection = mysql+pymysql://nova:QVcQ6QJ0Pn1a@mysqlserver/nova
- S7 j; r; o8 @* C  x. `& r1 U, umax_pool_size = 100
7 A: ^! }. B3 B  y2 Z7 cmax_overflow = 200
- V7 l6 K* ~" Z[ephemeral_storage_encryption]
; v1 F% i% B) x+ Y( X[glance]- V. v1 i8 m7 Z& }- g. `
api_servers = http://controller:9292
5 w' K- T+ [4 ~[guestfs]
/ u& U  J4 Q' ^* o1 l[hyperv]
5 J" @# S* m1 B$ W, R6 mconfig_drive_cdrom = true7 K" I$ u3 I& \$ z# l2 \
# config_drive_inject_password = true+ ?3 I: f  `) X8 m4 a
[image_file_url]& x% S# r) n& j
[ironic]# g! k+ Q/ n" y( @% i4 ~
[key_manager]2 b8 R& J' j2 i4 l0 k: Z
[keystone_authtoken]9 ^0 A$ u6 N3 }% S
auth_uri = http://controller:5000/v3
$ k/ N3 W3 n/ p6 e( N+ j0 Oauth_url = http://controller:35357/v3
0 {3 h# @& a# T) e! V$ B1 sauth_type = password; v5 S! s+ q# z% l
project_domain_name = default
9 J* X+ }* k' u8 `user_domain_name = default/ r& d% ?* [8 K! h, Y& }! R
project_name = service
0 S  V* `" m( ]' m; Cusername = nova
* ^* o) p( ]# F5 upassword = newnovapass2 J/ f) w: z$ r8 H! g$ U
[libvirt]- ~& b+ h2 P% N5 v9 M
[matchmaker_redis]
/ x2 a  H  z1 k0 R[metrics]
0 a2 v" T% b& g& K2 p[mks]
! }7 q. N/ g6 }$ v) {[neutron]  b) P, [5 V, X- `  ?$ x2 r
url = http://controller:9696" ]6 w$ d4 {1 X/ b
auth_uri = http://controller:5000/v33 T8 W+ g0 h; F+ U- h8 I
auth_url = http://controller:35357/v3# k9 C- j  B* L  J
auth_type = password: @- v2 S' [- L- X; G
project_domain_name = default, f1 f+ \1 [, C) T0 \0 Z
user_domain_name = default( H7 g( Z, ~6 \0 Z8 [
region_name = RegionOne3 x9 N( \+ O" h
project_name = service6 J* B8 S, J& w6 D6 g( Z4 l7 x
username = neutron& }3 K$ p  P% R
password = newneutronpass' N, N( {* H' z/ T2 C* e
service_metadata_proxy = false' U+ X5 R% T+ p/ _) e: m3 L* x
[osapi_v21]
# K. q, O- Y) u# Z5 D[oslo_concurrency]: z" G5 y& T0 _( K
lock_path = /var/lib/nova/tmp
% `- K& c3 j: w$ f. X[oslo_messaging_amqp]) r+ i! J5 ~: D
[oslo_messaging_notifications]6 `% c0 S$ K* n6 Z
[oslo_messaging_rabbit]
) W7 [3 {  t1 Xrabbit_hosts = controller-3-28:5672,controller-3-29:5672
, G# Y3 g& J. [3 ~( `" T4 Qrabbit_ha_queues = true( R( R. U$ r3 ~; ^
rabbit_userid = openstack1 T- @4 P1 L" G5 o' W. C1 @# D1 r
rabbit_password = h1Zg3IvdIiCx+ b% H7 Q" s* E% @! g
heartbeat_timeout_threshold = 0  Y. h1 P( I4 G9 Y- m7 h
rabbit_max_retries = 3* K4 E. c9 k  ?  |6 A4 S
[oslo_messaging_zmq]# K" A% \3 |. J0 x$ F# j8 O
[oslo_middleware]$ n. n1 j$ p9 L/ O; T% D
[oslo_policy]% {2 V! _  A2 u& ]3 ]  n
[placement]
7 n: o- s% K+ Z! [[placement_database]
* I; B" a7 e$ D$ D[rdp]
+ Y, n! X. n% Z6 q[remote_debug]
+ p- O, O: R0 n! `& B1 \0 k[serial_console]2 j5 T; E+ h& m+ q; m
[spice]
  u3 [( Y5 z& p8 t# J! O7 e8 w, D[ssl]
- R* ^1 P5 k: y[trusted_computing]& a5 p9 {& ]9 G
[upgrade_levels]0 D3 v  s7 l1 n: n* T. b8 L
[vmware]2 w4 O: A/ g3 d
[vnc]
. v3 K2 h, l% v6 cnovncproxy_base_url=http://10.152.3.1:6080/vnc_auto.html0 c6 m) J4 U  r3 h
novncproxy_host = $IPADDR
% R& V# I2 n) `, ?9 W. G" [vncserver_listen = $IPADDR3 F8 E  A% Z6 O& O  q
vncserver_proxyclient_address = $IPADDR
8 \3 M/ X1 j0 S4 F3 w5 `novncproxy_port = 6080
3 r5 E  w. x  R' M( i( Q* P. A[workarounds]
' W% ?8 Q2 b6 N5 d& j4 F+ e[wsgi]
8 r, F$ F1 z% S5 I6 @5 f& s3 z[xenserver]
( t# K0 n/ Z( Y) U, e$ ][xvp]
, X7 F8 }1 S+ \$ yEOF
( K7 V' F: r4 pcat <<EOF> /etc/neutron/neutron.conf5 B( ?- J; ^0 M8 U: H
[DEFAULT]. r# \1 i% Z! E/ Y% Q: g
bind_host = $IPADDR
! J! P  z' c! y$ ^, Hbind_port = 9696% C; ~- f) g! ~; G
core_plugin = ml2
' X3 @& o/ X8 J3 X7 Fdebug = false% L* S6 b4 i' `) Z0 [  P' `8 a
use_syslog = false
* t* ~- a! d; M% L- ~, O1 r8 Rlog_dir = /var/log/neutron: B( Q6 k) c6 k: R( t
service_plugins = router,metering5 j% m4 Q8 h4 Z
auth_strategy = keystone
" g' H+ X4 G0 \- ]9 rbase_mac = fa:16:3f:00:00:00
; O4 {, Z9 Z$ v- J8 H/ z* O0 ]0 Yallow_overlapping_ips = true* K: E9 V( ?8 X3 c: I" O$ X
mac_generation_retries = 16: h( E* I. p2 t# i- U. N3 `
auth_strategy = keystone
; s* T6 c2 T3 T6 Snotify_nova_on_port_status_changes = true
1 w. e/ Y. m* H0 L' _4 g% J: wnotify_nova_on_port_data_changes = true
( ^- t4 _7 o* r7 o3 B& `+ O1 h5 l; Lnotification_driver = neutron.openstack.common.notifier.rpc_notifier
# k! U# z9 b: O5 v* orpc_backend = rabbit
/ Y0 o* r! }3 S8 N8 S% S$ A* _agent_down_time = 755 h# |1 V$ H3 A/ |
api_workers = 40+ Y  \, M% f9 u% ~0 ?
rpc_workers = 400 }& G8 @0 h) W+ w) N5 k7 |) P
send_events_interval = 2
) x0 }9 o% J& U( o& H! S[agent]0 g1 {' @+ k* Z7 k
check_child_processes_interval = 30' B1 C6 X( e: t: p# D1 j7 s3 w
check_child_processes_action = respawn
( E+ L  t) B( w[cors]6 x" |. z  ^( j+ K2 b% k
[cors.subdomain]
. O. A. u% ^7 F[database]
( G& Q% Q4 w4 t4 Z, x2 yconnection = mysql+pymysql://neutron:Ol1fBhLMCFr7@mysqlserver/neutron* a  m- F+ |9 w
max_pool_size = 150( }2 k9 r/ m# [1 `+ g, T
max_overflow = 300
9 i" G+ ^+ }( x8 w3 T3 z[keystone_authtoken]
1 p! Z9 X* P5 f/ Q3 m3 e% f: w/ ^auth_uri = http://controller:5000/v3
3 g( F: Q- Q1 c* gauth_url = http://controller:35357/v34 E* H" U/ c2 l" Z9 P6 M
memcached_servers = controller-3-28:11211,controller-3-29:112117 `2 M: _/ r/ W7 {4 j; A( c( F; r3 N
auth_type = password
6 O: n& r6 J4 y* o9 A$ T' Z$ T8 Jproject_domain_name = default; a4 v0 o6 l$ T, _
user_domain_name = default! ]$ Z" n; I. E& E* I* a# }/ e) M
project_name = service# f* Y$ B7 I6 M0 q9 q3 ?
username = neutron! \- Y- x9 H! D& y
password = newneutronpass+ Q2 i3 R1 }: Q* x9 A
[matchmaker_redis]& O5 ~! P* u+ f
[nova]
& @0 d- A7 b) P. v1 W7 e! a0 yurl = http://controller:8774/v2.1# U- I, L5 c% J
auth_uri = http://controller:5000/v3
, d# w5 q4 y( D" P- l, \0 Q' Hauth_url = http://controller:35357/v3
2 U9 g$ s+ m: w9 U( ]1 G0 [auth_type = password
3 k/ r/ b4 [6 n6 o  m, ^project_domain_name = default5 o% a$ r5 \4 j! h( ~
user_domain_name = default
- h: w% s* A, w' U% X1 kregion_name = RegionOne
9 w( \) ^$ q) W& Kproject_name = service% |' Z  }8 T9 m
username = nova% i' }( X8 P6 K0 \3 X
password = newnovapass* J$ }- \, e) s  ~
[oslo_concurrency]
* e' J/ X* K5 A. x  O. m) M+ dlock_path = /var/lib/neutron/tmp
- K* g* `' w$ u$ s[oslo_messaging_amqp]
) o& t8 z' U' v[oslo_messaging_notifications]8 {; f8 m3 i( w5 ?; g' f
[oslo_messaging_rabbit]6 o2 H! G/ d7 T) P- Q
rabbit_hosts=controller-3-28:5672,controller-3-29:56721 B. |6 i. Z* m* X- ]* L( R; `
rabbit_ha_queues=true2 T& }: s% d! q2 Y* C* o
rabbit_userid = openstack% h' g: ^. d1 C0 Z
rabbit_password = h1Zg3IvdIiCx. \* T; M7 E6 R
heartbeat_timeout_threshold=0
- R) O; N. v3 `: O$ w+ {rabbit_max_retries=2
# |  f* R1 D& O  s& s8 X[oslo_messaging_zmq]" f! ^" c+ X5 l& P7 N" d2 w
[oslo_middleware]
% [6 J  ?3 o- M[oslo_policy]
; F" T& U/ z" V8 H$ w[qos]; V6 \) C3 o" l5 F
[quotas]
  s3 z2 ~' G7 w5 j- z2 t[ssl]
! e; @& a  B' {EOF
; t0 m& o5 Y. f8 ]' Z+ Jcat <<EOF> /etc/neutron/plugins/ml2/ml2_conf.ini
9 @" [, T) f7 `" N2 N[DEFAULT], Z4 L' ~* \# G  O8 b
[ml2]
' ^" k* z, f* U8 mtype_drivers = vlan
8 V+ f0 c' \9 i  `; x3 I1 ^9 ptenant_network_types = vlan
! V* h  ?; Q) N: ~mechanism_drivers = openvswitch! L# K8 y! v! }* ?
[ml2_type_flat]
. _; t% t% p+ V: O: k* A7 i; _flat_networks = physnet1/ y* p0 L( x# |2 ~# c( K
[ml2_type_geneve]
. T0 q8 g6 X# b[ml2_type_gre]
" o4 B+ R( I  i# Q[ml2_type_vlan]) U* Y( ~3 {9 B! b/ n* R
network_vlan_ranges = physnet1:1:40006 k# X2 @( P- {- @! R
[ml2_type_vxlan]
8 r9 s' C7 o- w) g; s: w1 O[securitygroup]
9 }2 M- U$ E9 P9 i1 `enable_security_group = false
" a! f8 o1 {1 b' Gfirewall_driver = neutron.agent.firewall.NoopFirewallDriver
! h0 i3 s  L) f" B! J/ OEOF/ S1 h( l% k) {" Y# `7 t
cat <<EOF> /etc/neutron/plugins/ml2/openvswitch_agent.ini& C5 S1 y" D& B) g
[DEFAULT]
( C: @$ }) f. |% E[agent]
0 |7 }+ Y8 a4 z$ \) O5 dprevent_arp_spoofing = false
; k: J2 O& i/ Q6 s0 ^. Z' @[ovs]
8 h& f9 V3 K; T4 Y% v8 ]bridge_mappings = physnet1:br-bond0$ j0 I1 h  ~& w% j$ u* ?; }: \' f
[securitygroup]
" ~' X4 p8 V- [# t; D9 Cenable_security_group = false" w& Y+ U% u7 R1 S0 }$ z% m1 S
EOF
: k7 V/ C3 p/ g/ w8 V#修改nova权限
% o4 {, {2 `+ s7 R- h( tsed -i '/^nova/d' /etc/passwd
+ e) x- B9 }2 O' cecho "nova:x:162:162:OpenStack Nova Daemons:/var/lib/nova:/bin/sh" >> /etc/passwd
7 ^, r; F3 r6 h1 J& l) }& \3 O#设置开机启动+ x2 C, p) }8 ~) s- P' {
systemctl enable openstack-nova-compute.service neutron-openvswitch-agent.service openvswitch.service
, F+ d  q! `- s/ ?$ u7 L#启动服务2 J" v% l2 n" I5 }/ {* ]4 }, Q8 v" X
systemctl start openstack-nova-compute.service neutron-openvswitch-agent.service openvswitch.service8 X. L$ \' D: w" Y
#设置
3 [8 Y4 \/ x0 E: [6 d! v9 A2 rovs-vsctl show
( ~1 O7 t  i; p. K' G$ N$ Tovs-vsctl add-br br-int) o6 @4 k* |/ y+ U/ A# m
ovs-vsctl add-br br-bond0) A# k8 P! v; R; Q! ?
ovs-vsctl add-port br-bond0 bond0' U% `' f- B4 e8 @6 c) W: @
#创建openstack目录并拷贝nova文件2 n. u: f  f. `7 X# u  S4 g# t
mkdir -p /data/openstack ; cp -a /var/lib/nova /data/openstack/7 j5 Z2 g) V0 e0 R
#更改权限
7 f1 _  d, l, m8 Gecho "neutron ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
6 j( _, p7 Y" mecho "nova ALL=(ALL)       NOPASSWD: ALL" >> /etc/sudoers
4 E; ^: }: {2 }; y, G7 k- f1 kcp -a /usr/share/nova/interfaces.template /usr/share/nova/interfaces.template_bak
" d) [0 Q, }9 h4 i% A4 {4 m' j% lcat /usr/lib/python2.7/site-packages/nova/virt/interfaces.template > /usr/share/nova/interfaces.template" S8 ]) s6 y7 ?2 Z
systemctl restart openstack-nova-compute.service ; systemctl restart neutron-openvswitch-agent.service' [, L* b/ V0 e' P. B, J
#拷贝key文件
7 I" d# _# I8 G# A, zscp -r root@10.152.3.25:/var/lib/nova/.ssh /var/lib/nova/
, R7 l6 p& Y& M  @, }) e' r#更改权限
2 O: Y: ]+ L# }chown -R nova:nova /var/lib/nova/.ssh
( @% V* O: O/ v' h- N! r% d) |, q( [+ W, Z7 J
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2022-1-22 13:25 , Processed in 0.048092 second(s), 22 queries .

Powered by LR.LINUX.cloud bbs168x X3.2 Licensed

© 2012-2022 Comsenz Inc.

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