LINUX实 *** :CentOS7下利用Cobbler安装部署CentOS

LINUX实 *** :CentOS7下利用Cobbler安装部署CentOS,第1张

概述介绍《LINUX实 *** :CentOS7下利用Cobbler安装部署CentOS》开发教程,希望对您有用。

《liNUX实 *** :CentOS7下利用Cobbler安装部署CentOS》要点:
本文介绍了liNUX实 *** :CentOS7下利用Cobbler安装部署CentOS,希望对您有用。如果有疑问,可以联系我们。

CentOS7下应用Cobbler安装部署CentOS

Cobbler是一款快速的网络系统部署工具,其最大的特点是集合了所有系统部署所需服务,如DHCP、DNS、TFTP,这样你在部署一台 *** 作系统的时候不需要在各个服务之前协调切换,Cobbler都可以替你来管理,Cobbler内部集成了一个镜像版本仓库,你可以自定义相关配置文件,实现不同系统不同安装需求的选择;当然,Cobbler还提供了包含yum源管理、Web界面管理、API接口、电源管理等功能,方便你自定义开发管理.

1)安装epel源和cobbler
[root@cobbler ~]# yum -y install http://mirrors.163.com/centos/7/extras/x86_64/Packages/epel-release-7-9.noarch.rpm
[root@cobbler ~]# yum install cobbler cobbler-web dhcp tftp-server pykickstart httpd xinetd -y
[root@cobbler ~]# systemctl start xinetd.service
[root@cobbler ~]# systemctl enable xinetd.service
[root@cobbler ~]# systemctl start httpd
[root@cobbler ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@cobbler ~]# systemctl start cobblerd.service
[root@cobbler ~]# systemctl enable cobblerd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service.

2)设置装备摆设cobbler

反省cobbler:
[root@cobbler ~]# cobbler check
The following are potential configuration items that you may want to fix:
1 : The 'server' fIEld in /etc/cobbler/settings must be set to something other than localhost,or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional,the 'next_server' fIEld in /etc/cobbler/settings must be set to something other than 127.0.0.1,and should match the IP of the boot server on the PXE network.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : some network boot-loaders are missing from /var/lib/cobbler/loaders,you may run 'cobbler get-loaders' to download them,or,if you only want to handle x86/x86_64 netbooting,you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  files in this directory,should you want to support all architectures,should include pxelinux.0,menu.c32,elilo.efi,and yaboot. The 'cobbler get-loaders' command is the easIEst way to resolve these requirements.
5 : enable and start rsyncd.service with systemctl
6 : debmirror package is not installed,it will be required to manage debian deployments and repositorIEs
7 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed,try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
8 : fencing tools were not found,and are required to use the (optional) power management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.

改动cobbler的配置文件:
[root@cobbler ~]# vim /etc/cobbler/settings
# if you do not set this correctly,this will be manifested in TFTP open timeouts.
将“next_server: 127.0.0.1”改动为“next_server: 10.10.10.222”
将“server: 127.0.0.1”改动为“server: 10.10.10.222”
# set to 1 to enable Cobbler's DHCP management features.
# the choice of DHCP management engine is in /etc/cobbler/modules.conf
将“manage_dhcp: 0”改动为“manage_dhcp: 1”

修改cobbler默认的暗码:

将“default_password_crypted: "$1$mF86/UHC$WvcIcX2t6crBz2onWxyac."”修改为“default_password_crypted: "$1$wanwan$K9lP0CajD0pbFaxI0if84/"”
随机生成一个暗码:
[root@cobbler ~]# openssl passwd -1 -salt 'wanwan' 'RedHat12345'
$1$wanwan$K9lP0CajD0pbFaxI0if84/
[root@cobbler ~]# vim /etc/xinetd.d/tftp
将“disable                = yes”修改为“disable                = no”

重启rsync服务:

[root@cobbler ~]# systemctl start rsyncd.service
[root@cobbler ~]# systemctl enable rsyncd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.

下载cobbler相关的包:
[root@cobbler ~]# cobbler get-loaders
task started: 2017-03-20_110931_get_loaders
task started (ID=Download Bootloader Content,time=Mon Mar 20 11:09:31 2017)
downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README
downloading https://cobbler.github.io/loaders/copYING.elilo to /var/lib/cobbler/loaders/copYING.elilo
downloading https://cobbler.github.io/loaders/copYING.yaboot to /var/lib/cobbler/loaders/copYING.yaboot
downloading https://cobbler.github.io/loaders/copYING.syslinux to /var/lib/cobbler/loaders/copYING.syslinux
downloading https://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi
downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot
downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0
downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32
downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
淫乱 TASK COMPLETE 淫乱
[root@cobbler ~]# systemctl restart cobblerd.service 
[root@cobbler ~]# cobbler check
The following are potential configuration items that you may want to fix:
1 : debmirror package is not installed,it will be required to manage debian deployments and repositorIEs
2 : fencing tools were not found,and are required to use the (optional) power management features. install cman or fence-agents to use them
[root@cobbler ~]# cd /etc/cobbler/
[root@cobbler cobbler]# ls
auth.conf      dhcp.template          ldap            power          rsync.template      users.conf    zone_templates
cheetah_macros  dnsmasq.template        modules.conf    pxe            secondary.template  users.digest
cobbler_bash    import_rsync_whiteList  mongodb.conf    reporting      settings            version
completions    iso                    named.template  rsync.exclude  tftpd.template      zone.template

3)设置装备摆设服务

[root@cobbler cobbler]# vim dhcp.template 
subnet 10.10.10.0 netmask 255.255.255.0 {
    option routers            10.10.10.2;
    option domain-name-servers 10.10.10.2;
    option subnet-mask        255.255.255.0;
    range dynamic-bootp        10.10.10.100 10.10.10.200;
    default-lease-time        21600;
    max-lease-time            43200;
    next-server                $next_server;
    class "pxeclIEnts" {
          match if substring (option vendor-class-IDentifIEr,9) = "PXEClIEnt";
          if option pxe-system-type = 00:02 {
                  filename "ia64/elilo.efi";
          } else if option pxe-system-type = 00:06 {
                  filename "grub/grub-x86.efi";
          } else if option pxe-system-type = 00:07 {
                  filename "grub/grub-x86_64.efi";
          } else {
                  filename "pxelinux.0";
          }
    }
}
备注:主要改动网段、DNS、网关等信息
[root@cobbler cobbler]# cobbler sync
通过cobbler管理的dhcp的配置文件
[root@cobbler cobbler]# egrep -v '^#|^$' /etc/dhcp/dhcpd.conf 
ddns-update-style interim;
allow booting;
allow bootp;
ignore clIEnt-updates;
set vendorclass = option vendor-class-IDentifIEr;
option pxe-system-type code 93 = unsigned integer 16;
subnet 10.10.10.0 netmask 255.255.255.0 {
    option routers            10.10.10.2;
    option domain-name-servers 10.10.10.2;
    option subnet-mask        255.255.255.0;
    range dynamic-bootp        10.10.10.100 10.10.10.200;
    default-lease-time        21600;
    max-lease-time            43200;
    next-server                10.10.10.222;
    class "pxeclIEnts" {
          match if substring (option vendor-class-IDentifIEr,9) = "PXEClIEnt";
          if option pxe-system-type = 00:02 {
                  filename "ia64/elilo.efi";
          } else if option pxe-system-type = 00:06 {
                  filename "grub/grub-x86.efi";
          } else if option pxe-system-type = 00:07 {
                  filename "grub/grub-x86_64.efi";
          } else {
                  filename "pxelinux.0";
          }
    }
}
group {
}

挂载并导入数据:
[root@cobbler ~]# mount /dev/cdrom /mnt
mount: /dev/sr0 is write-protected,mounting read-only
[root@cobbler ~]# df -h
filesystem          Size  Used Avail Use% Mounted on
/dev/mapper/cl-root  50G  9.8G  41G  20% /
devtmpfs            1.9G    0  1.9G  0% /dev
tmpfs                1.9G  144K  1.9G  1% /dev/shm
tmpfs                1.9G  9.0M  1.9G  1% /run
tmpfs                1.9G    0  1.9G  0% /sys/fs/cgroup
/dev/mapper/cl-home  46G  36M  46G  1% /home
/dev/sda1          1014M  175M  840M  18% /boot
tmpfs                378M  12K  378M  1% /run/user/0
/dev/sr0            4.1G  4.1G    0 100% /mnt
[root@cobbler ~]# cobbler import --path=/mnt --name=CentOS-7.3 --arch=x86_64
task started: 2017-03-20_113200_import
task started (ID=Media import,time=Mon Mar 20 11:32:00 2017)
Found a candIDate signature: breed=redhat,version=rhel6
Found a candIDate signature: breed=redhat,version=rhel7
Found a matching signature: breed=redhat,version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64:
creating new distro: CentOS-7.3-x86_64
trying symlink: /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64 -> /var/www/cobbler/links/CentOS-7.3-x86_64
creating new profile: CentOS-7.3-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64 for CentOS-7.3-x86_64
processing repo at : /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64
looking for /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/repodata/*comps*.xml
KeePing repodata as-is :/var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/repodata
淫乱 TASK COMPLETE 淫乱

阐明:cobbler导入的镜像放在:/var/www/cobbler/ks_mirror

[root@cobbler ks_mirror]# pwd
/var/www/cobbler/ks_mirror
[root@cobbler ks_mirror]# ls
CentOS-7.3-x86_64  config

默认kickstart文件寄存位置:/var/lib/cobbler/kickstarts/

[root@cobbler ~]# cd /var/lib/cobbler/kickstarts/
[root@cobbler kickstarts]# ll
total 52
-rw-r--r-- 1 root root  115 Nov 17 03:09 default.ks
-rw-r--r-- 1 root root  22 Nov 17 03:09 esxi4-ks.cfg
-rw-r--r-- 1 root root  22 Nov 17 03:09 esxi5-ks.cfg
drwxr-xr-x 2 root root  56 Mar 20 10:39 install_profiles
-rw-r--r-- 1 root root 1424 Nov 17 03:09 legacy.ks
-rw-r--r-- 1 root root  292 Nov 17 03:09 pxerescue.ks
-rw-r--r-- 1 root root 2916 Nov 17 03:09 sample_autoyast.xml
-rw-r--r-- 1 root root 1825 Nov 17 03:09 sample_end.ks
-rw-r--r-- 1 root root    0 Nov 17 03:09 sample_esx4.ks
-rw-r--r-- 1 root root  324 Nov 17 03:09 sample_esxi4.ks
-rw-r--r-- 1 root root  386 Nov 17 03:09 sample_esxi5.ks
-rw-r--r-- 1 root root 1784 Nov 17 03:09 sample.ks
-rw-r--r-- 1 root root 3419 Nov 17 03:09 sample_old.seed
-rw-r--r-- 1 root root 5879 Nov 17 03:09 sample.seed
[root@cobbler ~]# cobbler List
distros:
  CentOS-7.3-x86_64
profiles:
  CentOS-7.3-x86_64
systems:
repos:
images:
mgmtclasses:
packages:
files:
[root@cobbler ~]# cobbler profile report
name                          : CentOS-7.3-x86_64
TFTP Boot files                : {}
Comment                        : 
DHCP Tag                      : default
distribution                  : CentOS-7.3-x86_64
Enable gPXE?                  : 0
Enable PXE Menu?              : 1
Fetchable files                : {}
Kernel Options                : {}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/sample_end.ks
Kickstart Metadata            : {}
Management Classes            : []
Management Parameters          : <<inherit>>
name Servers                  : []
name Servers Search Path      : []
Owners                        : ['admin']
Parent Profile                : 
Internal proxy                : 
Red Hat Management Key        : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server OverrIDe                : <<inherit>>
Template files                : {}
Virt auto Boot                : 1
Virt BrIDge                    : xenbr0
Virt cpus                      : 1
Virt disk Driver Type          : raw
Virt file Size(GB)            : 5
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm

查看cobbler profile的赞助:
[root@cobbler ~]# cobbler profile edit --help
Usage: cobbler [options]
Options:
  -h,--help            show this help message and exit
  --name=name          name (Ex: F10-i386-webserver)
  --uID=UID             
  --owners=OWNERS      Owners (Owners List for authz_ownership (space
                        delimited))
  --distro=disTRO      distribution (Parent distribution)
  --parent=PARENT      Parent Profile
  --enable-gpxe=ENABLE_GPXE
                        Enable gPXE? (Use gPXE instead of PXEliNUX for
                        advanced booting options)
  --enable-menu=ENABLE_MENU
                        Enable PXE Menu? (Show this profile in the PXE menu?)
  --kickstart=KICKSTART
                        Kickstart (Path to kickstart template)
  --kopts=KERNEL_OPTIONS
                        Kernel Options (Ex: selinux=permissive)
  --kopts-post=KERNEL_OPTIONS_POST
                        Kernel Options (Post Install) (Ex: clocksource=pit
                        noAPIc)
  --ksMeta=KS_Meta      Kickstart Metadata (Ex: dog=fang agent=86)
  --proxy=PROXY        Internal proxy (Internal proxy URL)
  --repos=REPOS        Repos (Repos to auto-assign to this profile)
  --comment=COMMENT    Comment (Free form text description)
  --virt-auto-boot=VIRT_auto_BOOT
                        Virt auto Boot (auto boot this VM?)
  --virt-cpus=VIRT_cpuS
                        Virt cpus (integer)
  --virt-file-size=VIRT_file_SIZE
                        Virt file Size(GB)
  --virt-disk-driver=VIRT_disK_DRIVER
                        Virt disk Driver Type (The on-disk format for the
                        virtualization disk)
  --virt-ram=VIRT_RAM  Virt RAM (MB)
  --depth=DEPTH         
  --virt-type=VIRT_TYPE
                        Virt Type (Virtualization technology to use) (valID
                        options: xenpv,xenfv,qemu,kvm,vmware,openvz,SETTINGS:d
                        efault_virt_type)
  --virt-path=VIRT_PATH
                        Virt Path (Ex: /directory OR VolGroup00)
  --virt-brIDge=VIRT_BRIDGE
                        Virt BrIDge
  --dhcp-tag=DHCP_TAG  DHCP Tag (See manpage or leave blank)
  --server=SERVER      Server OverrIDe (See manpage or leave blank)
  --ctime=CTIME         
  --mtime=MTIME         
  --name-servers=name_SERVERS
                        name Servers (space delimited)
  --name-servers-search=name_SERVERS_SEARCH
                        name Servers Search Path (space delimited)
  --mgmt-classes=MGMT_CLASSES
                        Management Classes (For external configuration
                        management)
  --mgmt-parameters=MGMT_ParaMETERS
                        Management Parameters (Parameters which will be handed
                        to your management application (Must be valID YAML
                        dictionary))
  --boot-files=BOOT_fileS
                        TFTP Boot files (files copIEd into tftpboot beyond the
                        kernel/initrd)
  --fetchable-files=FETCHABLE_fileS
                        Fetchable files (Templates for tftp or wget/curl)
  --template-files=TEMPLATE_fileS
                        Template files (file mapPings for built-in config
                        management)
  --redhat-management-key=REDHAT_MANAGEMENT_KEY
                        Red Hat Management Key (Registration key for RHN,
                        Spacewalk,or Satellite)
  --redhat-management-server=REDHAT_MANAGEMENT_SERVER
                        Red Hat Management Server (Address of Spacewalk or
                        Satellite Server)
  --template-remote-kickstarts=TEMPLATE_REMOTE_KICKSTARTS
  --clobber            allow add to overwrite existing objects
  --in-place            edit items in kopts or ksMeta without clearing the
                        other items

改动kickstart文件:

[root@cobbler ~]# cobbler profile edit --name=CentOS-7.3-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.3-x86_64.cfg

改动内核参数:

[root@cobbler ~]# cobbler profile edit --name=CentOS-7.3-x86_64 --kopts='net.ifnames=0 biosdevname=0'
[root@cobbler ~]# cobbler profile report
name                          : CentOS-7.3-x86_64
TFTP Boot files                : {}
Comment                        : 
DHCP Tag                      : default
distribution                  : CentOS-7.3-x86_64
Enable gPXE?                  : 0
Enable PXE Menu?              : 1
Fetchable files                : {}
Kernel Options                : {'biosdevname': '0','net.ifnames': '0'}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/CentOS-7.3-x86_64.cfg
Kickstart Metadata            : {}
Management Classes            : []
Management Parameters          : <<inherit>>
name Servers                  : []
name Servers Search Path      : []
Owners                        : ['admin']
Parent Profile                : 
Internal proxy                : 
Red Hat Management Key        : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server OverrIDe                : <<inherit>>
Template files                : {}
Virt auto Boot                : 1
Virt BrIDge                    : xenbr0
Virt cpus                      : 1
Virt disk Driver Type          : raw
Virt file Size(GB)            : 5
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm
[root@cobbler ~]# cobbler sync
task started: 2017-03-20_135014_sync
task started (ID=Sync,time=Mon Mar 20 13:50:14 2017)
running pre-sync triggers
cleaning trees
removing: /var/www/cobbler/images/CentOS-7.3-x86_64
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/grub/efIDefault
removing: /var/lib/tftpboot/images/CentOS-7.3-x86_64
removing: /var/lib/tftpboot/s390x/profile_List
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying files for distro: CentOS-7.3-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/CentOS-7.3-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/CentOS-7.3-x86_64/initrd.img
copying images
generating PXE configuration files
generating PXE menu structure
copying files for distro: CentOS-7.3-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/CentOS-7.3-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-7.3-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/CentOS-7.3-x86_64/initrd.img
Writing template files for CentOS-7.3-x86_64
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
processing boot_files for distro: CentOS-7.3-x86_64
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout: 
received on stderr: 
running: service dhcpd restart
received on stdout: 
received on stderr: Redirecting to /bin/systemctl restart  dhcpd.service
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
淫乱 TASK COMPLETE 淫乱

安装完的CentOS6:

@H_404_435@

cobbler的图形化管理界面(默认用户名cobbler,默认暗码cobbler):

弥补下,如果重启cobbler后发现dhcpd服务不能正常使用,很有可能是因为没设置自动启动

 [root@cobbler ~]# systemctl start dhcpd.service
 [root@cobbler ~]# systemctl enable dhcpd.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

相关附件可以到linux公社资源站下载:

------------------------------------------朋分线------------------------------------------

免费下载地址在 http://linux.linuxIDc.com/

用户名与暗码都是www.linuxIDc.com

具体下载目录在 /2017年材料/5月/26日/CentOS7下利用Cobbler安装部署CentOS/

下载办法见

------------------------------------------朋分线------------------------------------------

本文永远更新链接地址

欢迎参与《liNUX实 *** :CentOS7下利用Cobbler安装部署CentOS》讨论,分享您的想法,内存溢出PHP学院为您提供专业教程。

总结

以上是内存溢出为你收集整理的LINUX实 *** :CentOS7下利用Cobbler安装部署CentOS全部内容,希望文章能够帮你解决LINUX实 *** :CentOS7下利用Cobbler安装部署CentOS所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1041629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存