找回密码
 注册
查看: 3870|回复: 3

使用virsh define使用xml文件启动虚拟机

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2019-9-5 09:36:11 | 显示全部楼层 |阅读模式
购买主题 本主题需向作者支付 2 金钱 才能浏览

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2019-9-5 10:10:11 | 显示全部楼层
<domain type='kvm' id='131'>9 z- A' ]2 [' Z) i; v+ z
  <name>test</name>3 J3 M+ C5 j3 d+ J+ [5 `
  <uuid>0e91050a-8a6e-4db9-ab8e-a5ffe4215132</uuid>
4 q3 M6 I& g+ X  <description>Timos VM</description>
9 L9 i+ Y6 ?+ ~7 _! G: {  <memory unit='KiB'>8388608</memory>( m( [, v. x! T; t) T. L
  <currentMemory unit='KiB'>8388608</currentMemory>% k0 Q. }& O" s1 r9 n
  <memoryBacking>
; ?2 n! {* P! }    <hugepages/>
7 U7 q6 P& I& t" |    <nosharepages/>
; n( t. K: P1 f. A+ Y  </memoryBacking>
0 X% R' |7 R  X% X! O( u5 M4 M) B. p  <vcpu placement='static'>2</vcpu>4 i6 W  O8 z  e5 D: _8 H2 n# @
  <cputune>/ ^0 @# N, z: {6 n" m- u
    <vcpupin vcpu='0' cpuset='45'/>
, o! L: L6 i# O6 ]    <vcpupin vcpu='1' cpuset='44'/>( W; u7 o0 Z4 a
  </cputune>
1 v! N4 f; u9 D! t3 T; c/ _  <numatune>/ v6 R# C% @5 {0 P$ l. ^( B
    <memory mode='preferred' nodeset='0'/>: I9 p, ?! l5 j5 n; T% P* N
  </numatune>
+ L2 P( c- p! p8 O2 m" ]4 i  <resource>& h- K- Z% R: ?* K5 o
    <partition>/machine</partition>
" V: ?- |8 U/ U& W  </resource>
1 |% a9 E' W! g* {2 r* Q4 ]  <sysinfo type='smbios'>" Y4 ~# P7 _  t) L  O4 Q7 G9 j
    <bios>
. n+ A) ]5 N8 {+ b      <entry name='vendor'>KVM</entry>' c# D2 T8 E8 T& O
    </bios>
4 G  k$ c7 |; I+ i' K' e    <system>
8 y, x) t2 n; Q. K7 |: P2 Y      <entry name='manufacturer'>alcatel-lucent.com</entry>  }$ x( [6 m1 j4 L1 {) r
      <entry name='product'>TIMOS:slot=A chassis=VSR-I card=cpm-v mda/1=m20-v
2 d7 K# P0 x3 [0 ^0 O" {        address=192.168.0.12/24@active
# `& Y6 S6 T. x9 ~! c     </entry>
6 V) ]* `6 _9 p5 [3 r1 F; Y( m$ j6 U    </system>2 R$ P; I0 _/ d/ K5 Y1 i% s
  </sysinfo>
& d/ i6 P$ ?8 j) \  <os>
& B. C0 L2 p8 y% b. s% e! x    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type># ~9 t3 n: P1 P% V* W! C
    <boot dev='hd'/>
& \" [  I$ r6 h) g6 |, }1 T: R    <smbios mode='sysinfo'/>2 X' O$ g) L5 M2 i
  </os># N* T! G: Z8 K5 z* i" k$ u
  <cpu mode='host-model'>
# L& N% q7 n/ S: I' c! j    <model fallback='allow'/>, ~% \- C+ u6 a( j& |; ]/ T
  </cpu>
7 `3 O- Y: {: z6 [' e- p' z  V" Q  <clock offset='utc'>9 Z# ~1 i3 \. b# ^% _, \
    <timer name='rtc' tickpolicy='delay'/>
9 d4 b& f3 e+ a: i- }' E  P2 b    <timer name='pit' tickpolicy='delay'/>
( s+ ]' V$ X4 S- D    <timer name='hpet' present='no'/>
/ g5 t/ m) T7 A8 K: A: H/ C  </clock>: t/ D' j0 }% _  E% |
  <on_poweroff>destroy</on_poweroff>* e* Q7 S4 f$ w2 P0 [8 Z6 b2 W
  <on_reboot>restart</on_reboot>  B. W2 ?* l& T$ p1 \, s& X- G
  <on_crash>restart</on_crash>2 d) M7 q* r" E6 D1 a
  <pm>; f  O, D, l) d0 G( Y4 L% g
    <suspend-to-mem enabled='no'/>
; F5 ~5 h+ D2 K7 J& l$ d    <suspend-to-disk enabled='no'/>
0 e! \1 Y( j6 T  </pm>7 r, y3 Q+ @: d9 c
  <devices>5 b' n1 {+ L" g1 Z/ Y
    <emulator>/usr/libexec/qemu-kvm</emulator>
- Y* J$ y9 a8 g    <disk type='file' device='disk'>, V" w+ M9 j& O+ G5 {; D
      <driver name='qemu' type='qcow2' cache='none'/>
# F8 x9 k7 r, X      <source file='/var/lib/libvirt/images/test.qcow2'/>. D- ^3 G1 A, t
      <backingStore/>& ^1 U2 I5 f& @' \: A$ T  z
      <target dev='hda' bus='virtio'/>
. D5 W" u" I+ o, }3 a6 Z      <alias name='virtio-disk0'/>
- ~; A% U5 J) M0 H5 i2 Q! [  g      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
- C6 d. n  V" C. Y    </disk>
" p# N. D, ?& r/ {1 [8 u    <controller type='pci' index='0' model='pci-root'>9 _2 a- i9 r6 [7 p) }
      <alias name='pci.0'/>
- `" A; v; R  Q& b: V. Z$ v+ R    </controller>( g+ M' {$ R! }, L3 D7 q, h5 o
    <controller type='usb' index='0'>
9 T& U! I6 |6 J$ y8 C, w      <alias name='usb'/>3 T5 L8 N& J" H& a
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>& D9 {; T( i  M' S$ n$ l
    </controller>
. b# U9 X; E, v) r' E5 \4 N* L    <interface type='bridge'>8 b# G; v3 O& c# I' m
      <mac address='50:54:00:59:e9:02'/>
! M* A8 Y# G) P* W      <source bridge='br2455'/>) q- ^! \. i: N0 Q
      <target dev='vnet2'/>
6 D4 n( H$ K" J# ]2 T      <model type='virtio'/>
6 o0 o# R. Q. M      <alias name='net0'/>
+ D( @' p- l9 O, p      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
0 r! w! h$ f  n& i$ i5 m    </interface>
% R/ F+ w5 V3 B% d8 f9 G    <interface type='bridge'>
. y2 o' S/ d( q2 j      <mac address='50:54:08:68:1f:c0'/>  J% ]+ G5 n1 R& r2 x6 B* n& ~
      <source bridge='br2083'/>
+ l$ z5 r/ @7 A  S* |  {      <target dev='vnet3'/>7 |: i) F3 P4 T8 N9 {! }
      <model type='virtio'/>
$ x5 D. D7 _4 X2 V! U      <alias name='net1'/>0 v  `6 `; i! @, N. `2 u
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
6 g$ ?* g4 D8 j* l1 T4 p9 e" ?1 g    </interface>
+ C3 e8 x0 X( z    <serial type='pty'>) {  _! a+ G! S- s, y
      <source path='/dev/pts/2'/>2 `. g. {7 y' R, w" Y
      <target port='0'/>0 |- _- Y+ m7 [; g2 K$ |
      <alias name='serial0'/># z" o: [& P/ a; T
    </serial>4 o' W* |! `5 ^$ s  l) J2 I% i" p
    <console type='pty' tty='/dev/pts/2'>- T3 F& m. |7 t4 c0 }
      <source path='/dev/pts/2'/>
" p% p! |1 s6 B3 l8 V+ D      <target type='serial' port='0'/>
( F  I1 e- v6 g) v8 \      <alias name='serial0'/>$ V4 w& V' y6 u
    </console>
! E- E* P( d  H% g1 }    <input type='mouse' bus='ps2'/>
. q6 g/ Q; u& n2 ~3 s, F& g    <input type='keyboard' bus='ps2'/>0 i: ~: [9 @6 `
    <graphics type='vnc' port='5901' autoport='yes' listen='0.0.0.0'>" Q( F2 G/ f1 }' P( p& [' ]4 `$ \& G
      <listen type='address' address='0.0.0.0'/>
1 ]. x1 m1 e  R. ]0 Q  R9 B% |    </graphics>3 i, U6 f4 Z1 R# i' I! B& t
    <video>
# `! C  r3 P+ i0 `; R      <model type='vga' vram='16384' heads='1'/>
; |% [7 t" q' `& B) r0 F" g      <alias name='video0'/>
5 x+ e, e% h# r4 i8 n# A      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
' \! A" j% R5 J# U1 p7 E- D    </video>
3 x2 |  e$ h" ]3 `) Y  [# `    <memballoon model='virtio'>% r: r  ?* J0 e. z. k( T' ~
      <alias name='balloon0'/>
6 |3 J  M' R3 T      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
2 s# w  K0 B8 q& f5 v# h" A9 V    </memballoon>
  }2 k5 o, Z7 C( e9 w. Q2 B  </devices># l% D6 e! w! d& ?' I
  <seclabel type='none' model='none'/>9 e+ K8 h) p& T' |! [2 }
</domain>

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2019-9-5 10:33:17 | 显示全部楼层
<domain type='kvm' id='192'>
8 N* ?( r( _& A0 \) F+ V  <name>test</name>
0 {7 {# }/ Y* i9 _% e# F0 i6 e2 t  <uuid></uuid>
. g" e9 r3 }" k- e' I7 Z. o2 D  <memory unit='KiB'>25165824</memory>7 c) l& H) |$ B2 w
  <currentMemory unit='KiB'>25165824</currentMemory>7 E: k. o, R7 B, h8 f
  <vcpu placement='static'>6</vcpu>
* j9 }" k1 w8 d, T% ^  <resource>
. R2 Z+ W  F- R2 ]( D    <partition>/machine</partition>
  N. L  W6 v9 Q( c4 Z# F- G/ g  </resource>
( Z, r+ R8 P; U8 C1 L4 `  <os>4 i4 Q4 T3 Y8 o4 f; W+ w
    <type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
6 R" U! Z6 L. x. a+ ~0 p    <boot dev='hd'/>
! B, W! G4 b/ l  </os>+ ]& C3 ~& r, q+ z
  <features>$ b' L6 F; ~2 J& A
    <acpi/>
( E& S( G& Z' }5 ?" m# Q    <apic/>
8 t" Z( W3 O& K2 E% f# S3 g  </features>2 r6 c& r) B8 B& y# V0 J
  <cpu mode='custom' match='exact'>
  B+ J/ L! q8 @1 b3 n    <model fallback='allow'>Haswell-noTSX</model>3 [% h9 @8 |$ b$ K$ Y
  </cpu>
& u" Q5 S/ T; D1 b1 ~$ Q  <clock offset='utc'>- _; ?5 I5 o' C8 j# B" N
    <timer name='rtc' tickpolicy='catchup'/>
% G% E6 \4 w1 \    <timer name='pit' tickpolicy='delay'/>. Z( O- x% f1 e8 `/ g) \$ U
    <timer name='hpet' present='no'/>( G( f7 D0 C8 j' F+ c' B  k
  </clock>
( \. K/ O# {) S& h* |, f  <on_poweroff>destroy</on_poweroff>4 k  x; q" M- \( g4 t+ n9 n  a2 `/ c
  <on_reboot>restart</on_reboot>$ M) r* `. F* E" G. n
  <on_crash>restart</on_crash>9 j5 Y) T$ b3 n4 @! n& O( a2 c
  <pm>
$ l7 C0 b" \* ?2 `2 U    <suspend-to-mem enabled='no'/>) A* n% n' ~* z
    <suspend-to-disk enabled='no'/>; v" @" s% [! [+ Y7 w4 f
  </pm>
; X, g/ o$ E1 \  c9 l0 p4 h/ Z% r6 I  <devices>" Y1 Z7 |: N4 b
    <emulator>/usr/libexec/qemu-kvm</emulator>- v/ D# ]) l8 U# U
    <disk type='file' device='disk'>
9 ]- Q+ P4 H0 C" W( B9 h      <driver name='qemu' type='qcow2'/>1 @% j$ `9 J1 w: y- V. I
      <source file='/var/lib/libvirt/images/VSD-4.0.10_272.4.qcow2'/>
# \) Q1 T. t" [: w) d1 z      <backingStore/>
4 j; E* F1 Y! |. M2 i3 O      <target dev='vda' bus='virtio'/>
. Y8 d& T  E/ |4 k5 G8 X" c      <alias name='virtio-disk0'/>4 {1 d9 i' Q4 ?: f, ~
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>  q/ }8 ^1 F1 W  U- T) R! j/ U
    </disk>
7 o8 ]  j! R3 `2 d% P. f! C    <controller type='usb' index='0' model='ich9-ehci1'>
: \( M( |" ^  k' |      <alias name='usb'/>6 D/ f, c' x" Z* X( m+ R
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
1 o; f3 v( u1 `6 |# ~& U( {  x    </controller>
) {1 C4 s  z. E  f. c" A  G    <controller type='usb' index='0' model='ich9-uhci1'>7 r$ M5 [- L$ l
      <alias name='usb'/>
; A+ h9 s+ N0 J: o' s      <master startport='0'/>% T" U& U2 i$ H9 n5 U+ m  M$ I
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>4 |: h7 j6 m7 d( J6 z0 W
    </controller>+ ~8 ?6 w1 ^9 T5 j  b  ^8 [6 t1 ^, L
    <controller type='usb' index='0' model='ich9-uhci2'>( q% k9 C7 J  f8 Z! c
      <alias name='usb'/>; d5 J) x$ Y* x8 Q1 F
      <master startport='2'/>5 {4 _0 `  Y' n
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>* W$ D. r' ~& q, j  T! L
    </controller>" ^1 ~+ z3 y1 s& M" i, e
    <controller type='usb' index='0' model='ich9-uhci3'>) M, r2 K* V9 t
      <alias name='usb'/>
; x1 h% w1 C9 U; o      <master startport='4'/>: V2 v, j+ r5 @% R: `" E
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
% F. m' q8 C2 U- e    </controller>
+ y4 ?! m0 O6 R1 y8 J    <controller type='pci' index='0' model='pci-root'>5 x6 s! h7 R! \4 m( V, d: ?
      <alias name='pci.0'/>
7 i. W7 d( o+ j4 L; f/ e    </controller>( }' j$ X3 x, Y" f
    <controller type='virtio-serial' index='0'>
' V  C/ b) a5 f4 N8 v# v% I4 X      <alias name='virtio-serial0'/>8 {8 Q7 c6 i, G- }: |) l& ?( W& E
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>( g, j; U* R. h4 ]
    </controller>' W0 B$ d3 ]7 c) t+ S* i; [$ Q
    <interface type='bridge'>
7 O; z5 r' z4 b9 C4 ?& Q. j, w7 {* g      <source bridge='br2455'/>
5 Y' {- F4 W6 n8 a1 b7 D! Y      <target dev=''/>9 C# {1 f1 z1 ~  t/ p/ Q( k7 }( J- m7 w
      <model type='virtio'/>" H7 s- t3 G% e" a, f
      <alias name='net0'/>6 y3 h. m% X! a; z- ~
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>! C, M4 k  U/ h3 m0 e! |" Y
    </interface>
( H- t" b, }8 f) P- x; ?- |* F5 S    <serial type='pty'>; Q1 }. U6 [1 B% Q; V$ h
      <source path='/dev/pts/4'/>
, N# x0 Q. ]% d9 N. @/ v( ?# K- c      <target port='0'/>9 {- \# {' M* R5 H% L0 v
      <alias name='serial0'/>/ P' c$ ~; L  J1 x. j+ Q8 `
    </serial>
- J2 ^! f$ J" X- b0 k    <console type='pty' tty='/dev/pts/4'>
. n1 k. @/ [7 e% V2 E      <source path='/dev/pts/4'/>
$ l1 y* U/ {& J3 c$ l      <target type='serial' port='0'/>+ B6 q3 n& m* l& {  ]; t. q
      <alias name='serial0'/>
& x! y8 r; m$ R( R    </console>
0 E4 U+ j, Z- s9 c+ [    <channel type='unix'>
* ^- H5 J0 x6 ~+ Q* k- S      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-vsd4/org.qemu.guest_agent.0'/>
: Z& o2 f" J8 X  r0 c& `. n% ]      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>% g) P9 e2 f3 M$ u
      <alias name='channel0'/>7 m; `. J: l6 K7 J' ~/ o. M
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
: s& @# F- C& L7 J- r" {1 _: m    </channel>
3 ], ?# E- t$ e7 G# E- `    <input type='tablet' bus='usb'>
( s* J' Y1 z( Y4 c  w% h; i  i. s      <alias name='input0'/>
, Z5 Z: h6 C, n' |9 J, _+ v    </input>/ v7 z; l/ g9 c9 }/ I- l
    <input type='mouse' bus='ps2'/>; _" d" D% v2 r+ c) P/ ?3 l
    <input type='keyboard' bus='ps2'/>& P7 R4 E$ ^( H! E6 O- q2 s
    <graphics type='vnc' port='5901' autoport='yes' listen='0.0.0.0'>
( e/ \9 X" m. c8 v7 w9 ]. \      <listen type='address' address='0.0.0.0'/>
/ }( K* T. J. e9 o    </graphics>/ m* @& \9 o/ K( R" V2 U9 ^9 q
    <video>
6 z: A& W- H7 }8 u( V6 q+ j- r      <model type='cirrus' vram='16384' heads='1'/>
3 g4 _' ^, }2 t0 r5 A      <alias name='video0'/>
, @6 v- w/ K9 y      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>& L& N' i& W) O+ c. e
    </video>* {2 k; K" w, c9 f/ R. p$ o
    <memballoon model='virtio'>
6 P- s9 \2 A5 U; p: u" O      <alias name='balloon0'/>7 B; V1 N" y4 f& P# h4 C& H: q' R3 ?
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>0 t7 w4 {5 D, U3 T5 `
    </memballoon>, N/ B: r: W8 T( i# H* x1 I
  </devices>$ j3 j" |/ X: L$ v; f
</domain>

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2019-9-5 14:15:51 | 显示全部楼层
kvm使用xml文件创建全过程,注意几点,在楼上的xml文件,
2 ?- G% ?0 ]  _& N; f<domain type='kvm' id='1'  <name>centos</name>      //虚拟机名称唯一  3 D) C& L& E/ N  k9 ^4 G: A3 c3 i
3 ]' j! G8 A0 Z* w7 e# k

- L+ W$ P) _, G0 q# {   <memory unit='KiB'>102400</memory>% e# P1 B# p3 S; m
   <currentMemory unit='KiB'>102400</currentMemory>
$ G" d' p7 F7 ~+ O# X- r! c  }( N<vcpu placement='static'>1</vcpu>
9 h2 b- f* H6 s% s   <os>  u# g& e2 M" R0 G
     <type arch='x86_64' machine='rhel6.6.0'>hvm</type>  //arch指出系统架构类型,machine 则是机器类型,查看机器类型:qemu-system-x86_64& K' z: Y4 V5 I, P" v" M# q
     <boot dev='hd'/>         //启动介质,第一次需要装系统可以选择cdrom光盘启动
5 f6 ?: [0 K; Z/ @' {  </os>+ g: \& [3 Z. d7 `
   <features>
/ q0 L: W# N: K, Q# T3 g     <acpi/>                 //Advanced Configuration and Power Interface,高级配置与电源接口- k9 ?9 A% f* j
    <apic/>                 //Advanced Programmable Interrupt Controller,高级可编程中断控制器
7 D! X6 a; Z+ F% v    <pae/>                 //Physical Address Extension,物理地址扩展9 i8 [3 P! M& E$ E. D
  </features>
3 t0 J4 a* {( Q  m7 k   <clock offset='utc'/>      //虚拟机时钟设置,这里表示本地本机时间( H$ ~- R: }7 f. S% t
  <on_poweroff>destroy</on_poweroff>       //突发事件动作
' j* d1 g5 L! O+ A5 L3 ]
$ Y0 G( ]8 B3 ~, h) g  <on_reboot>restart</on_reboot>
+ Z& G' `% S( _% {) H7 i& I  O+ \' L0 Q2 N5 s
   <on_crash>restart</on_crash>8 d/ O6 ]; u. z/ f9 A7 R% [
   <devices>2 r2 i% M3 h$ H( v
     <emulator>/usr/libexec/qemu-kvm</emulator>       //kvm 默认- y$ |8 y$ k( H$ C9 Z8 u8 H, O) l
    <disk type='file' device='disk'>) s$ l8 i9 u" _1 A  z, b$ N8 l5 _
       <driver name='qemu' type='qcow2' cache='none'/>    //镜像类型
7 q( a& s, @9 u      <source file='/var/lib/libvirt/images/cirros-0.3.3-x86_64-disk.img'/>    //镜像位置
* z! D: B$ \" X      <target dev='hda' bus='ide'/>        
5 _( v- s  m2 S8 d) o/ D5 {     </disk>2 L* r4 G9 f" M# T3 c+ V
     <interface type='bridge'>    //虚拟机网卡类型) B) t7 u0 U$ [& F8 ^+ t) Q
      <source bridge='br0'/>   
8 t7 A1 S* n& G       <target dev='vnet0'/>      //宿主机设备名称% n% `9 q8 \1 T
    </interface>
& X0 A/ n3 ?# Q5 L* I- P6 `# h& }     <console type='pty' tty='/dev/pts/2'>   //控制台登录设置; A2 r2 J0 X' m* p8 ~7 n0 t/ ?# P' @
      <source path='/dev/pts/2'/>
/ R* P( g6 g. J; `8 @; H       <target type='serial' port='0'/>
8 M8 Q' B; V( n* e8 S# q7 q     </console>5 U& P  E( Q% k$ \8 \2 Z+ c
     <graphics type='vnc' port='5900' autoport='yes' listen='0.0.0.0'>   //配置VNC 设置! x3 B0 |4 D# l6 I; W% l% ?0 x
      <listen type='address' address='0.0.0.0'/>
& g( z7 F1 ?3 ^     </graphics>! W# U8 W& @" T9 S7 p, V
   </devices>
* l# f' Z; y$ W  k, U' y </domain>) y& M& o& i5 x. Y1 p
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-12 01:39 , Processed in 0.024779 second(s), 24 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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