此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何解决由于Catalyst 9000交换机上的堆栈问题而导致的意外重新加载。
Cisco建议您了解这些主题。
本文档中的信息基于以下软件和硬件版本:
本文档也可用于以下硬件和软件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
下表说明了堆栈重置的原因。
重置原因 | 描述 |
---|---|
堆栈合并 |
当至少有两个堆叠成员声称是堆叠的活动交换机时,将看到此情况。当堆栈环断开或堆栈发现协议(SDP)消息因堆栈电缆损坏而丢失时,即可看到此情况。 |
由于不兼容而导致堆栈合并 |
与堆栈合并相同。 在半环堆栈配置中更常见。 |
主用和备用模式均丢失 |
当主用交换机丢失时,如果备用交换机由于任何原因无法承担主用角色,则会重新加载所有其他堆叠成员并使用此重置原因。在半环配置中配置堆栈时也会出现这种情况。 |
堆叠电缆身份验证失败 |
通常由堆栈电缆或堆栈端口故障导致。也可能是由软件问题导致的。 |
堆栈适配器身份验证失败 |
通常由堆叠电缆、堆叠适配器或堆叠端口故障导致。也可能是由软件问题导致的。 |
验证堆叠的所有成员的上次重新加载原因。
show version
show switch show logging onboard switch <switch number> uptime detail
在show version
命令输出中,您可以识别每个堆叠成员的不同重置原因。
switch#show version <omitted output> Last reload reason: stack merge <-- Switch 1 Reason
<omitted output> Switch Ports Model SW Version SW Image Mode ------ ----- ----- ---------- ---------- ---- * 1 53 C9300-48P 17.3.5 CAT9K_IOSXE INSTALL 2 53 C9300-48P 17.3.5 CAT9K_IOSXE INSTALL 3 53 C9300-48P 17.3.5 CAT9K_IOSXE INSTALL Switch 02 --------- Switch uptime : 13 hours, 47 minutes Base Ethernet MAC Address : aa:aa:aa:aa:aa:aa Motherboard Assembly Number : 11-11111-11 Motherboard Serial Number : AAAAAAAAAAA Model Revision Number : F0 Motherboard Revision Number : C0 Model Number : C9300-48P System Serial Number : AAAAAAAAAAB Last reload reason : stack merge due to incompatiblity <-- Switch 2 Reason Switch 03 --------- Switch uptime : 50 minutes Base Ethernet MAC Address : bb:bb:bb:bb:bb:bb Motherboard Assembly Number : 22-22222-22 Motherboard Serial Number : BBBBBBBBBBA Model Revision Number : E0 Motherboard Revision Number : C0 Model Number : C9300L-48P System Serial Number : BBBBBBBBBBB Last reload reason : lost both active and standby <-- Switch 3 Reason
show switch
命令输出显示堆叠成员的当前角色。
switch#show switch Switch/Stack Mac Address : xxxx.xxxx.xxxx - Local Mac Address Mac persistency wait time: Indefinite H/W Current Switch# Role Mac Address Priority Version State ------------------------------------------------------------------------------------- *1 Active xxxx.xxxx.xxxx 15 V01 Ready 2 Standby aaaa.aaaa.aaaa 14 V01 Ready 3 Member bbbb.bbbb.bbbb 13 V01 Ready
使用下一命令可查看上次重新加载原因记录。
switch#show logging onboard switch 1 uptime detail -------------------------------------------------------------------------------- UPTIME SUMMARY INFORMATION -------------------------------------------------------------------------------- First customer power on : 11/15/2019 22:46:33 Total uptime : 0 years 0 weeks 6 days 20 hours 15 minutes Total downtime : 0 years 46 weeks 5 days 23 hours 42 minutes Number of resets : 10 Number of slot changes : 0 Current reset reason : stack merge <-- Current reset timestamp : 10/15/2020 05:44:01 <-- Current slot : 1 Chassis type : 95 Current uptime : 0 years 0 weeks 0 days 13 hours 0 minutes -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- UPTIME CONTINUOUS INFORMATION -------------------------------------------------------------------------------- Time Stamp | Reset | Uptime MM/DD/YYYY HH:MM:SS | Reason | years weeks days hours minutes -------------------------------------------------------------------------------- <omitted output> 10/15/2020 05:44:01 stack merge 0 0 0 1 0 <-- -------------------------------------------------------------------------------- switch#show logging onboard switch 2 uptime detail -------------------------------------------------------------------------------- UPTIME SUMMARY INFORMATION -------------------------------------------------------------------------------- First customer power on : 11/21/2019 17:46:08 Total uptime : 0 years 0 weeks 6 days 23 hours 21 minutes Total downtime : 0 years 46 weeks 0 days 1 hours 36 minutes Number of resets : 14 Number of slot changes : 1 Current reset reason : stack merge due to incompatiblity <-- Current reset timestamp : 10/15/2020 05:44:03 Current slot : 2 Chassis type : 95 Current uptime : 0 years 0 weeks 0 days 13 hours 0 minutes -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- UPTIME CONTINUOUS INFORMATION -------------------------------------------------------------------------------- Time Stamp | Reset | Uptime MM/DD/YYYY HH:MM:SS | Reason | years weeks days hours minutes -------------------------------------------------------------------------------- <omitted output> 10/15/2020 05:44:03 stack merge due to incompatiblity 0 0 0 1 0 <-- -------------------------------------------------------------------------------- switch#show logging onboard switch 3 uptime detail -------------------------------------------------------------------------------- UPTIME SUMMARY INFORMATION -------------------------------------------------------------------------------- First customer power on : 08/13/2019 23:46:07 Total uptime : 0 years 38 weeks 5 days 11 hours 54 minutes Total downtime : 0 years 22 weeks 3 days 7 hours 45 minutes Number of resets : 37 Number of slot changes : 3 Current reset reason : lost both active and standby <-- Current reset timestamp : 10/15/2020 18:56:09 Current slot : 3 Chassis type : 95 Current uptime : 0 years 0 weeks 0 days 0 hours 30 minutes -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- UPTIME CONTINUOUS INFORMATION -------------------------------------------------------------------------------- Time Stamp | Reset | Uptime MM/DD/YYYY HH:MM:SS | Reason | years weeks days hours minutes -------------------------------------------------------------------------------- <omitted output> 10/15/2020 18:56:09 lost both active and standby 0 0 0 0 35 <-- --------------------------------------------------------------------------------
注意:错误“堆叠电缆身份验证失败”和“堆叠适配器身份验证失败”通常不允许受影响的交换机完全启动。因此,无法收集任何命令以进行进一步分析。请按照列出的步骤检查相应的部分。
根据Catalyst 9200和9300交换机的硬件安装指南,必须确保堆叠符合堆叠电缆设置,并确保堆叠电缆设置正确。
堆叠电缆必须采用以下方式:
...
这样,堆栈设置就类似于这些映像。
Catalyst 9200L和9200
Catalyst 9300
插入堆栈适配器和/或堆栈电缆时,请使用以下说明:
Catalyst 9200L和9200
1. 确保正确插入堆栈适配器。思科徽标必须位于顶部。
2. 确保用手将堆叠电缆牢牢拧紧。
Catalyst 9300L
1. 确保正确插入堆栈适配器。思科徽标必须位于顶部。
2. 确保用手将堆叠电缆牢牢拧紧。
Catalyst 9300
在大多数情况下,由于堆栈电缆、堆栈适配器或堆栈端口损坏,会触发本文档中显示的意外重新加载。无论您运行的是哪个软件版本,如果堆叠部件安装不正确,您都可能遇到这种情况。
验证“确认堆叠电缆设置”(Confirm Stack Cable Setup)和“安装堆叠电缆”(Install Stack Cables)部分之后,请使用以下命令检查堆叠电缆的运行状况:
show switch neighbors
show switch stack-ring speed
show switch stack-ports summary
show switch stack-ports detail
在本例中,有一个由三台Catalyst 9300交换机组成的堆叠。show switch neighbors
命令输出显示连接到每个堆叠成员的交换机:
switch#show switch neighbors Switch # Port 1 Port 2 -------- ------ ------ 1 2 3 2 3 1 3 1 2
当堆栈电缆不存在、插入错误或存在故障时,显示None而不是堆栈成员:
switch#show switch neighbors Switch # Port 1 Port 2 -------- ------ ------ 1 2 None <-- 2 3 1 3 None 2 <--
show switch stack-ring speed
命令提供堆叠环状态:
switch#show switch stack-ring speed
Stack Ring Speed : 480G <--
Stack Ring Configuration: Full <--
Stack Ring Protocol : StackWise
如果由于任何原因堆栈环断开,输出将如下所示:
switch#show switch stack-ring speed
Stack Ring Speed : 240G <--
Stack Ring Configuration: Half <--
Stack Ring Protocol : StackWise
警告:在运行状况良好的堆栈环配置中,永远无法看到半双工状态。尽管堆叠工作正常,但它会损失一半的带宽和冗余。
正常的show switch stack-ports summary
命令输出如下所示。
注意:交换机1的堆叠端口1显示两个链路更改。这是正常现象。
switch#show switch stack-ports summary Sw#/Port# Port Status Neighbor Cable Length Link OK Link Active Sync OK #Changes to LinkOK In Loopback ------------------------------------------------------------------------------------------------------------------- 1/1 OK 2 50cm Yes Yes Yes 2 No 1/2 OK 3 100cm Yes Yes Yes 1 No 2/1 OK 3 50cm Yes Yes Yes 1 No 2/2 OK 1 50cm Yes Yes Yes 1 No 3/1 OK 1 100cm Yes Yes Yes 1 No 3/2 OK 2 50cm Yes Yes Yes 1 No
如果输出显示某些端口上有许多摆动,则可能是堆栈不稳定的信号。这种情况可能会触发堆栈合并。如果堆叠没有正确布线,则可以看到Unknown
状态。
switch#show switch stack-ports summary Sw#/Port# Port Status Neighbor Cable Length Link OK Link Active Sync OK #Changes to LinkOK In Loopback ------------------------------------------------------------------------------------------------------------------- 1/1 OK 2 50cm Yes Yes Yes 16 No
<-- 16 flaps on switch 1 stack port 1 facing switch 2 1/2 OK 3 100cm Yes Yes Yes 1 No 2/1 OK 3 50cm Yes Yes Yes 1 No 2/2 OK 1 Unknown Yes Yes Yes 16 No
<-- Cable length 'unknown', 16 flaps on switch 2 stack port 2 facing switch 1 3/1 OK 1 100cm Yes Yes Yes 1 No 3/2 OK 2 50cm Yes Yes Yes 1 No
当发现过多的链路更改时,下一步是检查show switch stack-ports detail
命令,并着重查看CRC Errors
计数器。接口上增加的CRC意味着该端口上接收的数据包格式不正确。这些条件可以适用:
switch#show switch stack-ports detail 1 is OK Loopback No Cable Length 100cm Neighbor 2 Link Ok Yes Sync Ok Yes Link Active Yes Changes to LinkOK 16 Five minute input rate 1110 bytes/sec Five minute output rate 47 bytes/sec 24798951 bytes input 737941 bytes output CRC Errors Data CRC 459731 <-- CRCs Ringword CRC 35156 <-- CRCs InvRingWord 54951 <-- CRCs PcsCodeWord 35481 <-- CRCs 1/2 is OK Loopback No Cable Length 100cm Neighbor 3 Link Ok Yes Sync Ok Yes Link Active Yes Changes to LinkOK 1 Five minute input rate 164 bytes/sec Five minute output rate 67 bytes/sec 0 bytes input 0 bytes output CRC Errors Data CRC 0 Ringword CRC 0 InvRingWord 0 PcsCodeWord 0 2/1 is OK Loopback No Cable Length 50cm Neighbor 3 Link Ok Yes Sync Ok Yes Link Active Yes Changes to LinkOK 0 Five minute input rate 0 bytes/sec Five minute output rate 0 bytes/sec 0 bytes input 0 bytes output CRC Errors Data CRC 0 Ringword CRC 0 InvRingWord 0 PcsCodeWord 0 2/2 is OK Loopback No Cable Length 50cm Neighbor 1 Link Ok Yes Sync Ok Yes Link Active Yes Changes to LinkOK 16 Five minute input rate 30 bytes/sec Five minute output rate 1093 bytes/sec 480028 bytes input 0 bytes output CRC Errors Data CRC 0 <-- No CRCs Ringword CRC 0 <-- No CRCs InvRingWord 0 <-- No CRCs PcsCodeWord 0 <-- No CRCs 3/1 is OK Loopback No Cable Length 100cm Neighbor 1 Link Ok Yes Sync Ok Yes Link Active Yes Changes to LinkOK 1 Five minute input rate 0 bytes/sec Five minute output rate 0 bytes/sec 81387545 bytes input 29294666 bytes output CRC Errors Data CRC 0 Ringword CRC 0 InvRingWord 0 PcsCodeWord 0 3/2 is OK Loopback No Cable Length 100cm Neighbor 2 Link Ok Yes Sync Ok Yes Link Active Yes Changes to LinkOK 1 Five minute input rate 1030 bytes/sec Five minute output rate 0 bytes/sec 480028 bytes input 0 bytes output CRC Errors Data CRC 0 Ringword CRC 0 InvRingWord 0 PcsCodeWord 0
注意:show switch stack-ports detail
命令在Cisco IOS XE版本17.3.x及更高版本中可用。要检查早期版本上的CRC错误计数器,请使用旧命令。
以0结尾的命令是堆栈端口1的CRC计数器,以1结尾的命令是堆栈端口2的CRC计数器。必须为所有堆叠成员输入这些命令。
show platform hardware fed switch <switch number> fwd-asic register read register-name SifRacDataCrcErrorCnt-0 show platform hardware fed switch <switch number> fwd-asic register read register-name SifRacRwCrcErrorCnt-0 show platform hardware fed switch <switch number> fwd-asic register read register-name SifRacInvalidRingWordCnt-0 show platform hardware fed switch <switch number> fwd-asic register read register-name SifRacPcsCodeWordErrorCnt-0
show platform hardware fed switch <switch number> fwd-asic register read register-name SifRacDataCrcErrorCnt-1
show platform hardware fed switch <switch number> fwd-asic register read register-name SifRacRwCrcErrorCnt-1
show platform hardware fed switch <switch number> fwd-asic register read register-name SifRacInvalidRingWordCnt-1
show platform hardware fed switch <switch number> fwd-asic register read register-name SifRacPcsCodeWordErrorCnt-1
注意:必须至少检查两次show switch stack-ports summary
命令输出中的#Changes to LinkOK计数器和show switch stack-ports detail
命令输出中的CRC计数器,以验证其中是否有任何增加。静态计数器可验证稳定的堆栈链路,而其中任何计数器的增量都验证堆栈链路不稳定。
出现堆栈问题时,将会看到这些日志。
Aug 9 21:54:22.911: %STACKMGR-6-STACK_LINK_CHANGE: Switch 1 R0/0: stack_mgr: Stack port 1 on Switch 1 is down
Aug 9 21:54:23.011: %STACKMGR-6-STACK_LINK_CHANGE: Switch 1 R0/0: stack_mgr: Stack port 1 on Switch 1 is up
Aug 9 21:54:35.096: %STACKMGR-6-STACK_LINK_CHANGE: Switch 1 R0/0: stack_mgr: Stack port 1 on Switch 1 is down
Aug 9 21:54:35.197: %STACKMGR-6-STACK_LINK_CHANGE: Switch 1 R0/0: stack_mgr: Stack port 1 on Switch 1 is up
Aug 9 21:54:40.334: %STACKMGR-6-STACK_LINK_CHANGE: Switch 2 R0/0: stack_mgr: Stack port 2 on Switch 2 is down
Aug 9 21:54:40.434: %STACKMGR-6-STACK_LINK_CHANGE: Switch 2 R0/0: stack_mgr: Stack port 2 on Switch 2 is up
半环场景中的堆栈端口摆动会导致堆栈拆分和交换机移除。在此方案中,半环中有六台交换机的堆叠。交换机1和6之间不存在堆叠链路,并且交换机5和6之间的堆叠链路不断抖动。这将导致从堆叠中删除交换机成员6。
Apr 9 19:13:25.665: %STACKMGR-6-STACK_LINK_CHANGE: Switch 5 R0/0: stack_mgr: Stack port 1 on Switch 5 is up
Apr 9 19:13:42.513: %STACKMGR-4-SWITCH_REMOVED: Switch 2 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:13:42.588: %STACKMGR-4-SWITCH_REMOVED: Switch 1 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:13:42.827: %STACKMGR-4-SWITCH_REMOVED: Switch 5 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:13:42.999: %STACKMGR-4-SWITCH_REMOVED: Switch 4 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:13:43.031: %STACKMGR-4-SWITCH_REMOVED: Switch 3 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:13:47.666: %STACKMGR-6-STACK_LINK_CHANGE: Switch 5 R0/0: stack_mgr: Stack port 1 on Switch 5 is down
Apr 9 19:25:57.715: %STACKMGR-6-STACK_LINK_CHANGE: Switch 5 R0/0: stack_mgr: Stack port 1 on Switch 5 is up
Apr 9 19:26:15.817: %STACKMGR-4-SWITCH_REMOVED: Switch 2 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:26:15.946: %STACKMGR-4-SWITCH_REMOVED: Switch 1 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:26:16.290: %STACKMGR-4-SWITCH_REMOVED: Switch 5 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:26:16.450: %STACKMGR-4-SWITCH_REMOVED: Switch 3 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:26:16.457: %STACKMGR-4-SWITCH_REMOVED: Switch 4 R0/0: stack_mgr: Switch 6 has been removed from the stack.
Apr 9 19:26:21.717: %STACKMGR-6-STACK_LINK_CHANGE: Switch 5 R0/0: stack_mgr: Stack port 1 on Switch 5 is down
Apr 9 19:38:31.766: %STACKMGR-6-STACK_LINK_CHANGE: Switch 5 R0/0: stack_mgr: Stack port 1 on Switch 5 is up
由于在堆栈端口中发现太多CRC错误,导致出现高硬件中断。
Jun 9 09:28:06.723: %SIF_MGR-1-FAULTY_CABLE: Switch 1 R0/0: sif_mgr: High hardware interrupt seen on switch 1
Jun 9 09:29:06.724: %SIF_MGR-1-FAULTY_CABLE: Switch 1 R0/0: sif_mgr: High hardware interrupt seen on switch 1
Jun 9 09:30:06.725: %SIF_MGR-1-FAULTY_CABLE: Switch 1 R0/0: sif_mgr: High hardware interrupt seen on switch 1
Jun 9 09:31:06.726: %SIF_MGR-1-FAULTY_CABLE: Switch 1 R0/0: sif_mgr: High hardware interrupt seen on switch 1
Jun 9 09:33:06.727: %SIF_MGR-1-FAULTY_CABLE: Switch 1 R0/0: sif_mgr: High hardware interrupt seen on switch 1
Jun 9 09:34:06.728: %SIF_MGR-1-FAULTY_CABLE: Switch 1 R0/0: sif_mgr: High hardware interrupt seen on switch 1
这种问题会妨碍交换机启动,因此不能使用show
命令。
当交换机由于此问题而重新加载时,显示堆叠电缆身份验证失败。
Waiting for 120 seconds for other switches to boot Switch is in STRAGGLER mode, waiting for active Switch to boot Active Switch has booted up, starting discovery phase ################### *** Stack cable authentication failed for cable inserted on stack port 2 on switch 1 *** <-- Reloading chassis because cable auth failed on stack_port 0# Chassis 1 reloading, reason - stack cable authentication failed reload fp action requested rp processes exit with reload switch code Jul 5 10:43:33.520: %PMAN-3-PROCESS_NOTIFICATION: R0/0: pvp:
System report /crashinfo/system-report_local_20201015-165033-Universal.tar.gz (size: 176 KB) generated
重新加载后,输入show version
命令。
switch#show version <omitted output> Last reload reason: Reload Command <-- switch 1
<omitted output> Switch 02 --------- Switch uptime : 60 minutes Base Ethernet MAC Address : aa:aa:aa:aa:aa:aa Motherboard Assembly Number : 11-11111-11 Motherboard Serial Number : AAAAAAAAAAA Model Revision Number : F0 Motherboard Revision Number : C0 Model Number : C9300-48P System Serial Number : AAAAAAAAAAB Last reload reason : Reload slot command Switch 03 --------- Switch uptime : 56 minutes Base Ethernet MAC Address : bb:bb:bb:bb:bb:bb Motherboard Assembly Number : 22-22222-22 Motherboard Serial Number : BBBBBBBBBBA Model Revision Number : E0 Motherboard Revision Number : C0 Model Number : C9300L-48P System Serial Number : BBBBBBBBBBB Last reload reason : stack cable authentication failure <--
switch#show logging onboard switch 3 uptime detail -------------------------------------------------------------------------------- UPTIME SUMMARY INFORMATION -------------------------------------------------------------------------------- First customer power on : 08/13/2019 23:46:07 Total uptime : 0 years 38 weeks 5 days 11 hours 54 minutes Total downtime : 0 years 22 weeks 3 days 7 hours 45 minutes Number of resets : 37 Number of slot changes : 3 Current reset reason : stack cable authentication failur <-- Current reset timestamp : 10/15/2020 18:56:09 Current slot : 3 Chassis type : 95 Current uptime : 0 years 0 weeks 0 days 0 hours 56 minutes -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- UPTIME CONTINUOUS INFORMATION -------------------------------------------------------------------------------- Time Stamp | Reset | Uptime MM/DD/YYYY HH:MM:SS | Reason | years weeks days hours minutes -------------------------------------------------------------------------------- 10/15/2020 18:56:09 stack cable authentication failur 0 0 0 0 35 <-- --------------------------------------------------------------------------------
Stack adapter authentication failed
当交换机由于此软件缺陷而重新加载时,看起来是这样的。
Both links down, not waiting for other switches Switch number is X
*** Stack adapter authentication failed on stack port <1|2> on switch X *** <-- Stack Adapter Auth Fail : SIF_SERDES_CABLE_WESTBOUND
它也可能如下所示。
Both links down, not waiting for other switches Switch number is X
*** Stack adapter authentication failed on stack port <1|2> on switch X *** <--
Stack Adapter Auth Fail : SIF_SERDES_CABLE_EASTBOUND
注意:如果在交换机上发现堆栈适配器/电缆身份验证失败,则预期相应交换机将自行重新加载,而不是整个堆栈单独重新加载。
为了通过接下来的测试组合将问题隔离到堆叠电缆、堆叠适配器或交换机本身,请完成以下步骤:
注意:有一个众所周知的Bug是上次重新加载的原因:堆叠电缆身份验证失败。验证您是否遇到此Bug,以防只发生一次,并且您有Catalyst 9300L交换机。
思科漏洞ID CSCvu25094 - 9300L由于堆叠电缆身份验证失败-仅重新加载原因一次,导致崩溃。
版本 | 发布日期 | 备注 |
---|---|---|
3.0 |
07-Nov-2024 |
更新了“简介”、“链接”、“备用文本”、“语法和格式”。 |
1.0 |
24-Aug-2022 |
初始版本 |