ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ONTAP 8.2 7-Mode命令行实战:从入门到避坑与迁移对照

ONTAP 8.2 7-Mode命令行实战:从入门到避坑与迁移对照 简介《ONTAP 8.2 7-Mode命令行命令说明手册》是NetApp官方发布的CLI命令参考文档面向存储管理员、系统运维工程师及数据中心技术支持人员适用于ONTAP 8.2 7-Mode环境下的日常配置、状态监控与故障排查。资源为1个PDF文件压缩包大小1.32MB内容按功能领域划分章节从网络基础设置到存储资源管理均有覆盖。手册逐项解析了acpadmin访问控制与权限、aggr存储聚合管理、arpARP表项维护、autosupport自动支持诊断、cifsWindows文件共享与域集成等常用命令并给出语法格式、参数说明和操作实例同时完整收录volume、lun、qtree、backup、bootfs等命令参考页附带整册命令索引便于快速定位。已有537人学习下载适合需要精确掌握命令用法或频繁处理存储问题的IT人员。借助这份手册读者既能了解ONTAP 8.2 7-Mode的管理逻辑也能在遇到具体任务时直接查阅对应语法从而显著提升运维效率与排错能力。1. 接手一台还在跑ONTAP 8.2 7-Mode的旧存储命令行是唯一的门很多运维第一次接触ONTAP 8.2 7-Mode命令行不是因为新项目选了它而是因为接手了一台跑了好多年的老Filer。设备前面板只有一个串口Web界面早被安全策略关停能进系统的只剩SSH和telnet两条路而telnet进去连命令补全都不完整。这个时候手里那本SysAdmin手册的厚度直接决定了你是能安稳运维还是每天都在猜命令。7-Mode是NetApp在9.x全面转向Cluster-Mode之前最成熟的一套命令行体系它长得像UNIX骨子里却有一套自己的对象模型卷、聚合、VIF、SnapMirror各有各的命令入口和cDOT的语法差别非常大。这篇文章按一线运维视角把8.2 7-Mode命令行拆开讲清楚从Shell分层、权限切换到日常巡检和数据保护命令再落到参数调优和迁移对照给新接手的人一条能直接照着走的路径也给准备迁到cDOT的人一份命令翻译底稿。2. 7-Mode命令行体系先分清两种Shell再谈命令手册7-Mode的命令行和Linux终端最大的区别在于它不是一个通用的Shell而是围绕存储对象封装的一整套命令树。你敲进去的每个词都会被解析成对卷、聚合、网络接口、协议服务的具体操作所以它没有ls、ps这些通用进程命令却有vol status、aggr status这种粒度很粗的状态查询。登录进去之后系统默认给你的并不是root shell而是一个受限的Filer Shell。在这个Shell里跑的每条命令背后都映射到一组系统调用和持久化配置变更。对于8.2这个版本命令树已经非常稳定很多在8.0时代还能用的老命令在8.2里被标了deprecated但主体语法没动过所以照着旧手册翻新环境基本可行。2.1 登录入口与两种Shell的分工Filer Shell和 Maintenance Shell别走错门7-Mode设备登录后默认进入的是Filer Shell也就是我们日常敲vol、aggr、snap这些命令的地方。它有一套自己的命令补全机制按Tab键可以补全命令名和卷名回车执行后输出格式是类似表格的文本。这个Shell是只读和写入并存的状态查询类命令不需要额外权限但任何修改类操作都会先做语法检查再做权限校验。另一个Shell是Maintenance Shell通常在启动菜单里选Option 4进入对应的提示符是*它只用来做底层硬件维护比如更换磁盘、查看设备管理器、强制重启节点。日常运维里Maintenance Shell基本用不到但如果你发现一些存储对象查不到先确认自己是不是误入了维护模式。我一般会通过SSH登录命令很简单ssh admin192.168.10.20 # 登录后进入Filer Shell提示符类似 filer1登录之后先敲version确认系统版本这步很重要。8.2.0、8.2.1、8.2.2、8.2.3之间的命令细节有细微差别尤其是站点级别的version -v会显示完整的构建信息升级或者申请技术支持时都会用到它。确认版本后再用help查看当前可用的命令分类7-Mode的help输出是按模块分组的比如help vol、help snap、help aggr。这里有一点容易被忽略help显示的语法是简化格式真正的完整参数定义要靠man命令查看man vol status会翻出整页的字段说明和示例和Linux的man page结构类似但没有搜索高亮长参数页翻起来很费眼睛。2.2 priv set权限分层从read-only到diag别一上来就开最高权限7-Mode在权限设计上有一个特殊的命令叫priv set它用来切换当前会话的授权级别。默认登录是admin级别能看所有对象也能做大部分常规配置变更。往上还有advanced和diag两种advanced会额外暴露一批日常隐藏的参数比如卷的snapdir访问控制、某些NFS选项的扩展字段diag则是真正的超级用户模式能看到甚至修改底层诊断参数。在8.2 7-Mode里diag权限不做任何二次确认敲错一个参数可能直接导致服务中断。所以我的建议是日常查询和常规变更用admin需要查看隐藏字段或者修改高级选项时才临时切到advanceddiag只在支持工程师明确要求时才用。priv set admin # 普通权限能执行90%的日常运维命令 priv set advanced # 暴露隐藏参数提示符会变成 filer1* # 用完立刻切回: priv set admin priv set diag # 诊断权限可查看底层计数器误操作风险最高 # 退出会话重登也可以恢复默认权限这段会话里有几个值得注意的点。第一priv set advanced之后提示符会多一个*这是提醒你当前不是常规权限很多老工程师就靠这个星号判断有没有切干净。第二priv set只在当前会话生效不会写进配置所以不用担心切来切去留下后遗症。第三如果你用rsh或者ssh执行单条命令它默认用admin级别脚本里想用高级权限需要先写priv set advanced再写实际命令中间用;分隔不建议在脚本里轻易用diag。另外7-Mode的命令行历史非常浅关闭会话就丢了不像bash有history文件重要操作建议打开script命令做会话记录。2.3 命令树不是凭空想出来的用help和man反查手册结构刚上手7-Mode的人最容易犯的错是拿Linux的习惯去猜命令。以为查卷是df -h其实7-Mode里df确实存在但它只输出文件系统级别的使用率看不到聚合的层级关系。正确的思路是先敲help看一下顶层命令分组再逐层往里钻。7-Mode的顶层命令大概有vol、aggr、snap、snapmirror、ifconfig、vlan、vif、exportfs、cifs、nfs、iscsi、fcp、sysconfig、options、df、version等几十个每个下面又挂了一堆子命令。这种树状结构就是整本命令手册的骨架能把help vol的输出读明白等于把手册前一百页翻完了。help vol # 输出 vol 子命令清单例如 status, create, destroy, offline, online man vol status # 显示卷状态命令的完整字段说明、示例、注意事项这一段命令说明里help给的是菜单man给的是字典。生产环境里我查命令参数基本不等手册PDF直接在设备上man因为它和当前系统版本是严格对齐的不会出现手册版本比系统旧的情况。需要注意man的输出有时带一些历史遗留参数比如-b这种在8.2里已经不生效的选项判断标准是执行后有没有报unknown option。另外7-Mode支持命令简写比如vol stat、vol status都是合法写法但简写可能被解析成另一个命令批量操作之前先敲一遍完整语法确认。3. 日常运维三块硬骨头卷、聚合、快照的7-Mode命令行写法7-Mode日常最常碰的就是查容量、看快照、配复制这三件事。它们对应vol、aggr、snap、snapmirror这几组命令。很多从cDOT转过来的人会觉得7-Mode的查询输出太粗糙没有storage aggregate show -instance那种层次分明的字段但7-Mode的优势是命令短、输出直接一条命令能同时看到卷名、聚合名、总容量、已用容量和快照保留空间。关键在于理解输出的每个字段对应哪个层级以及哪些字段是估算值、哪些是精确值。3.1 卷和聚合的状态查询vol status与aggr status怎么读出容量告警卷和聚合是7-Mode的两个核心对象。聚合是物理磁盘组成的存储池卷挂载在聚合之上。7-Mode的卷有三种常见类型普通读写卷、Snapshot卷、还有FlexVol。vol status -v会列出当前节点的所有卷加上-v参数后输出会多一些字段比如卷的挂载点、所属聚合、状态、类型、配额状态。聚合的信息用aggr status -v查看它会显示每个聚合的RAID类型、磁盘数、总容量、可用容量、是否处于online状态。这两个命令是巡检脚本的核心组件我一般先看聚合再看卷聚合满了卷一定紧张但卷满了聚合不一定满因为快照还占着空间。vol status -v # 示例输出片段: # Vol State Status Options Contains # volA online raid_dp, flex - # aggregateaggr1 aggr status -v # 示例输出片段: # Aggregate aggr1 (online, raid_dp) (block checksums) # Plex /aggr1/plex0: online # RAID group /aggr1/plex0/rg0: normal这里的参数含义要拆开说。vol status -v里的Contains字段如果显示一堆卷名说明你查的是一个聚合而不是卷这个时候要改用vol status -v 卷名单独查。aggr status -v里的raid_dp是指双奇偶校验raid4是单奇偶校验看到raid0就要警惕那意味着没有冗余保护磁盘故障直接丢数据。还有个高频操作是查卷的快照保留空间vol status -v只显示Contains看不到快照细节需要配合snap list -v一起看。生产中磁盘告警的常见阈值是聚合用量超过90%这个值不是固定标准老环境IO压力小可以放到95%但如果聚合里有数据库卷建议85%就介入。3.2 快照与SnapMirrorsnap list与snapmirror status的字段解读快照在7-Mode里是一等公民它的底层实现是写时复制但命令行看到的只是一个带时间戳的只读副本。snap list -v按卷列出所有快照每个快照显示名称、创建时间、大小、总占用空间。注意这里有个容易误读的字段快照的Size是它当时占用的逻辑空间不是它在聚合里实际占用的物理空间两个快照之间如果数据重叠物理占用会远小于逻辑大小之和。快照满了或者数量超限最直接的影响是新的快照写不进去老的快照开始被自动淘汰系统默认策略是保留最近几个超过阈值就删最老的。snap list -v volA # Vol Snapshot Created Size Total # volA hourly.0 03/11 12:00 2.1GB 2.1GB # volA hourly.1 03/11 11:00 3.0GB 3.2GB snapmirror status -l # 输出示例: # Source Destination State Lag Status # volA volA_backup Snapmirrored 00:15:00 IdleSnapMirror的status -l输出里State是Snapmirrored表示关系正常Lag表示源端最新快照和目的端已应用快照的时间差正常应该在10到30分钟之间取决于你的同步周期。Status列出现Idle表示当前没有传输出现Transferring表示正在复制如果长时间停在Source Down或者Destination Down先查网络路径再查认证。这里有个7-Mode特有的限制SnapMirror关系是基于卷对卷的源卷和目的卷的名字可以不一样但目的卷必须预先创建并且不能挂载使用否则初始化会失败。批量检查所有SnapMirror关系可以用snapmirror status | grep -v Idle把异常项过滤出来这个习惯比漫无目的地翻输出高效得多。3.3 网络与协议配置ifconfig、vlan、vif在8.2的配置入口7-Mode的网络配置和Linux的ip命令完全不同它的物理网口叫e0a、e0b这种名字虚拟接口叫vifVLAN接口叫vlan10这种格式。查看当前网络状态用ifconfig -a它会列出所有接口的IP、掩码、状态和管理状态。8.2里接口的命名规则基本定型e0M是管理口e0a、e0b是数据口e0c、e0d在部分机型上被保留给集群互联。配IP的语法是ifconfig e0M 192.168.10.20 netmask 255.255.255.0改完立即生效但不会写进启动配置重启会丢。要持久化必须用rc文件管理命令rcstatus或者直接在/etc/rc里追加ifconfig行。ifconfig -a # 查看所有接口确认 e0M 管理口 IP ifconfig e0M 192.168.10.20 netmask 255.255.255.0 # 临时修改管理口IP立即生效重启丢失 vlan create 10 e0a # 在 e0a 上创建VLAN 10生成接口 vlan10 vif create multi vif0 e0a e0b # 创建多模式聚合接口 vif0绑定 e0a 和 e0bVLAN和VIF这两个配置对新手很不友好。vlan create 10 e0a之后接口名是vlan10再用ifconfig vlan10配IP。vif create支持多种模式单链路single、多链路multi、动态lacp生产环境建议直接用lacp因为聚合后的带宽是两条链路之和而multi模式主要是容错带宽不叠加。还有一个常见坑修改管理口IP前一定要确认自己还有别的入口比如串口或者第二块管理网卡。下面第5章会专门展开这个事故现场。4. 把手册落地成配置options参数、脚本化与命令日志命令手册翻完了最终要解决的是两个问题第一手册里写的default value到底能不能直接用第二那么多命令怎么变成可重复执行的脚本。7-Mode的很多行为都由options参数控制这些参数分布在协议、快照、安全、性能等多个域下面手册会给出每个参数的默认值但生产环境的合理值往往是默认值加一堆现场调整。脚本化方面7-Mode支持通过SSH或rsh执行单条命令也支持把多条命令拼成一行但它没有cDOT那么完善的API借口体系很多自动化工作还是靠命令行拼出来的。4.1 options命令把手册里的默认值当成起点而不是终点options命令是7-Mode的全局配置入口它管理着几百个参数从NFS的nfs.v3.enable、CIFS的cifs.smb2.enable到快照的snapmirror.enable、卷的vol.autosize都在这里设置。查看所有配置用options不带参数会刷出好几屏配合options nfs可以只看某类协议。修改配置的语法是options 参数名 值比如options nfs.v3.enable on。这里有个坑7-Mode的options命令不做类型校验你写on还是true它都接受但老版本对大小写敏感On可能会被当成非法输入统一用小写最保险。options nfs.v3.enable on # 开启NFSv3协议支持 options vol.autosize on options vol.autosize.shrink off # 开启卷自动扩容关闭自动缩容 options snap.reserve 20 # 设置新卷默认快照保留空间为 20%这三个典型参数背后都有值得说道的细节。vol.autosize默认是off一旦开启卷在接近满时会自动扩容最大可以扩到聚合的剩余空间上限。但自动扩容只对FlexVol有效传统卷不受这个参数控制。snap.reserve这个参数改的是新建卷的默认快照保留比例它不会影响已有卷想要调整已有卷要用vol volA snap-reserve 20这种卷级命令。另外options命令的修改是立即生效并且持久化的不需要保存配置文件但它生效的粒度不总是立刻作用于所有连接比如NFS参数改动可能要把已挂载的客户端重新挂载一次才看到效果。查参数用什么命令系统没有专门的options -q这种查询标记options加参数名就行比如options nfs会把所有带nfs字样的参数列出来这比翻手册定位快得多。4.2 脚本化巡检用SSH批量执行命令别跟交互式会话较劲7-Mode的脚本化和Linux不太一样。它没有cron接口直接跑命令常见做法是从一台Linux跳板机上用SSH批量登录到存储节点执行巡检命令再把结果重定向到文件。这个方案对8.2 7-Mode完全适用因为SSH服务默认开启认证方式支持密码和密钥但密钥需要提前通过useradmin配置导入。单条命令用ssh admin存储IP 命令多条命令用引号包起来、分号分隔。这里有个细节7-Mode的SSH执行命令时priv set是支持在同一个会话里串联的所以脚本里可以这样写#!/bin/bash # 批量巡检7-Mode存储卷状态、聚合状态、快照、SnapMirror HOSTS192.168.10.20 192.168.10.21 for HOST in $HOSTS; do echo $HOST : $(date) ssh admin$HOST priv set admin; vol status -v; aggr status -v; snapmirror status -l done /var/log/ontap_inspection_$(date %Y%m%d).txt这个脚本里有几个参数点值得注意。第一priv set admin;后面的分号是7-Mode命令分隔符没有它的话后面的命令会被当成priv set的参数导致执行失败。第二命令输出是纯文本没有结构化的JSON要拿到卷名和容量做阈值判断就得靠awk和grep解析文本字段位置会因为版本不同有偏移建议先跑一次存一份样本再写匹配规则。第三SSH的密码认证在脚本里没法直接传参要么用sshpass这种外部工具要么配置密钥登录前者在跳板机上做有点风险后者需要提前把公钥通过useradmin手工加入存储节点的admin用户。生产环境我更推荐密钥方案因为7-Mode的SSH服务对暴力破解没有特别强的防护密码长期写在脚本里迟早出事。4.3 命令日志与误操作后悔药priv set之前的会话记录习惯7-Mode本身没有像cDOT那样的完整审计日志所有命令执行记录虽然会写到/etc/messages但默认只记录级别较高的错误普通命令不落盘。这意味着你敲错一条命令连个回退依据都找不到。我的习惯是登录之后第一时间敲script /etc/CMDLOG_$(date %Y%m%d_%H%M).log这个命令会把当前会话的所有输入输出写入指定文件退出登录时自动停止。这样配合第5章要讲的备份策略才算有了一套完整的事故复盘工具链。script /etc/CMDLOG_20250601.log # 会话内所有输入输出写入该文件CtrlD 退出时停止记录script命令是Filer Shell内置的不需要额外权限但写入路径要在/etc或者/vol下你有权限的位置。这个习惯在变更窗口尤其管用改完网络配置、调完SnapMirror排列回头翻日志能精确到秒级知道自己敲了什么。还有个技巧7-Mode的命令行支持rerun执行上一条命令支持history查看当前会话历史但只限当前会话不像bash会持久化所以script记录几乎是唯一可靠的历史来源。血的教训是别嫌这一步麻烦等误操作完再想找命令日志系统早就刷新掉了。5. 避坑7-Mode命令行常见的五个“翻车现场”7-Mode命令行的坑大多是版本遗留和习惯错位造成的不是命令本身多难而是你以为它和你熟悉的东西一样。下面五条是我在8.2 7-Mode上踩过或者帮人排查过的典型问题每一条都按现象、原因、解决的顺序写照着排查能省大半天的折腾。5.1 坑1敲vol status volA报错not found但卷明明存在现象在Filer Shell里执行vol status volA系统返回volA not found。但你在vol status -v里明明看到这个卷而且它还是online状态。原因7-Mode的卷名是全局唯一的但命令解析时会把volA当成普通卷名去全局匹配如果这个卷挂在某个聚合下面但当前节点的卷表里没同步好就会报错。另一种更常见的原因是卷名拼写7-Mode的卷名区分大小写vola和volA是两个完全不同的对象。解决先执行vol status -v确认确切名称或者用Tab补全卷名不要手工敲全名。如果名称正确还是找不到执行vol status -v对比Contains字段确认卷是不是在一个不在线或处于offline状态的聚合里离线聚合下的卷默认不可见。vol status -v | grep volA # 显示 volA 所属聚合及状态, 确认聚合是否 online vol status -v 卷名 # 用Tab补全, 避免大小写拼写问题这类问题在从旧环境克隆卷名后特别常见比如源卷叫SALES_01克隆后叫sales_01脚本里沿用源卷名的大小写结果全部命不中。排查思路很简单先vol status -v拉全量再grep卷名看到真实大小写后复制粘贴别手打。5.2 坑2aggr status -v输出不完整看不到磁盘级状态现象执行aggr status -v输出了聚合名和状态但RAID组和磁盘信息没有显示连Plex信息都没有。原因当前会话的priv set级别不够aggr status -v的磁盘级明细在admin权限下会被过滤掉。这不是系统故障是权限遮蔽。解决执行priv set advanced再查看到*提示符后重新执行aggr status -v磁盘状态和RAID组信息会完整显示出来。注意advanced级别的输出里会有很多额外字段比如磁盘的checksum类型、scrub状态这些对判断磁盘健康很重要但对日常巡检就是噪音。priv set advanced aggr status -v # 此时能看到 RAID group 和磁盘成员 priv set admin # 用完立刻切回这里有个玄学有时候切了advanced还是看不到磁盘那是因为你登录的是V-Series或者FlexArray虚节点物理磁盘的属主不在本节点上。看聚合磁盘状态要确认当前节点是不是磁盘的实际属主aggr status -v会显示owner字段不是属主的节点看不到详细状态这不算bug是7-Mode的节点角色设计。5.3 坑3改了管理口IPSSH和telnet全部断开设备失联现象为了规划网段执行ifconfig e0M 新IP netmask ...命令执行成功但紧接着SSH会话断开再用新IP连不上旧IP也ping不通。原因管理口IP是即时生效的修改瞬间旧会话断开新IP如果不在你当前所在网段的路由范围内或者管理口的routing表没有写好网关数据包就出不去了。还有一个隐藏细节8.2 7-Mode的管理口默认开启了路由冲突检测如果新IP和某个VIF接口IP在同一网段系统会拒绝配置命令不报错但实际不生效。解决不要用SSH改管理口IP要么人就在机房串口前要么先确认串口可用再改。改之前先把网关写上命令是routing -a add default 新网关再加IP最后ping测试新IP的连通性。routing -a add default 192.168.10.1 # 先加默认路由, 防止改完IP后路由丢失 ifconfig e0M 192.168.10.20 netmask 255.255.255.0 # 再改管理口IP ping -c 3 192.168.10.20 # 本地自测新IP这条的血泪经验是永远不要把管理口和服务口混在一个网段更不要在无法物理接触到设备的时候做管理口变更。如果已经失联唯一的后悔药是通过串口进入Maintenance Shell在*提示符下用ifconfig回滚原IP或者重启设备让它重新加载/etc/rc里的旧配置。所以每次改网络前先编辑/etc/rc确认持久化配置是对的再执行临时修改。5.4 坑4SnapMirror初始化一直失败状态停在Initialize Failed现象配置完SnapMirror关系后执行snapmirror initialize -S 源卷 目的卷任务报Initialize Failedsnapmirror status -l里State是空的或者显示Source Down。原因最常见的不是网络不通而是目的卷处于挂载状态。7-Mode的SnapMirror目的卷必须处于restricted状态也就是被系统锁定、不能挂载不能写。如果目的卷创建后你顺手把它online了初始化必然失败。另一个常见原因是源卷的快照策略里没有保留基线快照7-Mode初始化SnapMirror需要有至少一个可行的快照作为基线如果源卷的快照全被删光了初始化无从谈起。解决确认目的卷状态是restricted然后用snapmirror initialize并带上-S参数指定源端同时检查是否有可用快照。vol status -v 目的卷名 # 确认 State 为 restricted, 不是 online snap list -v 源卷名 # 确认存在至少一个可用快照 snapmirror initialize -S 源卷路径 目的卷路径 # 手动触发初始化, 路径格式为 设备名:卷名如果初始化还是失败去/etc/messages里查SnapMirror报错码。7-Mode的报错码比较直白比如Transfer failed due to network error基本就是TCP连接被防火墙拦了Source or destination does not exist通常是主机名写错了。这里提醒一点SnapMirror的源和目的路径格式里设备名要用/vol/卷名的完整形式只写卷名在跨节点复制时经常解析不到。5.5 坑5删了快照聚合空间却没释放df显示可用空间没涨现象执行snap delete -v volA hourly.0命令成功但aggr status -v里可用容量几乎没有变化。原因快照在7-Mode里是引用计数的。你删除的只是一个快照条目它引用的数据块如果还被其他快照引用着就不会被回收。快照是链式结构的删除中间快照时系统会尝试合并数据块引用但如果有其他快照仍然保留了那些块聚合空间要等最后一个引用快照也被删掉才会真正释放。另一个原因是你删的是卷快照但聚合级快照还在聚合空间被聚合快照占着卷快照释放不了它。解决先用snap list -v volA看所有快照的创建时间和大小用snap compare确认快照间的数据引用然后按从新到旧的顺序删除最后用aggr status -v验证空间。snap delete -v volA hourly.1 # 先删最近的一个快照观察空间释放 aggr status -v # 确认可用空间变化不变再继续删下一层 snap list -v -n # 查看快照链的依赖关系很多人在这个坑里反复删错对象其实7-Mode的快照删除是按队列处理的后台回收器可能延迟几分钟才把空间真正还回来。执行snap delete后立即看空间没变是正常的等五分钟再看。如果长时间不释放执行priv set diag后敲snapreclaim start手动触发一次回收但这个命令会暂停该卷的写入响应急需谨慎低峰期用。6. 从8.2 7-Mode迁移到cDOT命令对照与验证技巧7-Mode的设备终归会走到迁移这一步不管是数据搬迁到新集群还是被迫升级到9.x的cDOT模式。命令行体系的跨度非常大7-Mode的vol status变成volume showaggr status变成storage aggregate showsnap list变成volume snapshot showifconfig变成network interface show看起来毫无关联。但这套对照关系其实有规律可循7-Mode是动词在前的对象动作结构cDOT是名词在前的对象show结构迁移时把动作换成show、create、modify、delete大半命令就能对上。# 7-Mode 写法 - cDOT 写法 # vol status - volume show # vol create - volume create # aggr status - storage aggregate show # snap list - volume snapshot show # snapmirror status -l - snapmirror show -v # ifconfig -a - network interface show迁移的过程中我建议先把7-Mode上的options全量导出来对照cDOT的options修改记录逐条确认因为很多参数在cDOT里名字变了比如nfs.v3.enable变成了vserver nfs show -fields v3。验证方法很简单迁完后用第3章的巡检脚本换个命令集跑一遍对比卷数量、聚合容量、SnapMirror滞后时间三个核心指标其中滞后时间最能说明复制链路是否健康。另外别忘了7-Mode的SnapMirror关系在迁移到cDOT后要重新建立cDOT支持从7-Mode迁移SnapMirror到集群但目的端的VServer要先创建好路径格式从设备名换成了VServer名这一步出错率最高。我的个人习惯是迁移前把7-Mode的/etc/rc、/etc/exports、/etc/hosts三个文件备份留档它们几乎记录了这台设备全部的持久化配置比翻命令日志快得多。8.2 7-Mode这套命令体系学会了不只是会运维一台老设备更是读懂了NetApp存储十年前的底层设计逻辑。希望这份命令行笔记能帮你在生产环境里少踩那些我已经踩过的坑也祝你迁移顺利、数据无恙。本文还有配套的精品资源点击获取
返回列表