1、什么是storage partition?以及如何计算耗费的storage partition 数量?
存储分区(storage partition)是包括主机,主机上的HBA卡以及逻辑磁盘的对象集。定义Storage partition后可以使逻辑盘仅对映射的主机系统可见。
Storage partition可以帮助您映射并屏蔽LUN,使得主机系统只能看到映射的LUN而其他LUN对该主机是透明的。注意,在一个Storage partition中的主机操作系统类型必须是相同的。一个Storage partition包括如下对象:主机组,主机,主机端口,逻辑盘映射。
在Storage Manager中subsystem management界面选择storage subsystem菜单中的premium feature->list查看使用的storage partition数量。
2、DS4000盘阵控制器的默认IP地址,如何更改?
Storage partition可以帮助您映射并屏蔽LUN,使得主机系统只能看到映射的LUN而其他LUN对该主机是透明的。注意,在一个Storage partition中的主机操作系统类型必须是相同的。一个Storage partition包括如下对象:主机组,主机,主机端口,逻辑盘映射。
在Storage Manager中subsystem management界面选择storage subsystem菜单中的premium feature->list查看使用的storage partition数量。
通过默认的管理口IP:192.168.128.101/102连接DS4000产品进行带外管理。在存储子系统的管理界面右侧的物理视图中右键点击任意控制器,在弹出菜单中选择“change”->“network configuration”,在弹出的对话框中配置IP地址,注意DS4200,DS4700,DS4800每个控制器提供2个以太网口,修改以太网口1的配置。配置更改后,在存储子系统管理界面删除已经添加的DS4000产品,用新更改的IP地址重新添加ds4000存储服务器。
3、DS4000 cache的电池保护时间是多长?
(1) DS4000系列存储Cache电池保护时间标称为72小时。
(2) DS5000系列存储Cache电池保护机制与DS4000不再相同,在DS5000的控制器中增加了一个USB闪存,当意外掉电时,DS5000将电池保护下的缓存数据保存到专用的闪存中,由于闪存是一种非易失性存储介质,当数据转移到闪存后,即使充电电池失效,仍然可以保证掉电时的缓存数据不丢失。因此理论上DS5000中的缓存信息可以永久保存。
4、DS4700-70A/72A的区别; DS4800 -80A/82A的区别?
DS4700-70A/72A的区别:
Model
|
1814-72A
|
1814-70A
|
控制器缓存(Cache)
|
总共4GB
|
总共2GB
|
连通性
|
总共8个主机端口、4个扩展端口
|
总共4个主机端口、4个扩展端口
|
逻辑分区
|
最小8个
|
最小2个
|
扩展性
|
配置第4-6个扩展柜需要购买单独的许可(license)
|
配置第1-3个扩展柜需要购买单独的许可(license);配置第4-6个扩展柜也需要购买单独的许可(license)
|
参考资料:
IBM 官方网站: http://www-03.ibm.com/systems/storage/disk/ds4000/ds4700/specifications.html
《DS4700 Data Sheet》
地址: ftp://ftp.software.ibm.com/common/ssi/pm/sp/n/tsd01828usen/TSD01828USEN.PDF
IBM 官方网站: http://www-03.ibm.com/systems/storage/disk/ds4000/ds4700/specifications.html
《DS4700 Data Sheet》
地址: ftp://ftp.software.ibm.com/common/ssi/pm/sp/n/tsd01828usen/TSD01828USEN.PDF
DS4800-80A/82A的区别:
5、DS4700/DS4800/EXP 默认带多少个SFP?
DS4800-80A
|
DS4800-82A
| |
扩展性
|
配置第8-14个扩展柜需要购买单独的license
|
满配扩展柜不需要额外的license
|
升级
|
不能向上升级
|
可以向上升级到84A和88A
|
性能
|
80A与82A在性能上会有差别
|
80A与82A在性能上会有差别
|
DS4700/DS4800/EXP810/EXP420默认均带有一半的SFP,详情如下:
DS4200
|
DS4700
|
DS4800
|
EXP810
|
EXP420
| |
默认SFP数量
|
4个
|
70A:4个
72A:6个 |
8个
|
2个
|
2个
|
最大SFP数量
|
8个
|
70A:8个
72A:12个 |
16个
|
4个
|
4个
|
另外,FC#2410选件包括一对,即两个SFP模块
6、什么是RAID6?DS4000 是否支持RAID6?需要什么样的先决条件?
RAID6是一种增强的数据保护方式。RAID6有两种实现方式:RAID6 DP和RAID6 p+q。RAID6功能使用双数据校验(p+q)方式,双校验数据分布在阵列中的所有硬盘中。RAID6目的在于防止多磁盘错误导致阵列不可用。
DS4000支持RAID6功能,需要storage manager10.10以及7.10的微码。只有DS4200,DS4700支持RAID6。
7、DS4000 是否支持大于 2TB的 逻辑盘?有没有先决条件?
DS4000支持RAID6功能,需要storage manager10.10以及7.10的微码。只有DS4200,DS4700支持RAID6。
支持大于2TB的逻辑盘。需要Storage Manager 10.10 以及微码版本7.10。
8、DS4000的兼容性问题?兼容哪些服务器类型?和HBA卡的兼容?和哪些操作系统兼容?以及兼容的SAN Switch?
(1)请查看兼容性网站 System Storage Interoperation Center (SSIC)
http://www-03.ibm.com/systems/support/storage/config/ssic
在Product Family中选择IBM System Storage Midrange Disk,然后选择对应型号的DS4000以及相关参数
http://www-03.ibm.com/systems/support/storage/config/ssic
在Product Family中选择IBM System Storage Midrange Disk,然后选择对应型号的DS4000以及相关参数
(2)请查看DS4000兼容性列表文档
参考资料:
IBM System Storage DS4000 Interoperability Matrix》
下载地址:
http://www-03.ibm.com/systems/storage/disk/ds4000/pdf/interop-matrix.pdf
9、当前DS4000系列产品FW7.10版本微码需要注意的事项
IBM System Storage DS4000 Interoperability Matrix》
下载地址:
http://www-03.ibm.com/systems/storage/disk/ds4000/pdf/interop-matrix.pdf
针对当前DS4000系列产品FW7.10版本微码,提示如下:
1. DS4000微码版本是FWV7.1x, 操作系统使用的是AIX5.3版本,建议使用Maintance Level为ML6或ML7;如果Maintance Level为ML04,在保证系统生产安全的前提下,建议对进行升级。否则操作系统可能出现不正常报错信息.相关最新信息请跟踪查看相关网站内容::
http://www-304.ibm.com/systems/support/supportsite.wss/docdisplay?brandind=5000008&lndocid=MIGR-5074414 或最新版本的兼容性列表。
2. 目前,DS4000 V7.1x微码版本对HACMP软件支持还有问题,详细信息请留意IBM网站相关提示:
http://www-304.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-5073716&brandind=5000008
10、是否可以在一个DS4700或者一个EXP810里面混插FC硬盘和SATA硬盘?
在一个DS4700或者一个EXP810里面是可以混插FC硬盘和SATA硬盘的,但是从性能角度考虑还是建议把FC硬盘和SATA硬盘放置在不同的EXP(磁盘箱)中。如果在一个EXP(磁盘箱)中实现FC硬盘和SATA硬盘混插的功能,必须购买“FC/SATA Enclosuer Intermix Activation” License(许可),并且保证盘柜、扩展柜、硬盘的微码都是最新版本。
11、DS4000微码升级到07.1x后,不支持小于10MB的LUN
问题描述:
在07.1x.xx.xx微码版本下,LUNs容量最小为10MB,存储系统不允许建立小于10MB的LUN。当微码从06.xx.xx.xx升级到07.1x.xx.xx时,所有的LUN必须大于10MB。
如果升级前存在小于10MB的LUN,升级过程将失败,LUN将变为导出(exported)状态。更严重的是LUN将可能无法成功导入(imported)
受影响的硬件:
TotalStorage DS4700, Type 1814, any model
TotalStorage DS4800, Type 1815, any model
TotalStorage DS4200, Type 1814, any model
TotalStorage DS4800, Type 1815, any model
TotalStorage DS4200, Type 1814, any model
受影响的微码版本:
07.1X.XX.XX and later
07.1X.XX.XX and later
临时解决方法:
在升级微码到07.1x.xx.xx之前,请确保所有的LUN的容量都大于10MB
12、Windows Server 2008 Enterprise简体中文版无法安装DS4000 Failover驱动的临时解决方法
在升级微码到07.1x.xx.xx之前,请确保所有的LUN的容量都大于10MB
在Windows Server 2008 Enterprise简体中文版操作系统下,安装IBM Storage DS4000 Storage Manager v10.15,无法安装Storage manager 10 Agent、Utilities和Fail-over driver等组件。我们可以通过附件中的方法临时解决该问题。
注意事项:
在英文版的Windows Server 2008 Enterprise SP1中没有出项上述问题
在中、英文版的Windows Server 2003中没有出现上述问题
在非服务器版本的Windows操作系统(例如:Vista、XP等)中没有Host相关的Storage manager 10 Agent、Utilities和Fail-over driver等组件,属于正常现象
“系统区域”是一种语言,用于显示未使用Unicode的程序的菜单和对话框中的文本。在计算机上安装其他显示语言时,可能需要更改默认系统区域。为系统区域选择不同的语言,不会影响Windows或其他使用Unicode的程序的菜单和对话框中的语言。(摘自 Windows2008 帮助与支持)。
如果服务器安装了第三方软件,请咨询软件厂商确认更改“系统区域”可能造成的影响。
13、DS4000是否支持SAN Boot方式下的路径故障切换(Path Failover)
首先,DS4000支持SAN Boot方式,所谓SAN Boot就是服务器将操作系统安装在外部基于SAN网络的存储上面,进行引导启动的一种技术,而不是传统上将操作系统安装在本地磁盘或直连的存储上。SAN Boot也称作Boot from SAN。
路径故障切换(Path Failover),是指一台主机上的两块HBA卡通过SAN网络分别连接到DS4000的两个控制器,当其中一条链路出现问题,数据链路将切换到另外一条链路上,从而保证系统运行的连续性。
DS4000在SAN Boot方式下对于路径故障切换(Path Failover)的支持在不同操作系统下各有不同:
AIX环境,在系统通过SAN Boot启动时,DS4000不能实现路径故障切换(Path Failover);但是AIX主机启动完成进入系统后,路径故障切换(Path Failover)可以正常工作。
Windows环境,非Cluster情况下,SAN Boot方式可以实现路径故障切换(Path Failover),但是在发生路径故障时,如果主机有IO访问,系统将挂起大约30秒。此外,Cluster情况下,不能实现SAN Boot方式的路径故障切换(Path Failover)。
Linux环境,在系统通过SAN Boot启动时,DS4000不能实现路径故障切换(Path Failover);但是Linux主机启动完成进入系统后,路径故障切换(Path Failover)可以正常工作。
14、DS4000/DS5000添加新硬盘的步骤与注意事项
添加前的准备工作:
1.对DS4000或DS5000系统中的数据进行完全备份
2.确认备份已经成功
3.确认当前的系统的控制器微码,NVSRAM和ESM的微码(参考11)
注意:在升级微码前,请查看微码中的README文件,确认微码的升级步骤
4.确认硬盘微码为最新版本
5.确认当前DS4000或DS5000中的硬盘处于最佳(optimal)状态
6.如果连接了扩展柜,通过Storage Manager的Read_Link_Status功能和Major Event Log(MEL)功能,确认扩展柜环路(drive loop)处于最佳(optimal)状态
7.查看并解决Major Event Log(MEL)中的错误问题
8.保存当前DS4000或DS5000的配置信息
9.如果混插FC和SATA硬盘,请购买并激活混插许可
10.添加硬盘前,请检查硬盘与当前DS4000或DS5000的系统的兼容性(参考11)
11.更多详细工作请参考IBM System Storage DS4000 and DS5000 Hard Drive and Storage Expansion Enclosure Installation and Migration Guide文档中的第二章内容
2.确认备份已经成功
3.确认当前的系统的控制器微码,NVSRAM和ESM的微码(参考11)
注意:在升级微码前,请查看微码中的README文件,确认微码的升级步骤
4.确认硬盘微码为最新版本
5.确认当前DS4000或DS5000中的硬盘处于最佳(optimal)状态
6.如果连接了扩展柜,通过Storage Manager的Read_Link_Status功能和Major Event Log(MEL)功能,确认扩展柜环路(drive loop)处于最佳(optimal)状态
7.查看并解决Major Event Log(MEL)中的错误问题
8.保存当前DS4000或DS5000的配置信息
9.如果混插FC和SATA硬盘,请购买并激活混插许可
10.添加硬盘前,请检查硬盘与当前DS4000或DS5000的系统的兼容性(参考11)
11.更多详细工作请参考IBM System Storage DS4000 and DS5000 Hard Drive and Storage Expansion Enclosure Installation and Migration Guide文档中的第二章内容
该步骤适合于添加一个或者更多的新硬盘,如果添加的是使用过的硬盘,请确保该硬盘上的数据是不需要保留的或者已经对这些数据做过备份,仅当DS4000或DS5000电源打开并处于最佳(optimal)状态时,才将驱动器添加到系统中。
重要提示:该步骤将删除新添硬盘上的数据信息,如果您打算迁移硬盘,请不要用以下步骤.
重要提示:该步骤将删除新添硬盘上的数据信息,如果您打算迁移硬盘,请不要用以下步骤.
工作一:禁用驱动器迁移设置
__步骤1:打开Storage Manager客户端程序的Enterprise Management窗口
__步骤2:右键单击打算添加驱动器的DS4000/DS5000的名称并点击Execute Script
__步骤3:脚本编辑器窗口打开。单击File->Load Script
__步骤4:Load Script file seletion 窗口打开。找到并选择名为DisableDriveMigration.script的文件并单击OK。DisableDriveMigration.script文件通常在IBM DS4000 Storage Manager安装光盘的SCRIPT目录中或者控制器微码的SCRIPT目录中。使用此文件复位DS4000存储子系统设置,以忽略可能驻留在新发现的硬盘驱动器上的配置数据。
__步骤5:点击Tools->Verify and Execute以运行脚本。
__步骤6:完成脚本的执行后,请复位两个DS4000控制器以启用DS4000驱动器迁移设置(注意:最新的脚本中已经包括了复位控制器的命令)。要复位控制器,请打开Storage Subsystem Management窗口,并通过单击Advanced->Reset Controller按顺序(每次一个)对每个控制器进行复位。接着,在Reset Controller窗口打开时,按其中的指示信息执行操作。
__步骤1:打开Storage Manager客户端程序的Enterprise Management窗口
__步骤2:右键单击打算添加驱动器的DS4000/DS5000的名称并点击Execute Script
__步骤3:脚本编辑器窗口打开。单击File->Load Script
__步骤4:Load Script file seletion 窗口打开。找到并选择名为DisableDriveMigration.script的文件并单击OK。DisableDriveMigration.script文件通常在IBM DS4000 Storage Manager安装光盘的SCRIPT目录中或者控制器微码的SCRIPT目录中。使用此文件复位DS4000存储子系统设置,以忽略可能驻留在新发现的硬盘驱动器上的配置数据。
__步骤5:点击Tools->Verify and Execute以运行脚本。
__步骤6:完成脚本的执行后,请复位两个DS4000控制器以启用DS4000驱动器迁移设置(注意:最新的脚本中已经包括了复位控制器的命令)。要复位控制器,请打开Storage Subsystem Management窗口,并通过单击Advanced->Reset Controller按顺序(每次一个)对每个控制器进行复位。接着,在Reset Controller窗口打开时,按其中的指示信息执行操作。
工作二:插入驱动器
__步骤1:将驱动器成对(每次两个)插入空驱动槽。
__步骤2:等待(最多5分钟)直到每个驱动器对完全运转起来并显示在DS4000 Storage Subsystem Management窗口中,再插入下一个驱动器对。
__步骤1:将驱动器成对(每次两个)插入空驱动槽。
__步骤2:等待(最多5分钟)直到每个驱动器对完全运转起来并显示在DS4000 Storage Subsystem Management窗口中,再插入下一个驱动器对。
工作三:重新启动驱动器迁移设置
如果您执行了工作一:禁用驱动器迁移设置,以禁用DS4000存储子系统系统驱动器迁移设置,则请完成此工作可重新启用驱动器迁移设置。如果不完成此工作,则每当您可能因为某种原因从存储子系统中移除驱动器时,它的配置数据都将被清除。当存储子系统下一次识别这样的驱动器时,它会将其显示为未配置。
注意:为了防止数据丢失,请在完成硬盘驱动器添加过程后,将DS4000存储子系统驱动器迁移设置为启用。
如果您执行了工作一:禁用驱动器迁移设置,以禁用DS4000存储子系统系统驱动器迁移设置,则请完成此工作可重新启用驱动器迁移设置。如果不完成此工作,则每当您可能因为某种原因从存储子系统中移除驱动器时,它的配置数据都将被清除。当存储子系统下一次识别这样的驱动器时,它会将其显示为未配置。
注意:为了防止数据丢失,请在完成硬盘驱动器添加过程后,将DS4000存储子系统驱动器迁移设置为启用。
__步骤1:打开Storage Manager客户端程序的Enterprise Management窗口
__步骤2:右键单击打算添加驱动器的DS4000/DS5000的名称并点击Execute Script
__步骤3:脚本编辑器窗口打开。单击File->Load Script
__步骤4:Load Script file seletion 窗口打开。找到并选择名为EnableDriveMigration.script的文件并单击OK。EnableDriveMigration.script文件通常在IBM DS4000 Storage Manager安装光盘的SCRIPT目录中或者控制器微码的SCRIPT目录中。使用此文件复位DS4000存储子系统设置,以便检查可能驻留在新发现的硬盘驱动器上的配置数据。
__步骤5:点击Tools->Verify and Execute以运行脚本。
__步骤6:完成脚本的执行后,请复位两个DS4000控制器以启用DS4000驱动器迁移设置(注意:最新的脚本中已经包括了复位控制器的命令)。要复位控制器,请打开Storage Subsystem Management窗口,并通过单击Advanced->Reset Controller按顺序(每次一个)对每个控制器进行复位。接着,在Reset Controller窗口打开时,按其中的指示信息执行操作。
15、在Linux系统上安装DS4000的多路径软件RDAC
__步骤2:右键单击打算添加驱动器的DS4000/DS5000的名称并点击Execute Script
__步骤3:脚本编辑器窗口打开。单击File->Load Script
__步骤4:Load Script file seletion 窗口打开。找到并选择名为EnableDriveMigration.script的文件并单击OK。EnableDriveMigration.script文件通常在IBM DS4000 Storage Manager安装光盘的SCRIPT目录中或者控制器微码的SCRIPT目录中。使用此文件复位DS4000存储子系统设置,以便检查可能驻留在新发现的硬盘驱动器上的配置数据。
__步骤5:点击Tools->Verify and Execute以运行脚本。
__步骤6:完成脚本的执行后,请复位两个DS4000控制器以启用DS4000驱动器迁移设置(注意:最新的脚本中已经包括了复位控制器的命令)。要复位控制器,请打开Storage Subsystem Management窗口,并通过单击Advanced->Reset Controller按顺序(每次一个)对每个控制器进行复位。接着,在Reset Controller窗口打开时,按其中的指示信息执行操作。
1.使用 unmae -r 命令查看当前Linux系统的内核版本
2.下载RDAC驱动,登陆
http://www.lsi.com/rdac/ds4000.html (该连接通常对应Linux最新的内核驱动)
和
http://www.lsi.com/rdac/rdac_archive.html(该连接通常对应Linux老版本的内核驱动)
找到与当前Linux系统内核版本一致的RDAC驱动
例如:rdac-LINUX-09.02.B5.18-source.tar.gz的描述,我们可以知道该驱动支持Redhat EL 4.0-u6: 2.6.9-67.EL和SLES 9 SP4: 2.6.5-7.305
http://www.lsi.com/rdac/ds4000.html (该连接通常对应Linux最新的内核驱动)
和
http://www.lsi.com/rdac/rdac_archive.html(该连接通常对应Linux老版本的内核驱动)
找到与当前Linux系统内核版本一致的RDAC驱动
例如:rdac-LINUX-09.02.B5.18-source.tar.gz的描述,我们可以知道该驱动支持Redhat EL 4.0-u6: 2.6.9-67.EL和SLES 9 SP4: 2.6.5-7.305
3.在Linux系统中安装驱动
解压源码包:tar -zxvf rdac-LINUX-<version>-source.tar.gz
文件将被解压到"linuxrdac-<version>"的目录中
编译及安装:Make
Make install
编译时如果无法完成,请检查RDAC驱动版本是否与Linux系统内核版本一致,以及Linux是否安装了编译所需的相关组件
安装成功后,可以在/boot目录下看到 mpp-<version>.img 的文件
解压源码包:tar -zxvf rdac-LINUX-<version>-source.tar.gz
文件将被解压到"linuxrdac-<version>"的目录中
编译及安装:Make
Make install
编译时如果无法完成,请检查RDAC驱动版本是否与Linux系统内核版本一致,以及Linux是否安装了编译所需的相关组件
安装成功后,可以在/boot目录下看到 mpp-<version>.img 的文件
4.编辑启动项菜单/boot/grub/menu.lst(不同版本名字可能有区别,如:grub.conf),将mpp-<version>.img加入启动项
如:加粗字体表示在menu.lst中添加的信息
如:加粗字体表示在menu.lst中添加的信息
default=4
timeout=10
splashp_w_picpath=(hd1,1)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.9-34.Elsmp)
root (hd1,1)
kernel /vmlinuz-2.6.9-34.Elsmp ro ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.9-34.Elsmp.img
title Red Hat Enterprise Linux AS (2.6.9-34.El)
root (hd1,1)
kernel /vmlinuz-2.6.9-34.El ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.9-34.El.img
title Other
rootnoverify (hd0,0)
chainloader +1
title Red Hat Enterprise Linux AS (2.6.9-34.Elsmp) with RDAC
root (hd1,1)
kernel /vmlinuz-2.6.9-34.Elsmp ro root=LABEL=/ rhgb quiet
initrd /mpp-2.6.9-34.Elsmp.img
timeout=10
splashp_w_picpath=(hd1,1)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.9-34.Elsmp)
root (hd1,1)
kernel /vmlinuz-2.6.9-34.Elsmp ro ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.9-34.Elsmp.img
title Red Hat Enterprise Linux AS (2.6.9-34.El)
root (hd1,1)
kernel /vmlinuz-2.6.9-34.El ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.9-34.El.img
title Other
rootnoverify (hd0,0)
chainloader +1
title Red Hat Enterprise Linux AS (2.6.9-34.Elsmp) with RDAC
root (hd1,1)
kernel /vmlinuz-2.6.9-34.Elsmp ro root=LABEL=/ rhgb quiet
initrd /mpp-2.6.9-34.Elsmp.img
5.重新启动Linux系统,并选择mpp方式启动
16、B16/B5K/B64默认是否带有SFP? 是否有端口激活许可? 级联是否需要License
2005-B16/B5K/B64分别是16/32/64端口的光纤存储交换机。这些交换机上的SFP模块都需要花钱购买,如果购买的SFP模块超过了交换机总端口数的一半,就需要购买端口激活的许可。
2005-B16默认激活8个端口,端口激活许可是fc#7515,一个fc#7515激活4个端口,最多购买两个fc#7515。默认不支持级联,即E_Ports,需要fc#7450 Full Fabric的激活许可,一个Fabric里最多支持10台。
2005-B5K默认激活16个端口,端口激活许可是fc#7514,一个fc#7514激活8个端口,最多购买两个fc#7514。默认即支持级联。
2005-B64默认激活32个端口,端口激活许可是fc#7520,一个fc#7520激活16个端口,最多购买两个fc#7520。默认即支持级联。
2005-B16默认激活8个端口,端口激活许可是fc#7515,一个fc#7515激活4个端口,最多购买两个fc#7515。默认不支持级联,即E_Ports,需要fc#7450 Full Fabric的激活许可,一个Fabric里最多支持10台。
2005-B5K默认激活16个端口,端口激活许可是fc#7514,一个fc#7514激活8个端口,最多购买两个fc#7514。默认即支持级联。
2005-B64默认激活32个端口,端口激活许可是fc#7520,一个fc#7520激活16个端口,最多购买两个fc#7520。默认即支持级联。
17、
转载于:https://blog.51cto.com/ashly/994639