磁盘分区扩容方法、装置及服务端与流程

文档序号:17078242发布日期:2019-03-08 23:57阅读:143来源:国知局
本公开涉及存储
技术领域
:,具体而言,涉及一种磁盘分区扩容方法、装置及服务端。
背景技术
::lvm(logicalvolumemanager,逻辑卷管理)是linux环境下对磁盘分区进行管理的一种机制,用户在无需停机的情况下可以方便地调整各个分区大小。目前,当服务器、个人电脑(personalcomputer,pc)等设备的磁盘空间不足时,需系统管理员手动输入命令来一步一步增加磁盘资源,而且还需要查阅大量资料才能知道这些命令或者工具,一旦误操作可能导致原系统的崩溃。linux的逻辑卷管理功能,虽然在无需停机的情况下可以方便地调整各个分区大小,提高磁盘分区管理的灵活性,但是需要管理员手动进行命令操作,且管理员需要了解逻辑卷管理的功能,从而对管理员的命令操作提出了较高要求,限制了非专业人士的使用。技术实现要素:本公开的目的在于提供一种磁盘分区扩容方法、装置及服务端,以实现磁盘分区的自动化扩容。为了实现上述目的,本公开采用的技术方案如下:第一方面,本公开提出一种磁盘分区扩容方法,应用于服务端,所述服务端与远端设备通信连接,所述方法包括:向所述远端设备发送磁盘剩余容量获取指令;接收所述远端设备依据所述磁盘剩余容量获取指令发送的磁盘分区的剩余空间容量;若有磁盘分区的剩余空间容量不足,向所述远端设备发送磁盘分区扩容指令以使剩余空间容量不足的磁盘分区被扩容,所述磁盘分区的剩余空间容量不足是指该磁盘分区的剩余空间容量低于预设阈值。第二方面,本公开还提出一种磁盘分区扩容装置,应用于服务端,所述服务端与远端设备通信连接,所述装置包括:容量获取指令发送模块,用于向所述远端设备发送磁盘剩余容量获取指令;容量接收模块,用于接收所述远端设备依据所述磁盘剩余容量获取指令发送的磁盘分区的剩余空间容量;扩容指令发送模块,用于当有磁盘分区的剩余空间容量不足时,向所述远端设备发送磁盘分区扩容指令以使剩余空间容量不足的磁盘分区被扩容,所述磁盘分区的剩余空间容量不足是指该磁盘分区的剩余空间容量低于预设阈值。第三方面,本公开还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时实现上述第一方面所述的方法。第四方面,本公开还提出一种服务端,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现上述第一方面所述的方法。相对现有技术,本公开具有以下有益效果:本公开所提供的磁盘分区扩容方法、装置及服务端,服务端向所述远端设备发送磁盘剩余容量获取指令,接收所述远端设备依据所述磁盘剩余容量获取指令发送的磁盘分区的剩余空间容量,当有磁盘分区的剩余空间容量不足时,向所述远端设备发送磁盘分区扩容指令以使剩余空间容量不足的磁盘分区被扩容,其中,磁盘分区的剩余空间容量不足是指该磁盘分区的剩余空间容量低于预设阈值。即服务端通过远程判断远端设备上各个磁盘分区的剩余空间容量,当空间容量不满足业务要求时,通过远程发送磁盘分区扩容指令使剩余空间容量不足的磁盘分区自动被扩容,解决了磁盘资源占用不合理的问题,整个过程无需系统管理员手动操作命令,提升了磁盘分区扩容的效率,实现了动态扩展磁盘分区容量的技术效果。本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本公开所提供的磁盘分区扩容方法及装置的应用环境示意图。图2示出了本公开所提供的服务端的结构框图。图3示出了本公开所提供的磁盘分区扩容方法的一种流程示意图。图4示出了本公开所提供的磁盘分区扩容方法的另一种流程示意图。图5示出了本公开所提供的磁盘分区扩容装置的功能模块示意图。图标:100-服务端;200-远端设备;300-网络;400-磁盘分区扩容装置;110-存储器;120-处理器;130-通信接口;410-容量获取指令发送模块;420-容量接收模块;430-扩容指令发送模块;440-标识信息发送模块;450-解决方案确定模块;460-报表生成模块。具体实施方式下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。请参照图1,为本公开所提供的磁盘分区扩容方法及装置的应用环境示意图。服务端100通过网络300与一个或多个远端设备200通信连接,以实现服务端100与一个或多个远端设备200之间的数据通信或交互。在本实施例中,服务端100可对该一个或多个远端设备200上的磁盘资源占用情况进行监测,通过定时收集远端设备200的磁盘资源占用情况并分析是否需要增加或删减磁盘资源,从而实现对该一个或多个远端设备200上的磁盘资源的远程动态管理。在本实施例中,该服务端100可以是,但不限于,网络服务器、数据库服务器、云端服务器等;该远端设备200可以是虚拟机,也可以是运行有虚拟机的实体设备,例如个人电脑(personalcomputer,pc)、服务器等,该远端设备200的操作系统(operatingsystem,os)优选为linux操作系统,并采用lvm机制对磁盘分区进行管理,用户在无需远端设备200停机的情况下可以很方便地调整各个磁盘分区的大小。如图2所示,为本公开所提供的服务端100的结构框图。服务端100可以包括存储器110、处理器120和通信接口130,该存储器110、处理器120和通信接口130,各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器110可用于存储软件程序及模块,如本公开所提供的磁盘分区扩容方法及装置对应的程序指令/模块,处理器120通过执行存储在存储器110内的软件程序及模块,从而执行各种功能应用以及数据处理。该通信接口130可用于与其他节点设备进行信令或数据的通信。其中,存储器110可以是但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。处理器120可能是一种集成电路芯片,具有信号处理能力。该处理器120可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(dsp))、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以理解,图2所示的结构仅为示意,服务端100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器120执行时实现本公开揭示的磁盘分区扩容方法。请参照图3,为本公开所提供的磁盘分区扩容方法的流程示意图。需要说明的是,本公开所述的磁盘分区扩容方法并不以图3以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开所述的磁盘分区扩容方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该磁盘分区扩容方法可应用于上述的服务端100,下面将对图3所示的具体流程进行详细阐述。步骤s101,向所述远端设备200发送磁盘剩余容量获取指令。在本实施例中,该磁盘剩余容量获取指令的发送方式为周期性发送,即服务端100周期性地向远端设备200发送磁盘剩余容量获取指令,远端设备200在接收到该磁盘剩余容量获取指令时,则将各个磁盘分区的剩余空间容量反馈给服务端100。需要说明的是,在本实施例中,该磁盘分区可理解为lvm中的逻辑卷(logicalvolume,lv),是从卷组(volumegroup,vg)中划分的一些逻辑分区,其大小可以动态改变。例如,当一个逻辑分区的空间不够用时,可以从卷组的剩余空间中划分一些空间给空间不够用的逻辑分区使用。步骤s102,接收所述远端设备200依据所述磁盘剩余容量获取指令发送的磁盘分区的剩余空间容量。在本实施例中,服务端100通过定时收集远端设备200反馈的各个磁盘分区的剩余空间容量,来对远端设备200的磁盘资源占用情况进行监测,以便判断远端设备200的磁盘资源是否足够。步骤s103,若有磁盘分区的剩余空间容量不足,向所述远端设备200发送磁盘分区扩容指令以使剩余空间容量不足的磁盘分区被扩容,所述磁盘分区的剩余空间容量不足是指该磁盘分区的剩余空间容量低于预设阈值。在本实施例中,服务端100内预先设定有磁盘分区的空间容量不足的临界值(即上述的预设阈值),当某个磁盘分区的剩余空间容量低于预设阈值时,则判断该磁盘分区的空间不足;当不存在磁盘分区的剩余空间容量低于预设阈值时,则判断该磁盘分区的空间充足,继续收集远端设备200上的磁盘资源占用情况。该步骤s103具体包括:若有磁盘分区的剩余空间容量不足,根据剩余空间容量不足的磁盘分区的磁盘格式向所述远端设备200发送对应的磁盘分区扩容指令,所述磁盘格式包括qcow2格式和raw格式。即当服务端100判断某个磁盘分区的剩余空间容量低于预设阈值时,则准备对该磁盘分区进行扩容,扩容前需要判断磁盘格式,根据不同的磁盘格式向远端设备200发送不同的磁盘分区扩容指令以使该磁盘分区被扩容。需要说明的是,在本实施例中,当远端设备200为虚拟机时,则该虚拟机在接收到该磁盘分区扩容指令时,通过与虚拟机所在的硬件设备(例如,服务器)进行交互,最终由该硬件设备执行该磁盘分区扩容指令,从而对该磁盘分区进行扩容;当远端设备200为实体设备时,则该实体设备在接收到该磁盘分区扩容指令时,根据该磁盘分区扩容指令可确定需要扩容的虚拟机中的磁盘分区,并通过执行该磁盘分区扩容指令对该磁盘分区进行扩容。下面,给出一个实例,以对服务端100向远端设备200发送磁盘分区扩容指令的过程进行详细说明。服务端100在查看到磁盘分区的磁盘格式为qcow2格式时,扩容操作的步骤可包括:1、向远端设备200发送扩展磁盘空间的指令(例如,“#qemu-imgresizevm1.qcow2+10g”)以将原磁盘大小扩展10g;2、向远端设备200发送启动虚拟机的指令(例如,“#virshstartvm1”);3、开始分区并重读分区表;4、通过向远端设备200发送指令“#pvcreate/dev/sdb1”创建物理卷(physicalvolume,pv),发送指令“#vgextendvolgroup01/dev/sdb1”将创建的物理卷“/dev/sdb1”加入卷组“volgroup01”,发送指令“#lvextend-l10g-nlv01volgroup01”以将逻辑卷“lv01”的容量扩展10g,远端设备200通过执行这些磁盘分区扩容指令实现磁盘分区的扩容。服务端100在查看到磁盘分区的磁盘格式为raw格式时,扩容操作的步骤可包括:1、创建物理卷,例如,向远端设备200发送指令“#pvcreate/dev/sdb1”;2、使用新增的物理卷扩展原本资源不足的物理卷,即为卷组增加新的物理卷,例如,向远端设备200发送指令“#vgextendvolgroup01/dev/sdb1”,其中,“/dev/sdb1”为新增的物理卷;3、扩展逻辑卷,例如,远端设备200发送指令“#lvextend-l10g-nlv01volgroup01”以将逻辑卷“lv01”的容量扩展10g”;4、对文件系统进行扩容,从而实现磁盘分区的扩容。需要说明的是,磁盘分区扩展的容量可以通过删减其他逻辑分区过剩的资源或者从磁盘上的未分配空间获得,也可以通过增加新磁盘获得,本公开对此不做限制。可见,服务端100通过定时收集远端设备200上的磁盘资源占用情况并判断远端设备200上各个磁盘分区的剩余空间容量不满足业务要求时,通过远程发送磁盘分区扩容指令使剩余空间容量不足的磁盘分区被扩容,实现动态改变磁盘分区大小;当远端设备200有多个时,服务端100能够对该多个远端设备200的磁盘资源占用情况进行监测,从而对多个远端设备200的磁盘分区进行自动化扩容,简化了操作过程,提升了扩容效率。进一步地,如图4所示,所述磁盘分区扩容方法还包括:步骤s104,当所述剩余空间容量不足的磁盘分区扩容成功时,向所述远端设备200返回预设标识,以便所述远端设备200依据所述预设标识确定所述剩余空间容量不足的磁盘分区已被成功扩容。在本实施例中,当服务端100判断该剩余空间容量不足的磁盘分区的扩容成功时,则向远端设备200返回预设标识,远端设备200接收到该预设标识,可确定该磁盘分区扩容成功。步骤s105,当所述剩余空间容量不足的磁盘分区扩容失败时,根据所述远端设备200的反馈信息从预设的多个解决方案中确定目标解决方案,并依据所述目标解决方案使所述剩余空间容量不足的磁盘分区重新被扩容。在本实施例中,服务端100中预先存储有常见的扩容失败的原因以及对应的解决方案,服务端100根据远端设备200的反馈信息查找扩容失败的原因,进而根据失败原因确定出对应的目标解决方案。例如,当远端设备200的反馈信息为“re-readingthepartitiontablefailedwitherror22:invalidargument”,则可以确定扩容失败的原因是还有进程占用磁盘,其对应的解决方案为通过指令“lsof”检查占用进程,然后使用指令“kill”中止这些进程;当确定失败原因为os不支持lvm时,其对应的解决方案为更换支持lvm的os;当扩容时未先进行umount分区操作,导致扩容不成功时,其对应的解决方案为:通过指令“mke2fs–n/dev/hba1找到超级块所在位置”;通过指令“e2fsck–b32768/dev/hba1”修复超级块,其中“/dev/hba1”为设备名称,“32768”为超级块所在位置;当扩容时对原有的扩展分区进行操作出现错误时,其对应的解决方案为在操作扩展分区前查看扩展分区的具体分区情况,若包含多个逻辑分区则停止操作。当服务端100从上述的多个解决方案中确定出目标解决方案时,根据该目标解决方案向远端设备200发送指令,重新对磁盘分区进行扩容,即本实施例中增加了重试机制,在对磁盘分区扩容失败时,会依据确定的目标解决方案重新进行磁盘分区的扩容。进一步地,当剩余空间容量不足的磁盘分区重新被扩容之后,所述磁盘分区扩容方法还包括:步骤s106,生成所述剩余空间容量不足的磁盘分区扩容失败的原因分析报表并将所述原因分析报表发送至所述远端设备200。在本实施例中,服务端100在每次对磁盘分区的扩容失败时,会根据远端设备200的反馈信息查找扩容失败的原因生成原因分析报表,并将原因分析报表反馈至远端设备200,以便用户查看。进一步地,在本实施例中,服务端100在接收到远端设备200发送的磁盘分区的剩余空间容量之后,所述磁盘分区扩容方法还包括:步骤s107,根据所述磁盘分区的剩余空间容量生成容量分析报表。可以理解,该步骤s107可以在步骤s103~s106中的任意一个步骤之前或任意一个步骤之后执行,也可以与步骤s103~s106中的任意一个步骤同事执行,本申请对此不做限制。也即是说,无论远端设备200上的磁盘分区是否需要扩展容量,服务端100都会生成相应的容量分析报表并输出,以便用户查看一个或多个远端设备200上的磁盘资源占用情况。请参照图5,为本公开所提供的磁盘分区扩容装置400的功能模块示意图。需要说明的是,本实施例所提供的磁盘分区扩容装置400,其基本原理及产生的技术效果与前述方法实施例相同,为简要描述,本实施例中未提及部分,可参考前述方法实施例中的相应内容。所述磁盘分区扩容装置400包括容量获取指令发送模块410、容量接收模块420、扩容指令发送模块430、标识信息发送模块440、解决方案确定模块450及报表生成模块460。可以理解,上述的容量获取指令发送模块410、容量接收模块420、扩容指令发送模块430、标识信息发送模块440、解决方案确定模块450及报表生成模块460可以为存储于存储器110或固化在服务端100的操作系统中的软件功能模块及计算机程序,并且可以被处理器120执行。该容量获取指令发送模块410用于向所述远端设备200发送磁盘剩余容量获取指令。可以理解,该容量获取指令发送模块410可以执行上述步骤s101。该容量接收模块420用于接收所述远端设备200依据所述磁盘剩余容量获取指令发送的磁盘分区的剩余空间容量。可以理解,该容量接收模块420可以执行上述步骤s102。该扩容指令发送模块430用于当有磁盘分区的剩余空间容量不足时,向所述远端设备200发送磁盘分区扩容指令以使剩余空间容量不足的磁盘分区被扩容,所述磁盘分区的剩余空间容量不足是指该磁盘分区的剩余空间容量低于预设阈值。在本实施例中,该扩容指令发送模块430具体用于当有磁盘分区的剩余空间容量不足时,根据剩余空间容量不足的磁盘分区的磁盘格式向所述远端设备200发送对应的磁盘分区扩容指令,所述磁盘格式包括qcow2格式和raw格式。可以理解,该扩容指令发送模块430可以执行上述步骤s103。该标识信息发送模块440用于当对所述剩余空间容量不足的磁盘分区扩容成功时,向所述远端设备200返回预设标识,以便所述远端设备200依据所述预设标识确定所述剩余空间容量不足的磁盘分区已被成功扩容。可以理解,该标识信息发送模块440可以执行上述步骤s104。该解决方案确定模块450用于当所述剩余空间容量不足的磁盘分区扩容失败时,根据所述远端设备200的反馈信息从预设的多个解决方案中确定目标解决方案,并依据所述目标解决方案使所述剩余空间容量不足的磁盘分区重新被扩容。可以理解,该解决方案确定模块450可以执行上述步骤s105。该报表生成模块460用于在解决方案确定模块450依据所述目标解决方案使剩余空间容量不足的磁盘分区重新被扩容后,生成所述剩余空间容量不足的磁盘分区扩容失败的原因分析报表并将所述原因分析报表发送至所述远端设备200。该报表生成模块460还用于在服务端100接收到远端设备200发送的磁盘分区的剩余空间容量后,根据所述磁盘分区的剩余空间容量生成容量分析报表。可以理解,该报表生成模块460可以执行上述步骤s106及步骤s107。综上所述,本公开所提供的磁盘分区扩容方法、装置及服务端,服务端向所述远端设备发送磁盘剩余容量获取指令,并接收所述远端设备依据所述磁盘剩余容量获取指令发送的磁盘分区的剩余空间容量,当有磁盘分区的剩余空间容量不足时,向所述远端设备发送磁盘分区扩容指令以使剩余空间容量不足的磁盘分区被扩容。如此,服务端通过判断远端设备上各个磁盘分区的剩余空间容量,可远程对各个磁盘分区的容量进行扩展或删减,实现磁盘资源的动态管理及自动化扩容,解决磁盘资源占用不合理的问题,整个过程无需系统管理员手动操作命令,简化了操作过程,对系统管理员的要求低,提升了扩容效率。本领域内的技术人员应明白,本公开可提供为方法、装置、设备或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本公开是参照根据本公开的方法、装置、设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本公开的可选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1