AIX学习日志.docx

上传人:b****6 文档编号:5363368 上传时间:2022-12-15 格式:DOCX 页数:15 大小:29.34KB
下载 相关 举报
AIX学习日志.docx_第1页
第1页 / 共15页
AIX学习日志.docx_第2页
第2页 / 共15页
AIX学习日志.docx_第3页
第3页 / 共15页
AIX学习日志.docx_第4页
第4页 / 共15页
AIX学习日志.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

AIX学习日志.docx

《AIX学习日志.docx》由会员分享,可在线阅读,更多相关《AIX学习日志.docx(15页珍藏版)》请在冰豆网上搜索。

AIX学习日志.docx

AIX学习日志

aix学习日志

(一)之存储组件!

存储组件一般包括文件,目录,文件系统,逻辑存储,物理存储,逻辑卷管理器。

一般来说,用户使用文件和目录,系统管理员使用其他构件。

传统上,磁盘空间划分是用分区来实现的。

用户必须事先确定各个分区的大小。

每个文件系统位于一个分区中。

改变文件系统和分区的大小过程繁杂且耗时:

备份文件系统,删除分区,建立新分区并恢复文件系统。

分区的限制主要基于这个事实:

每个分区都必须位于连续磁盘空间上,这就使得一个分区只能在一个物理硬盘上,他不能够跨硬盘。

而一个文件系统只能为于一个分区上,所以文件系统和文件的大小就受限于最大物理硬盘的大小。

逻辑卷管理器(lvm)的优点:

逻辑卷可以使用不连续的磁盘空间;逻辑卷可以跨硬盘;可动态扩展逻辑卷的大小;逻辑卷可镜像;硬盘可方便地加入系统存储体系;逻辑卷可重定位。

物理存储:

物理卷(physicalvolumepv):

物理硬盘;物理分区(physicalpartition):

物理卷上的最小分配单位;卷组(volumegroupvg):

相关物理卷的集合。

物理卷可以是内置或外置的物理硬盘。

物理卷使用前必须在其上建立一个卷组,或者把物理卷加入一个现有的卷组中,也就是说物理卷必须属于某个卷组,才能使用。

当一个物理硬盘加入系统中时,/dev目录下会相应地产生一个设备文件/dev/hdiskn,这个文件可以直接访问不过一般不这样做。

物理卷划分为划分为物理分区,他是aix中的基本磁盘空间分配单位,一个卷组中的所有物理分区大小相同。

卷组是aix中最大的存储分配单位,一般是用一个应用目的准备一个卷组。

一个卷组由整数个硬盘组成,卷组不能跨硬盘。

一个卷组(例如由一组外部scsi磁盘组成的卷组)可以从一个系统上卸掉并挂接在令一个系统上。

卷组:

可以为卷组增加新硬盘;外部硬盘应该包含在独立的卷组中;建立新卷组的原因:

将用户文件系统与操作系统文件分开,安全性原因,维护原因,数据可移动性。

当系统安装完毕后,在内部硬盘上已建立根卷组(rootvg),它包含操作系统文件和系统逻辑卷。

未使用的硬盘可以被加入到rootvg中,或者为他们建立新卷组。

外部硬盘应当放在单独的一个或多个卷组中,这样,当这些硬盘不可用或者移动其他系统时,系统逻辑卷不会受到影响。

把用户文件系统和操作系统所用文件系统分开到不同卷组中,使得用户文件不会在系统更新、重装或崩溃修复时受到影响。

在维护方面,在更新或重装系统前不必备份和恢复用户数据。

在安全性方面,可以使用命令varyoffvg使得卷组不可用。

逻辑存储

逻辑分区(logicalpartition,lp):

对应到物理分区;逻辑卷(logicalvolume,lv):

逻辑分区的集合,可跨物理卷。

在没有镜像的情况下,每个逻辑分区对应一个物理分区。

显然,同一卷组中,逻辑分区的大小等于物理分区大小。

逻辑卷由一个或多咯逻辑分区组成,它必须在一个卷组中,逻辑卷不能跨卷组,但可以跨物理卷,只要卷组中包含多个硬盘,逻辑卷可以使用不连续的物理空间,逻辑卷中的任一逻辑分区可以指向任一物理分区,只要它没有被其他逻辑卷中用。

只要其所在卷组有足够的空余空间,逻辑卷大小可以随时动态扩展进行,其操作过程与在传统unix存储上修改分区大小的操作基本相同。

卷组也包含整数个逻辑卷,它即是物理卷的组合,也是逻辑卷的组合,唯一的区别是卷组中可以没有逻辑卷,但不能没有物理卷。

默认情况下,aix存储结构的限制是:

卷组每个系统最多255个,物理卷每个卷组最多32个,物理分区最大256mb,每个物理卷最多1016个,逻辑卷每个卷组最多256个,逻辑分区每个逻辑卷最多32512个。

逻辑卷的用途:

一个逻辑卷可以包含日志文件系统(例如:

/dev/hd4)、换页空间(pagingspace,例如:

/dev/hd6)、日志记录设备(例如:

/dev/hd8)、启动逻辑卷(bootlogicalvolume,blv,例如:

/dev/hd5)、无结构(裸设备)。

系统安装后,自动创建了rootvg,它包含一组基本的逻辑卷和文件系统,比如换页空间、文件系统日志、启动逻辑卷等等。

使用mklv命令或smit可以创建新的逻辑卷。

Aix使用日志文件系统,它通过与数据库日志相似的机制类保证文件系统结构一致性。

换页空间存放虚拟内存中暂时不使用的数据。

日志记录逻辑卷存放那些尚未实际写到硬盘上的对文件系统结构的更改,启动逻辑卷是硬盘上的一块连续空间,用于存放启动映象。

裸设备是空间的逻辑卷,某些应用,例如数据库,可以或必须直接使用裸设备。

文件系统:

文件系统是存储数据的一种方法,具有层次目录结构,aix文件系统有三中类型:

日志文件系统(jfs);cd-rom文件系统(cdrfs);网络文件系统(nfs);不同的文件系统以目录结构连接起来。

虽然不同类型的文件系统的物理结构不同,但对应用程序和用户来说是一样的。

多个文件系统以同一层次目录结构组织起来,对用户来说一个系统只看到一个文件目录树。

文件系统的大小不是自动扩展的,所以即使卷组中有空余空间,对某一文件系统来说还是可能由于剩余空间不够而发生文件系统满错误。

建立文件系统的目的:

物理上可以放到硬盘的任何地方(性能);某些任务使用文件系统更为高效,例如备份、移动等等;可以限制用户对硬盘空间的使用;保证整个目录文件树结构的一致性,一个文件系统被破坏不会影响其他文件系统;可建立特殊的安全性解决方案。

在新安装的系统上,有5个文件系统:

/(root)=/dev/hd4:

这是整个文件目录树的根。

它包含一些对系统操作极为重要的文件和目录,包括/dev、/etc等。

/usr=/dev/hd2:

操作系统命令,库和应用程序。

/var=/dev/hda9var:

可变缓冲池和一些记录文件。

这个文件系统的文件及其长度随着系统活动而变化。

/home=/dev/hd1:

用户主目录。

这是用户数据的传统存放地。

/tmp=/dev/hd3:

可以被所有用户使用的临时文件空间,需要定期整理。

2006-4-25

1.关于/etc/filesystems文件

/etc/filesystems文件存放了每个文件系统的属性。

每个文件系统的信息以节的格式存放,每节的开始是资源名称,后跟一个冒号,后面是这个资源的属性列表,每一行的格式是“属性=值”。

各个属性的含义是:

Check:

用于确定在使用fsck命令时,是否默认检查此文件系统。

Dev:

文件系统所在设备文件(特殊文件)路径,或是要挂接的其他文件或目录名。

Mount:

使用mount时,是否默认挂接此文件系统。

可选值是:

Automatic系统启动时自动挂接

True使用mountall命令时挂接

False不被自动挂接

Type:

通过这个参数将文件系统区分成组,这样同组文件系统就可以通过mount-t命令一起挂接。

Vfs:

表明文件系统类型。

Vol:

文件系统标签名。

Log;写入日志信息所用的设备(这个选项只对日志文件系统有效)。

文件系统挂接(mount)

用于使文件系统与层次目录结构进行逻辑连接的工具;文件系统与/dev目录下的特殊文件(设备,即逻辑卷)关联;文件系统挂接起来后,相关逻辑卷及其内容即连接到层次目录结构。

指定文件系统挂接点时必须使用完整路径;可以使文件系统在系统启动时自动挂接;如果使用smit创建文件系统,挂接点会自动创建;使用smit也可以挂接和卸载文件系统。

挂接文件系统到空目录,可以把文件系统挂到已经有下级子目录和文件的目录上。

原有文件和子目录将进入“隐藏状态”,不可访问,当并未丢失。

当覆盖它们的文件系统卸载后,这些文件和目录又可以访问了。

并非所有的用户都有权限挂接任何文件系统。

判断一个用户是否有权限挂接文件系统的原则是:

用户在文件系统的默认挂接点(在/etc/filesystems文件中指明)是否有写权限。

Root用户可以挂接任何文件系统而不受上述条件限制。

显示文件系统:

lsfs可以列出所有已经定义的各种类型的文件系统。

它获取的信息的来源是/etc/filesystems文件和文件系统对应的逻辑卷。

2.smitlvm逻辑卷菜单管理器

Volumegroups:

提供针对卷组操作的菜单

Logicalvolumes:

提供针对逻辑卷操作的菜单。

包含日志文件系统,换页空间或内存卸出设备的逻辑卷也可以在此建立。

不过此处只有对逻辑卷比较底层的控制,例如逻辑卷分区分配策略和镜像等等,只能在这个菜单中找到。

Physicalvolumes:

在这个菜单中可以配置物理盘(硬盘)。

Pagingspace:

增加、删除、激活、显示换页空间设备。

显示卷组信息:

Lsvg显示全部卷组

Lsvg-o显示活动卷组

显示卷组状态:

Lsvgrootvg

依物理卷显示卷组:

Lsvg-pvg_name显示某个卷组所有物理卷的信息,包括物理卷名、物理卷状态、每个物理卷上物理总分区数、每个物理卷上空闲物理分区个数,以及空闲物理分区在各个位置的分配情况。

Lsvg-lvg_name显示某个卷组中所有逻辑卷的信息,包括逻辑卷名、逻辑卷类型(例如文件系统、换页空间等)、每个逻辑卷占用的逻辑分区数、每个逻辑卷占用的物理分区数、逻辑卷跨几个物理卷、逻辑卷状态,如果逻辑卷含有日志文件系统,还显示其挂接点。

增加和删除卷组:

Smitmkvg命令用于建立卷组。

新的卷组必须含有至少一个物理卷。

其中physicalpartition的大小必须是2的n次方,单位为m;smit没有删除卷组的命令,系统也没有删除卷组的命令。

正常的删除卷组方法是用smit的removeaphysicalvolumefromavolumegroup菜单,当一个卷组中最后一个物理卷被删除后,这个卷组也从系统中删除。

修改卷组:

Smitchvg用于修改卷组的一些特性。

Extendvg_namehdiskn命令向已经存在的卷组中增加新的物理卷,这个物理卷设备的状态必须是可用的。

Reducevgvg_namehdiskn删除物理卷时其所在的卷组必须处于非活动状态。

如果被删除的物理卷是卷组中仅存的一个,那么这个卷组同时也被删除。

解除/激活卷组:

Varyonvg:

命令激活卷组。

-s选项使卷组进入管理模式,即禁止用户访问它,但系统管理人员可以对它执行系统管理命令。

Varyoffvg:

命令解除卷组,前提是卷组中没有逻辑卷处于打开状态,否则命令执行不成功。

在从卷组中删除物理卷前必须使其处于非活动状态,否则可能产生错误并丢失数据。

Smitimportvg导入/导出卷组

两种情况下需要导出卷组:

把卷组及其包含的物理卷从一个系统迁移到另一个系统,或者更新卷组的定义。

导出卷组的前提是它必须处于非活动状态。

导出卷组操作的实质是把卷组的定义从odm中删除,它不对卷组本身进行任何写操作。

系统禁止导出rootvg卷组。

命令:

exportvg_name

需要引入卷组的情况与导出类似。

把卷组引入系统的操作实质是从卷组所辖的任意一个物理卷上读取卷组信息,并把卷组定义添加到odm中。

不要尝试引入一个rootvg卷组。

除非有技术支持人员的指示,引入操作正在执行时,不要强行中断。

命令:

importvg-yvg_name-v50hdisk1

2006-4-26

1.镜像

Aix中,镜像是指一个逻辑分区对应对个同一卷组内的物理分区

写入时序安排:

并行:

所有物理分区同时写入(parallel)

串行:

各个物理分区顺序写入(sequential)

Aix存储管理中,逻辑卷镜像是指逻辑卷中的每个分区的的数据有2-3个拷贝,每个拷贝占用一个物理分区。

这样即使1-2个硬盘实效,这个逻辑卷的数据依然完整并且可访问。

一般来说各个拷贝位于不同的物理卷上。

Aix中,每个逻辑卷最多可有三份拷贝。

对于现有的逻辑卷,可以使用mklvcopy命令来为之增加镜像拷贝。

Syncvg命令用于镜像拷贝刚刚创建或有需要的情况下同步各个拷贝。

使用镜像技术对硬盘的写入性能有一定影响,不过可以通过修改吸入时顺序策略进行部分调整。

使用并行(parallel)方式可获得最好的性能,但可能在更新各个拷贝时由于磁盘失效而造成数据不一致,不过这可以通过设置镜像写入一致性(mirrorwriteconsistency)选项来客服。

逻辑卷分配策略:

在创建或修改逻辑卷时,可以设置给逻辑卷分配物理分区的一些规则,这些规则关系到逻辑卷访问的性能。

物理卷内策略指明在一个物理卷内,如何存放逻辑卷的数据。

可选项有:

center、middle和edge。

硬盘访问数据耗时相对较多的主要有两个步骤:

把磁头移动到数据所在磁道和进行读写操作。

无论数据在硬盘什么位置,进行读写的时间几乎完全相同,但磁头移动量与数据存放位置密切相关。

处于center的数据,磁头从硬盘的任何位置移动到那里的平均时间最短,所以这里的数据访问行能最佳,middle和edge依次降低。

所以应当把位于center的物理分区分配给最常访问的逻辑卷,位于edge的物理分区分配给最少访问的逻辑卷。

新建逻辑卷时,aix默认物理卷内策率是middle。

物理卷间策略决定逻辑卷使用哪几个物理卷,以及在所选物理卷上尽量集中存放还是分散到各个物理卷。

如果选择集中存放,逻辑卷会根据用户选择物理卷的顺序,尽量填满第一个,然后下一个,等等。

smit逻辑卷菜单Smitlv

显示卷组中所有逻辑卷:

lsvg-o|lsvg-il

显示一个逻辑卷的状态信息:

lslvlv_name

显示逻辑卷使用的物理分区在物理卷上的分配图:

lslv-llv_name

显示逻辑卷使用的逻辑分区与物理分区对应关系以及物理分区在各个物理卷上的总体分配图:

lslv-mlv_name

增加逻辑卷:

smitmklv

Mklv命令用于创建一个逻辑卷。

逻辑卷名称可以指定或者由系统自动生成,逻辑卷所属的卷组以及逻辑卷大小(以逻辑分区为单位)必须给出。

其他可以指定的还有分配策略、拷贝数(镜像)、写入时序等等。

删除逻辑卷:

smitrmlv

Rmlv命令用于删除逻辑卷;注意:

不要使用rmlv命令删除含有日志文件系统或换页空间的逻辑卷。

这些上层结构的信息存放在odm以及相关文件(例如:

/etc/filesystems)中,如果使用rmlv命令直接删除它们所在的逻辑卷,将造成系统配置与实际情况不一致。

Smitlvsc命令用于修改逻辑卷特性。

可以在任何时候增加逻辑卷空间,前提是卷组中有足够的空闲物理分区。

Extendlv命令可以实现这个功能,新增加的物理分区分配策略可以不同于原来的逻辑卷定义。

逻辑卷不能缩小,如果要达到这个目的,必须备份逻辑卷数据,删除之,创建一个符合大小要求的新逻辑卷,然后恢复数据。

Smitmklvcopy命令用于增加逻辑卷拷贝。

根据逻辑卷的物理卷间分配策略的不同,对卷组及各个物理卷上的空余分区数目有一定要求。

建立新的逻辑卷拷贝后,为了保证拷贝内容相同,应该在其所属卷组上执行syncvg命令。

Smit物理卷菜单

显示系统中所有物理卷:

lspv

显示一个物理卷的状态信息:

lspvpv_name

显示一个物理卷内的逻辑卷情况:

lspv-lpv_name

显示一个物理卷内物理分区使用情况;lspv-ppv_name

2006-4-27

1.换页空间

换页空间是真实内存的后备。

真实内存被操作系统划分为4kb的页框(pageframe)。

每个页都可以在换页空间中有一个或多个4kb页作为其后备,真实内存中装入的所有程序和数据所占用的页框,与换页空间中的页都有映射关系。

操作系统维护所有页框的状态,当系统需要某些代码或数据时,如果真实内存有空闲的页框,就直接使用它们。

如果没有,操作系统将查找最近最少使用的页框,然后判断其内容与换页空间的内容有无区别,操作系统把页框内容写到换页空间中,这称为“换出”,然后把新的代码或数据移到腾出的页框中;如果有区别,操作系统将直接使用新的代码或数据覆盖页框内容,这称为“偷换”。

当系统需要那些在真实内存中没有,但换页空间中存在代码或数据时,操作系统依然根据上述原则为其准备可用的页框,然后把代码或数据从换页空间中读取进来。

当真实内存不敷使用时,换页空间作为第二内存;程序和数据只有部分才必须存在于真实内存中,这使得换页空间的应用称为可能;换页空间使用量必须定期检查,如果大于70%,需要增加新的换页空间;当换页空间严重不足时,一条信息将被发送到控制台,新的进程不能生成,系统可能停机;换页空间不是内存的代替品,除了暂存数据外,它不能完成内存的其他功能;

换页空间暂存内存中暂时不被使用的数据和代码。

当系统中真实内存不够用时,他把真实内存中最近最少使用的数据换出到换页空间,从而为需要的程序腾出真实内存空间。

换页空间不是内存的代用品,无限增加换页空间并不能使系统容纳更多的应用。

如果应用程序需要经常访问的代码和数据使用了大多数内存,那么无论有多大的换页空间,总会造成频繁的换近换出操作,这时系统将忙于进行换近换出的操作,而用于正常处理的资源(包括cpu和i/o)大为减少。

如果发生这种情况,就需要扩展物理内存。

换页空间在硬盘上的位置

换页空间是属性为“paging”的逻辑卷;使换页空间发挥最大性能的原则:

使换页空间逻辑卷位于物理卷的“center”位置;使用多个大小相差不多的换页空间设备(逻辑卷),各个设备在不同硬盘上;将换页空间设备放置在比较空闲的硬盘上。

没有换页空间,系统不能启动。

操作系统安装过程中,在物理卷/dev/hdisk0上创建了默认的换页空间设备/dev/hd6。

显示换页空间定义及状态

显示所有换页空间大小及使用量:

lsps-a

显示物理内存量:

lsattr-EHLsys0-arealmen

显示系统启动时自动启用的换页空间设备:

cat/etc/swapspaces

增加换页空间设备:

smitmkps,其选项有:

新增换页空间设备(逻辑卷)所在的卷组;新增换页空间设备(逻辑卷)所在的物理卷;新增换页空间设备的大小(以逻辑分区为单位)等等。

注意:

一个换页空间设备只能在一个物理卷上。

修改换页空间设备:

smitchps,换页空间可以用chps扩展大小。

非活动的换页空间可以在任何时候激活,在系统启动时执行的shell脚本/etc/rc中有一条命令swapon–a,它激活所在在/etc/swapspaces文件中定义的换页空间。

*********存储组件小结**********

逻辑卷管理器的结构:

卷组包含一个或多个物理卷;每个物理卷划分为物理分区;逻辑分区对应到物理分区;

逻辑卷上可建立:

日志文件系统;换页空间;启动逻辑卷

镜像是一种高可用性技术,它使逻辑卷具有2到3个拷贝;通过smit命令可以增加、修改、删除卷组、物理卷和逻辑卷;aix系统启动需要换页空间;必须监视换页空间使用量,在不足时添加或扩展换页空间;换页空间可以随时扩展。

第二大部分:

文件系统

2006-4-28

1.日志文件系统结构

超级块(superblock):

存放文件系统大小和标识、空闲块链表、nbpi;

Inode:

存放文件大小、所有者、权限、创建/访问/修改时间

数据块(datablock):

存放数据

间接块(IndirectBlock)存放到数据块的指针

Aix日志文件系统存放到逻辑卷上,逻辑卷被划分为4kb的簇,这是文件系统空间分配的最小单位;文件系统的第一个簇称为称为超级块,它包含文件系统名称、大小、inode个数、创建的日期时间、nbpi和空闲块链表;超级块后面是固定数目的inode块,每个inode包含一个文件或目录的定义包括类型、大小、权限、所有者用户及其所属组的id、创建/修改/访问时间;它还包含指向数据块或间接块的指针;注意:

inode不包含文件明,文件明是记录在器所属的目录所在的数据块中;超级块十分重要,如果它损坏,文件系统将不能挂接。

所以系统在第31号块中保存了一个超级块的副本,以备灾难恢复所需。

2.inode结构

Inode内容:

权限,文件类型,文件大小,最后修改时间,最后访问时间,访问控制信息,指向数据块或间接块的指针个数,所有者用户id,所有者用户组id,指向数据块或间接块的指针,最后更改权限时间;inode的大部分信息可以用ls-l命令得到;每个文件有一个且仅有一个inode与之对应。

2.显示文件系统

Smitfs

不带参数的mount命令显示所有已挂接文件系统;文件系统必须挂接才能正常访问;挂接文件系统也使用命令mount命令;同样功能的smit项目是filesystems菜单下的listallmountedfilesystems项目。

3.在已有逻辑卷上建立文件系统

如果直接创建文件系统,系统会自动创建合适大小的逻辑卷,但这样就失去了对逻辑卷的一些控制。

例如,逻辑卷分配无法事先确定,即使以后修改了逻辑卷分配策略,但木已成舟,已使用的物理分区除非重组卷组,否则无法改变实际分配情况。

先建逻辑卷后建文件系统的好处就在于能够解决这个问题。

看来,文件系统<=逻辑卷

修改文件系统可以修改:

默认挂接点,文件系统大小只能扩展,不能减小,系统启动时是否自动挂接,读写许可;扩展文件系统大小时,其附着的逻辑卷会自动扩大;扩展包含文件系统的逻辑卷,其上的文件系统不会自动扩大,这时需要系统管理人员进行扩展文件系统操作才能使其占满整个逻辑卷。

删除文件系统:

删除文件系统前,必须卸载它,如果有用户正在使用它,将不能卸载。

可以用fuser-ufs_name命令查看哪些进程和用户正在使用文件系统;删除文件系统将自动删除其所在的逻辑卷,不管这个文件系统当初是直接建立的还是建立在已有的逻辑卷上建立的。

Odm和/etc/filesystems中的相关信息也一并删除。

文件系统空间管理:

aix虽然提供对文件系统空间的动态扩展能力,但它不会自动扩展;如果文件系统被完全占满,将会发生错误,如果某些基本的文件系统占用的空间用完,会发生更严重的错误,比如无法登录乃至系统工作失败等等;所以要对文件系统空间进行监视和管理。

显示文件系统剩余空间:

df,-l显示已用空间;-k以1kb为单位显示(默认是512字节为单位)。

控制增长迅速的文件:

对于增长迅速的文件必须进行有效的监视和定期的清理,某些系统文件在特定情况下会迅速增大;如:

/var/adm/wtmp/var/spool/*/*/smit.log/smit.script/etc/security/failedlogin/var/adm/sulog

显示文件和目录的空间占用量:

du/home|sort–rn

检验文件系统

检验文件系统使用fsck(filesystemcheck)命令;检验过程分为几个部分:

检验文件系统日志,确认每个块或者被分配给某个文件,或者在空闲块链表中,检验文件大小,检验目录结构;如果要修复大多数错误,必须使文件系统处于卸载状态,以保证没有用户使用文件系统,否则修复动作无法进行。

1.备份的类型

系统备份:

备份整个操作系统,即进行rootvg的备份

完全备份:

备份所有用户数据和配置文件等

增量备份:

备份自上一次备份以来所有的改变

增量备份又有两种方式,下面分别举例说明,第一种方式是:

在一个星期内,开始做一个完全备份,然后每一天备份自前一天以来的改变。

这种方式备份速度快,但需要较多备份介质,恢复起来耗时较长,而且备份完成后,一系列介质中间任何一个问题,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1