一种使用双槽CPU的服务器的制作方法

文档序号:26050383发布日期:2021-07-27 15:25阅读:150来源:国知局
一种使用双槽CPU的服务器的制作方法

本发明涉及计算机领域,更具体地,特别是指一种使用双槽cpu的服务器。



背景技术:

随着数据的指数级增长,企业和云提供商要求服务器和计算资源具有更高的性能,以便对大量数据进行实时分析。支持multi-host(多主机)技术的智能网卡能够实现性能的提升。例如智能网卡的pcie(快速外围组件互连拓展)接口如果是两个x8槽位,且这两个x8分别来自不同的cpu(中央处理器),这使得它能够在多个cpu处理器的内核间平衡网络通信的性能,并且减少开销。

现有技术中,数据中心服务器常用的配置是一个multi-socket(多槽cpu)主板和一个高速网卡。智能网卡一般采用pciex16槽位,socketdirect(直接套接拓扑)的服务器拓扑实现服务器中的每个cpu到网络的直接访问,从而提高了dual-socket(双槽cpu)服务器的性能。但现有技术的问题是:

(1)方案呆板,适配不灵活。dual-socket有2个cpu,每个cpu都有多个pciex16槽位,每个x16槽位理论上又可以出2个x8槽位,可能会衍生出几十种分配组合。上行pciex8没法根据设计需要灵活配置,只能在设计之初固定好用哪两个x8槽位,后期无法改动。如果可以通过线缆实现不同x8槽位的选通会灵活一些,但是随之而来的是线缆种类成倍增加和走线难题。

(2)维护困难。在已有的方案基础上,如果可以通过线缆调整到其他方案,需要维护人员停机、重新配置接线。

(3)配置资源浪费。multi-host的智能网卡占用了x16的pcie槽位,如果不支持multi-host的其它x16外插设备接入进来,也有可能导致外插设备工作异常。如果弃用该槽位,无疑是一种大的配置浪费。当该服务器中需要支持多个智能网卡时,这种配置浪费会进一步加剧。

(4)串行通路可靠性低。如果关键领域服务器搭配一张智能网卡,当某x8链路异常时,整个链路都没法继续使用,提高整机更换概率。

针对现有技术中socketdirect服务器适配死板、维护困难、资源浪费、鲁棒性低的问题,目前尚无有效的解决方案。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种使用双槽cpu的服务器和使用双槽cpu的服务器,能够提升socketdirect拓扑在实际应用中的适配能力和可用性,同时降低维护成本和设备资源浪费。

基于上述目的,本发明实施例的第一方面提供了一种使用双槽cpu的服务器,包括:

多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;

pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;

第一pcie插接板,通过两个pciex8通道连接到pcie切换器;

第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;

基板管理控制器,连接到pcie切换器和第一pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板。

在一些实施方式中,多个双槽cpu之间通过处理器间通信总线相互连接。

在一些实施方式中,pcie切换器还通过两个pciex8通道连接到另一服务器。

在一些实施方式中,基板管理控制器通过i2c总线和/或gpio总线连接到pcie切换器和第一pcie插接板。

在一些实施方式中,基板管理控制器配置为若从第一pcie插接板接收到已插接第一智能网卡的在位信号,确认所述第一智能网卡在位,其中第一智能网卡兼容直接套接拓扑。

在一些实施方式中,pcie切换器中存储有固件,基板管理控制器配置为向pcie切换器发送第一固件配置以使得pcie切换器的固件控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板。

本发明实施例的第二方面提供了一种使用双槽cpu的服务器,包括:

多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;

pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;

第一pcie插接板,通过两个pciex8通道连接到pcie切换器;

第二pcie插接板,通过两个pciex8通道连接到pcie切换器;

第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;

第二智能网卡,通过两个pciex8通道连接到第二pcie插接板,同时通过外部接口连接到外部网络;

基板管理控制器,连接到pcie切换器、第一pcie插接板和第二pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡和第二智能网卡在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板和第二pcie插接板。

在一些实施方式中,基板管理控制器配置为若从第二pcie插接板接收到已插接第二智能网卡的在位信号,确认所述第二智能网卡在位,其中第二智能网卡兼容直接套接拓扑;pcie切换器中存储有固件,基板管理控制器配置为向pcie切换器发送第一固件配置以使得pcie切换器的固件控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第二pcie插接板。

本发明实施例的第三方面提供了一种使用双槽cpu的服务器,包括:

多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;

pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;

第一pcie插接板,通过两个pciex8通道连接到pcie切换器;

第二pcie插接板,通过两个pciex8通道连接到pcie切换器;

第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;

第二外部设备,通过一个pciex16通道连接到第二pcie插接板,同时通过外部接口连接到外部网络;

基板管理控制器,连接到pcie切换器、第一pcie插接板和第二pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡和第二外部设备在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板,同时控制pcie切换器将来自同一个双槽cpu的两个pciex8通道合并作为一个pciex16通道导通到第二pcie插接板。

在一些实施方式中,基板管理控制器配置为若从第二pcie插接板接收到已插接第二外部设备的在位信号,确认所述第二外部设备在位,其中第二外部设备不兼容直接套接拓扑;pcie切换器中存储有固件,基板管理控制器配置为向pcie切换器发送第二固件配置以使得pcie切换器的固件控制pcie切换器将来自同一个双槽cpu的两个pciex8通道合并作为一个pciex16通道导通到第二pcie插接板。

本发明具有以下有益技术效果:本发明实施例提供的使用双槽cpu的服务器,通过使用多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;第一pcie插接板,通过两个pciex8通道连接到pcie切换器;第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;基板管理控制器,连接到pcie切换器和第一pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板的技术方案,能够提升socketdirect拓扑在实际应用中的适配能力和可用性,同时降低维护成本和设备资源浪费。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的使用双槽cpu的服务器一个实施例的电路原理图;

图2为本发明提供的使用双槽cpu的服务器另一实施例的电路原理图;

图3为本发明提供的使用双槽cpu的服务器又一实施例的电路原理图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明实施例的第一个方面,提出了一种提升socketdirect拓扑在实际应用中的适配能力和可用性,同时降低维护成本和设备资源浪费的使用双槽cpu的服务器的一个实施例。图1示出的是本发明提供的使用双槽cpu的服务器的电路原理图。

所述的使用双槽cpu的服务器如图1所示包括:

多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;

pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;

第一pcie插接板,通过两个pciex8通道连接到pcie切换器;

第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;

基板管理控制器,连接到pcie切换器和第一pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板。

在一些实施方式中,多个双槽cpu之间通过处理器间通信总线相互连接。

在一些实施方式中,pcie切换器还通过两个pciex8通道连接到另一服务器。

在一些实施方式中,基板管理控制器通过i2c总线和/或gpio总线连接到pcie切换器和第一pcie插接板。

在一些实施方式中,基板管理控制器检测到第一智能网卡在位包括:基板管理控制器配置为若从第一pcie插接板接收到已插接第一智能网卡的在位信号,确认所述第一智能网卡在位,其中第一智能网卡兼容直接套接拓扑。

在一些实施方式中,基板管理控制器控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板包括:pcie切换器中存储有固件,基板管理控制器配置为向pcie切换器发送第一固件配置以使得pcie切换器的固件控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板。

下面根据图1所示的具体实施例进一步阐述本发明的具体实施方式。

智能网卡的核心是通过fpga(现场可编程门阵列)协助cpu处理网络负载,编程网络接口功能。智能网卡通过fpga本地化编程可以支持数据面和控制面功能定制,协助cpu处理网络负载。智能网卡通常包含多个端口和内部交换机,快速转发数据并基于网络数据包、应用程序套接字等智能映射到相关应用程序,同时还检测和管理网络流量。

智能网卡也能够提升应用程序和虚拟化性能,实现软件定义网络(sdn)和网络功能虚拟化(nfv)的诸多优势,将网络虚拟化、负载均衡和其他低级功能从服务器cpu中移除,确保为应用提供最大的处理能力。与此同时,智能网卡还能够提供分布式计算资源,使得用户可以开发自己的软件或提供接入服务,从而加速特定应用程序。

对于智能网卡而言,在传统的dual-socket服务器中,通常只连接到其中本地cpu的pcie插槽。如果远程cpu需要访问网络,则必须穿过处理器间通信总线,进入本地cpu后再到达智能网卡,然后继续再访问外部网络。当数据密集型应用程序在不同的cpu上竞争访问单个网络设备时,这种拓扑可能会出现性能瓶颈。

相反地,dual-socket服务器中的远程cpu不再需要通过cpu间的互联总线,可以直接与智能网卡通过pcie总线互联。这种拓扑下,每个pciex8通道都可以直连服务器中的cpu,每个cpu到网络的直接连接意味着互连可以绕过cpu间互联总线和另一cpu,从而优化性能和改进延迟。正是这种socketdirect拓扑带来了较低的延迟,使得cpu利用率也得到了提高,因为每个cpu只处理自己的流量,而不处理来自另一个cpu的流量,发挥了智能网卡的优势,最大限度地提高数据中心的投资回报。

这种采用socketdirect拓扑的实现方式,其上行两个pciex8分别来自dual-socket服务器的两个不同cpu,而dual-socket服务器的每个cpu会有多个pcie槽位。这就需要开发人员在设计之初就预留好来自不同cpu的pciex8线路给到同一张pcie插接板。预留的方式可以通过固定的pcie槽位经过主板走线到pcie插接板,或者选择预留某些pcie槽位到连接器,然后连接线缆来到pcie插接板。智能网卡通过pcie金手指接到pcie插接板上,从而实现与不同cpu的两路pciex8槽位的交互。pcie插接板仅是一个结构上的转接卡,它可以直接或者通过线缆与服务器主板相连,将pcie信号通过pciex16槽位传递给智能网卡。如果智能网卡上行支持线缆接入pcie,形式上它也可以被线缆代替。

还有一种带adapter(适配器)的dual-socket服务器的socketdirect系统方案。其采用socketdirect拓扑的实现方式,上行两个pciex8分别来自dual-socket服务器的两个不同cpu。其中一个cpu直接与pcie插接板互联,另一个cpu通过直连cpu适配卡(socketdirectadapter)与pcie插接板的另一路pciex8接口连接。智能网卡通过pcie金手指接到pcie插接板上,从而实现与不同cpu的两路pciex8槽位的交互。由于采用直连cpu适配卡可以占用服务器上一个通用的pcie槽位,大大提高了该拓扑的兼容性。直连cpu适配卡拥有一个nic(智能网卡),上行通过pciex8槽位与cpu连接,下行通过连接器、线缆与智能网卡连接,可以作为cpu与智能网卡之间的信号桥接。它可以给multi-socket服务器带来的一个关键好处是消除了通过多cpu的内部总线的网络通信量,从而显著减少了cpu开销和延迟。

然而,上述两方案存在以下问题:

(1)方案呆板,适配不灵活。dual-socket有2个cpu,每个cpu都有多个pciex16槽位,每个x16槽位理论上又可以出2个x8槽位,可能会衍生出几十种分配组合。上行pciex8没法根据设计需要灵活配置,只能在设计之初固定好用哪两个x8槽位,后期无法改动。如果可以通过线缆实现不同x8槽位的选通会灵活一些,但是随之而来的是线缆种类成倍增加和走线难题。

(2)维护困难。在已有的方案基础上,如果可以通过线缆调整到其他方案,需要维护人员停机、重新配置接线。

(3)配置资源浪费。multi-host的智能网卡占用了x16的pcie槽位,如果不支持multi-host的其它x16外插设备接入进来,也有可能导致外插设备工作异常。如果弃用该槽位,无疑是一种大的配置浪费。当该服务器中需要支持多个智能网卡时,这种配置浪费会进一步加剧。

(4)串行通路可靠性低。如果关键领域服务器搭配一张智能网卡,当某x8链路异常时,整个链路都没法继续使用,提高整机更换概率。

相对于此,本发明在socketdirect拓扑的基础上,进一步提出一种自适应多主智能网卡的服务器拓扑。它可兼容传统和socketdirect两种拓扑,采用bmc识别智能网卡在位和类型后,运用pcieswitch(pcie切换器)灵活切换上下行pcie通道,从而自适应适配智能网卡的multi-host技术,具有方案灵活、维护方便、易于扩展等优点,是性能和投资成本之间的良好选择。

参见图1,本发明实施例采用socketdirect拓扑的实现方式,上行多个pciex8分别来自dual-socket服务器的两个cpu(例如每个cpu出2个pciex8)。两个pciex8接入到pcieswitch(可以搭配在主板上或者是pcie外插卡)。pcieswitch可以根据定义的固件配置,将下行的pcie灵活配置。例如2个pciex8可以来自不同的两个cpu,也可以来自相同的两个cpu。组成pciex8x8给到pcie插接板。如果是multi-host智能网卡通过pcie金手指接到pcie插接板上,从而实现与不同cpu的两路pciex8槽位的交互;如果不支持multi-host的外插设备通过pcie金手指接到另一组pcie槽位上,也可以实现pciex16的交互。根据pcieswitch上行打开的pcie通道数量,可以兼容多个multi-host智能网卡设备,灵活满足各种服务器拓扑配置所需。该拓扑中,bmc先通过i2c或者gpio连接到pcie插接板上,通过识别接入设备的在位和类型来识别是否是满足multi-host智能网卡;如果是,bmc通过i2c总线告知pcieswitch,pcieswitch配置寄存器识别到下行哪两个x8槽位已经接入了智能网卡,就会加载对应的固件配置,从而自动使能两个不同cpu的2个x8pcie连接到该下行链路上。如果需要,pcieswitch还可以将两个pciex8槽位接到另一台服务器的pcieswitch上,实现更大的跨域的fabric互联,接入更多cpu或者智能网卡设备。

在工作流程上,bmc先通过i2c或者gpio连接到pcie插接板上,通过识别接入设备的在位和类型来识别是否是满足multi-host智能网卡bmc读取网卡类型是否为pciex8x8;(pcie协议定义:x16槽位上的b82管脚的电平用于指示当前智能网卡是需要工作在pciex8x8,支持multi-host;a32/a33管脚用于提供pcielane15-8的时钟信号;a50管脚用于提供pcielane15-8的复位信号)。如果是,bmc通过i2c总线告知pcieswitch,pcieswitch配置寄存器识别到下行哪两个x8槽位已经接入了智能网卡,就会加载对应的固件配置,从而自动使能两个不同cpu的2个x8pcie连接到该下行链路上。如果不支持multi-host,bmc告知pcieswitch为非directsocket,分配同一个cpu的两个x8槽位给到下行2个x8pcie链路上。由此,智能网卡完成pcie链路初始化。

从上述实施例可以看出,本发明实施例提供的使用双槽cpu的服务器,使用多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;第一pcie插接板,通过两个pciex8通道连接到pcie切换器;第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;基板管理控制器,连接到pcie切换器和第一pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板的技术方案,能够提升socketdirect拓扑在实际应用中的适配能力和可用性,同时降低维护成本和设备资源浪费。

基于上述目的,本发明实施例的第二个方面,提出了一种提升socketdirect拓扑在实际应用中的适配能力和可用性,同时降低维护成本和设备资源浪费的使用双槽cpu的服务器的一个实施例。

所述的使用双槽cpu的服务器如图2所示包括:

多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;

pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;

第一pcie插接板,通过两个pciex8通道连接到pcie切换器;

第二pcie插接板,通过两个pciex8通道连接到pcie切换器;

第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;

第二智能网卡,通过两个pciex8通道连接到第二pcie插接板,同时通过外部接口连接到外部网络;

基板管理控制器,连接到pcie切换器、第一pcie插接板和第二pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡和第二智能网卡在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板和第二pcie插接板。

在一些实施方式中,基板管理控制器检测到第二智能网卡在位包括:基板管理控制器配置为若从第二pcie插接板接收到已插接第二智能网卡的在位信号,确认所述第二智能网卡在位,其中第二智能网卡兼容直接套接拓扑;基板管理控制器控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第二pcie插接板包括:pcie切换器中存储有固件,基板管理控制器配置为向pcie切换器发送第一固件配置以使得pcie切换器的固件控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第二pcie插接板。

从上述实施例可以看出,本发明实施例提供的使用双槽cpu的服务器,使用多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;第一pcie插接板,通过两个pciex8通道连接到pcie切换器;第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;基板管理控制器,连接到pcie切换器和第一pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板的技术方案,能够提升socketdirect拓扑在实际应用中的适配能力和可用性,同时降低维护成本和设备资源浪费。

基于上述目的,本发明实施例的第三个方面,提出了一种提升socketdirect拓扑在实际应用中的适配能力和可用性,同时降低维护成本和设备资源浪费的使用双槽cpu的服务器的一个实施例。

所述的使用双槽cpu的服务器如图3所示包括:

多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;

pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;

第一pcie插接板,通过两个pciex8通道连接到pcie切换器;

第二pcie插接板,通过两个pciex8通道连接到pcie切换器;

第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;

第二外部设备,通过一个pciex16通道连接到第二pcie插接板,同时通过外部接口连接到外部网络;

基板管理控制器,连接到pcie切换器、第一pcie插接板和第二pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡和第二外部设备在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板,同时控制pcie切换器将来自同一个双槽cpu的两个pciex8通道合并作为一个pciex16通道导通到第二pcie插接板。

在一些实施方式中,基板管理控制器检测到第二外部设备在位包括:基板管理控制器配置为若从第二pcie插接板接收到已插接第二外部设备的在位信号,确认所述第二外部设备在位,其中第二外部设备不兼容直接套接拓扑;基板管理控制器控制pcie切换器将来自同一个双槽cpu的两个pciex8通道合并作为一个pciex16通道导通到第二pcie插接板包括:pcie切换器中存储有固件,基板管理控制器配置为向pcie切换器发送第二固件配置以使得pcie切换器的固件控制pcie切换器将来自同一个双槽cpu的两个pciex8通道合并作为一个pciex16通道导通到第二pcie插接板。

从上述实施例可以看出,本发明实施例提供的使用双槽cpu的服务器,使用多个双槽cpu,每个双槽cpu具有至少两个pciex8插槽;pcie切换器,具有多个pciex8插槽,pcie切换器通过不同的pciex8通道分别连接到多个双槽cpu的两个pciex8插槽;第一pcie插接板,通过两个pciex8通道连接到pcie切换器;第一智能网卡,通过两个pciex8通道连接到第一pcie插接板,同时通过外部接口连接到外部网络;基板管理控制器,连接到pcie切换器和第一pcie插接板,基板管理控制器配置为响应于检测到第一智能网卡在位而控制pcie切换器将来自两个不同的双槽cpu的pciex8通道导通到第一pcie插接板的技术方案,能够提升socketdirect拓扑在实际应用中的适配能力和可用性,同时降低维护成本和设备资源浪费。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1