我要提问
ARTICLE DETAIL

资讯详情

前沿编程新知与开发实战干货的深度解读。

IBM V3700磁阵配置实战:从插满硬盘到主机映射全流程

IBM V3700磁阵配置实战:从插满硬盘到主机映射全流程 简介IBM V3700磁阵安装配置手册为存储运维与实施人员提供了一套完整的入门与操作指南涵盖V3700物理结构、主柜与扩展柜线缆连接、基于LTE及GSM/UMTS/TD产品线的存储规划以及初始化安装、系统管理IP配置等核心环节。资源为1个PDF文件压缩包约4.34MB方便按章节查阅文档从硬件前后面板介绍到RAID划分、存储池创建均有清晰图文步骤适合刚接触Storwize V3700的工程师作为现场部署参考也可作为已有环境日常维护的速查手册。目前已有289人学习下载对于需要快速掌握V3700基本运维操作的读者而言是一份能直接对照执行的技术资料。1. 为什么说“插满硬盘”距离 V3700 能用还差三层配置把一台 IBM V3700 磁阵从包装箱里抬上机架接上电源、插满硬盘只是整个安装动作里最直观的一步。真正让不少运维卡住的是通电开机之后的那一段路硬盘明明全部 Ready但存储池建不出来卷映射给主机之后系统里看不到盘。V3700 的配置路径其实是一条清晰的链条——底层是物理硬盘组成的阵列中间是存储池上层才是卷和主机映射。任何一层没对上业务侧的表现都是“看不见盘”。这篇内容按实际交付顺序来讲从上架连线到初始化再到建池建卷、主机接入最后落到验证和排错。适合刚接手存储交付的运维也适合那些想让配置参数更扎实的同行。2. V3700 上架前控制柜、扩展柜、线缆与供电规划2.1 先看型号和盘位布局别把控制柜和扩展柜搞混V3700 在 IBM 存储家族里的定位是入门级 SAN 存储控制柜通常采用 2U 高度前面板是 24 个 2.5 英寸盘位。很多第一次做交付的人会把“控制柜”和“扩展柜”当成一回事实际上它们承载的任务完全不同控制柜里有控制器节点、缓存、主机端口和后端 SAS 端口而扩展柜只负责提供盘位和 SAS 级联。上架之前先确认到货清单里有几台扩展柜、配的是 2.5 寸盘还是 3.5 寸盘这直接决定 SAS 线怎么走、盘位顺序怎么排。和同门的 V3500 相比V3700 的双控制器是标配缓存和主机端口也更多通常支持 FC 和 iSCSI 两种前端协议。和定位更高的 V7000 相比V3700 没有内嵌虚拟化网关那套能力配置逻辑更直接。这个区别意味着V3700 的存储池、卷、主机映射都是在一台设备内部完成的不像 V7000 那样要处理外部存储接管。对大多数中小规模的数据库或虚拟化场景V3700 的配置负担反而更小。部件位置上架时最容易出的问题控制柜机架中部的 2U 空间前后导轨没对齐抽拉不顺畅扩展柜控制柜下方盘位编号和实际物理位置对不上电源模块机箱后部两侧双电源接到同一个 PDU失去冗余SAS 级联口控制器后部控制柜 A 连到扩展柜 B控制器 B 连到扩展柜 A交叉接反管理口控制器后部带管理标识的以太网口插成了主机业务口导致初始化时找不到设备常见做法是先把所有盘位按顺序插满再上电。但有一个细节值得提前注意V3700 的盘位编号从 0 开始前 24 个盘位属于内置存储扩展柜的盘位编号会继续往后排。后续创建阵列时命令里引用的是盘位号不是盘的序列号。如果上架时没记录盘位对应关系后面在 CLI 里看到一长串盘位号会很难判断哪块盘对应哪个物理槽位。2.2 SAS 级联线的接法A 进 A、B 进 B交叉是重灾区V3700 的扩展柜级联方式和大多数中端存储一样控制柜的两个控制器节点各自有一条链路连到扩展柜。这里有一个非常容易搞反的细节控制器 A 的 SAS 输出口要连接到扩展柜 A 控制卡的输入口控制器 B 同理。如果把控制器 A 接到了扩展柜 B开机后系统能发现扩展柜但会报拓扑错误甚至出现双控制器各自看到的盘不一样的问题。接线完成之后不要马上盖挡板。给每根线贴上标签注明“Ctrl-A Port1 → Exp-A In”这类信息。经验是磁阵交付中的连线问题比配置问题更隐蔽也更容易在后续维护时被误判为硬件故障。标签是最便宜的排错资产。如果扩展柜不止一台级联顺序也要固定。比如两台扩展柜正确做法是控制柜先连扩展柜 1再由扩展柜 1 的另一个 SAS 口连扩展柜 2。这样形成一条链而不是让控制柜分别往两台扩展柜上各拉一根线。链式级联的好处是每一台扩展柜都能被两个控制器同时访问到而星形接法在某些固件版本下会出现“DACover”错误也就是扩展柜归属冲突。2.3 上电顺序与初始自检上电顺序并不复杂但我建议按固定流程走一遍先开扩展柜的电源等 1 到 2 分钟让扩展柜完成自检再开控制柜。这个顺序的原因是让控制柜在启动时就能发现所有扩展柜避免出现“控制柜先启动、扩展柜后注册”的瞬时状态减少不必要的报错日志。两个电源模块最好分别接到两个不同的 PDU这是存储设备冗余配置里最基础也最容易被忽略的一条。上电之后观察前面板的液晶面板或指示灯。V3700 前面板有一个小的状态显示区可以切换到不同的页面查看控制器状态、温度、风扇转速和 IP 地址信息。正常启动过程中状态会经历“Booting”到“Ready”的变化。如果液晶面板上出现 E 开头的错误码先别急着进 GUI记录下错误码再去查固件版本的发布说明因为这类代码通常能直接定位到是电池未充满、扩展柜掉线还是温度超限。# 判断控制器是否就绪的前置检查项人工核对清单 # 1. 前面板液晶屏显示 Ready 或 Online而不是 Booting # 2. 两个控制器的风扇指示灯为绿色常亮 # 3. 扩展柜面板上的 SAS 链路指示灯为绿色 # 4. 无 E 开头的错误编码这套核对流程的意义在于它把抽象的“设备正常”拆成了四个可观察的状态点。任何一项不满足都不要继续做初始化否则后面可能出现配置写到一半控制器重启的尴尬局面。另外V3700 关闭控制器时有自己的顺序不能像关 PC 一样直接拉电必须在 GUI 或 CLI 里执行关机操作。这个习惯最好从上架第一天就养成。3. V3700 初始化拿到管理 IP 并完成引导配置3.1 用管理口连接设备确认当前管理 IP控制柜后部有专门的以太网管理口网线插上去之后前面板液晶屏可以在信息页里看到当前的管理 IP 地址。新出厂设备的默认状态可能是 DHCP 也可能是一个固定的出厂地址具体以设备铭牌和随箱说明为准。拿到 IP 之后先用电脑 ping 一下这个地址确认链路通。ping 192.168.70.121能 ping 通意味着管理网络是通的。如果 ping 不通先检查网线是不是插在了管理口而不是主机业务口再看电脑的 IP 是否和管理 IP 在同一网段。还有一个常见坑管理口默认可能开启了 VLAN 隔离或速率协商异常尝试把电脑网卡强制设为百兆全双工再试。V3700 对网线质量比较敏感超五类网线跑百兆没问题但跳线过长或线序错误会导致间歇性丢包表现就是 GUI 页面能打开但是操作经常超时。首次登录时V3700 会自动跳转到初始化向导。这里要说明一下账号体系默认管理账号通常是 superuser初始密码在设备随附的资料里有说明。登录之后向导会要求修改密码如果密码长度或复杂度不满足要求向导会卡住。建议直接设置一个包含大小写字母、数字和符号的密码后续在配置脚本里也要避开特殊字符被 shell 转义的问题。3.2 初始化向导的三件套系统名、时区、管理 IPV3700 的初始化向导界面很直接常见需要设置的内容有三块系统名称、时区、管理 IP。系统名称会作为主机名出现在告警和 syslog 里建议用机房缩写加用途的方式比如SH-CWDB-ST01而不是默认的IBM_2072。时区一定要设为本地时区否则后面看告警日志的时间戳还要换算排错时很容易被误导。管理 IP 的设置要谨慎。这个 IP 是后续所有 CLI、GUI 和监控系统连接设备的入口配置好之后不要随便改。如果设备会被监控软件纳管还要确认管理口是否允许被监控服务器直接访问。很多生产环境的防火墙上监控服务器和存储管理网是隔离的需要提前在防火墙上放行。初始化完成后V3700 会显示系统概览页面包含两个控制器的状态、缓存大小、固件版本。此时还不急着建存储池先看一眼两个控制器的软件版本是否一致。双控制器的固件版本如果不一致后面做主备切换时会出现行为不符合预期的现象。3.3 用 SSH 进入 CLI验证初始化结果图形界面配完之后我习惯再用 SSH 登录一次 CLI 确认底层状态。V3700 的 CLI 和图形界面操作的是同一套配置CLI 更适合批量操作和脚本化交付。ssh superuser192.168.70.121 # 查看系统整体状态 lssystem # 查看控制器节点状态 lsnode # 查看当前已识别的硬盘 lsmdisklssystem的输出里重点看stat字段是否为online以及两个节点的io_group 0是否为冗余状态。lsmdisk在最开始配置时可能只显示一条系统内置的 mdisk这是正常的因为物理硬盘还没有创建成阵列。需要区分的是lsmdisk显示的是存储设备层面的“管理磁盘”它可以是物理硬盘组成的阵列也可以是后续创建的逻辑单元。V3700 在阵列创建后会为每个阵列生成对应的 mdisk再把这些 mdisk 加入存储池。如果lsmdisk里看不到任何盘说明硬盘还没有被接管需要回到 GUI 里检查物理盘状态看是否有硬盘处于unsupported或failed状态。4. 用 CLI 和 GUI 创建阵列、存储池与卷4.1 先理解 mdisk、Array、Pool、Volume 的层级关系V3700 的存储配置模型是一个严格的分层结构物理硬盘 → 阵列 / mdisk → 存储池 → 卷Volume。磁盘阵列就是常说的 RAID 组它被系统转化为一个 mdisk多个 mdisk 可以加入同一个存储池存储池的空间再被切割成卷映射给主机使用。这个模型里容易被新手误解的是“卷”和“分区”的区别。卷在磁阵侧创建主机侧看到的是磁盘LUN需要在主机里再分区、建文件系统。卷本身只是一个逻辑空间大小、RAID 类型、所属存储池在创建时确定。V3700 支持在线扩容卷也支持把卷从一个存储池迁移到另一个存储池但这些都是后话初始交付时最要紧的是把这一层的结构理清楚。4.2 RAID 类型怎么选容量、性能与重建时间的平衡V3700 支持常见的 RAID 0、RAID 1、RAID 5、RAID 6 和 RAID 10。做交付规划时大部分场景在 RAID 5 和 RAID 10 之间选择RAID 6 用于大容量机械盘场景因为单盘容量越大重建时间越长重建期间再坏一块盘的风险也越高。RAID 类型最少盘数可用容量特点典型场景RAID 53(n-1) × 单盘容量读写均衡额外容量成本低文件服务、备份存储RAID 64(n-2) × 单盘容量可坏两块盘但写入开销大大容量 SATA/NL-SAS 盘RAID 104n/2 × 单盘容量写入性能好重建快成本高数据库 OLTP、虚拟化容量计算需要一个具体的例子6 块 1.2TB 的 10K SAS 盘做 RAID 5可用容量是 (6-1) × 1.2TB 6TB而不是 7.2TB。RAID 10 可用容量是 3.6TB。差异很直观但实际规划里存储池还要预留一部分空间给 V3700 的内部元数据和未来的快照。预留比例取决于业务一般建议预留 10% 到 20%不要把存储池用到 100%。条带深度也是阵列参数里值得关注的一项。V3700 创建阵列时的 strip size 指的是条带大小默认值通常是 256KB。对数据库场景如果主要负载是 8KB 到 16KB 的小块随机读写256KB 的条带会让单次 IO 横跨更多磁盘反而增加了寻道开销。我一般会在数据库场景调到 128KB文件服务和大块顺序读写的场景保持 256KB 即可。4.3 创建阵列、存储池和卷的命令序列初始化完成后从 GUI 的“存储”菜单进入可以看到“硬盘”页面。把要组建阵列的硬盘勾选上选择 RAID 类型系统会给出这个阵列的可用容量预览。确认后阵列创建完成接着创建存储池再把阵列加入存储池。存储池也叫 “Pool”在 GUI 里显示为中文的“存储池”。CLI 方式更直接也方便在多个盘组一致的时候批量操作。下面的命令序列展示了从创建阵列到创建卷的完整过程。# 查看所有物理硬盘的当前状态 lsmdisk # 使用盘位 0 到 5 这六块盘创建 RAID 5 阵列 # -level 指定 RAID 级别 # -strip 指定条带大小数据库场景建议 128 mkarray -level raid5 -strip 128 -drive 0,1,2,3,4,5 -name Array1 # 查看阵列是否创建成功 lsarray # 创建存储池 Pool1 mkpool -name Pool1 # 把阵列加入存储池 addmdisk -pool Pool1 -mdisk 0 # 查看存储池容量 lspool # 在 Pool1 中创建 500GB 的卷供数据库主机使用 # -unit 指定容量单位 mkvolume -pool Pool1 -size 500 -unit gb -name Vol_DB命令的逻辑顺序是先选物理盘做阵列再建池最后从池里切卷。mkarray里的-drive参数引用的是盘位号多个盘用逗号分隔注意不要用空格。盘位号不代表物理位置它由机箱背板决定和前面板的槽位标签一一对应。mkvolume创建出来的卷在 GUI 里可以看到卷名Vol_DB会作为后续映射到主机时的标识。如果卷名起得有规律比如用Vol_前缀加用途后续主机多了之后排查映射关系会轻松很多。创建阵列时要特别注意V3700 会自动用阵列的一部分空间保存内部元数据所以lsarray里看到的容量会略小于手工计算值这是正常现象。另外阵列创建之后盘位上如果出现故障盘替换新盘之后需要手动执行chmdisk操作让系统重新识别这一步常被漏掉导致新盘插上去之后依然报 degraded。4.4 批量场景用脚本创建多组阵列和卷当设备盘位数较多需要按照不同 RAID 策略分组时逐条在 GUI 点击会非常耗时。CLI 的批量操作在这里就能体现价值。下面是一个简单的思路示例通过循环创建多组存储池和卷。# 分别使用盘位 0-9 和 10-19 创建两个 RAID 5 阵列 mkarray -level raid5 -strip 128 -drive 0,1,2,3,4,5,6,7,8,9 -name Array_DB mkarray -level raid5 -strip 256 -drive 10,11,12,13,14,15,16,17,18,19 -name Array_File # 创建两个对应的存储池 mkpool -name Pool_DB mkpool -name Pool_File # 把阵列分别加入存储池 addmdisk -pool Pool_DB -mdisk 0 addmdisk -pool Pool_File -mdisk 1 # 在数据库池里批量创建 10 个 200G 的卷 for i in $(seq 1 10); do mkvolume -pool Pool_DB -size 200 -unit gb -name Vol_DB_0${i} done这个循环脚本会自动生成Vol_DB_001到Vol_DB_010的卷名。批量创建卷时要注意卷名长度和字符集限制V3700 的卷名是大小写敏感的不要使用中文或特殊符号。另一个容易被忽视的点是for循环里如果遇到某个卷创建失败脚本不会自动停止所以执行完之后要再次用lsvolume核对最终数量而不是看到脚本跑完就认为全部成功。5. 主机接入FC/iSCSI 映射与多路径配置5.1 创建主机定义FC 看 WWPNiSCSI 看 IQN卷创建完成只是第一步主机要真正使用这些卷必须先把“主机”这个概念告诉 V3700。V3700 的主机定义是一个逻辑对象它代表一台访问存储的服务器。定义主机时需要把主机 HBA 卡或 iSCSI 启动器的标识加进去。FC 场景下主机侧需要先安装 HBA 卡并安装正确的驱动然后查看卡的 WWPN。Linux 系统可以通过lsscsi或/sys/class/fc_host下的目录获取 WWPNWindows 系统在设备管理器里也可以查到。拿到 WWPN 后在 V3700 的“主机”页面里创建主机选择 FC 协议粘贴 WWPN。如果一台主机有两张 HBA 卡两个 WWPN 都要加进同一个主机定义里这样后续映射卷时会自动配置多路径。iSCSI 场景下需要的是主机的 iSCSI Initiator 名称IQN格式类似iqn.1994-05.com.example:app01。在 Linux 上执行cat /etc/iscsi/initiatorname.iscsi可以找到。# Linux 主机上查看 WWPN systool -fc host -v | grep -E port_name|device_name | sort -uport_name字段就是主机的 WWPN格式是0x10000090FA123456。把这个值记下来添加主机时会用到。V3700 支持主机集群功能也就是把多台主机定义成一个主机集群同一个卷可以一次性映射给集群里的所有主机。这个功能对双机热备环境非常实用比如两台应用服务器组成集群存储卷只需要映射一次两台主机都能看到。5.2 卷映射给主机scsi_id 别冲突主机定义好之后把卷映射给主机。映射时可以指定 LUN ID也就是主机侧看到的 SCSI 设备编号。如果不指定系统会自动分配。但经验是最好手动规划 LUN ID尤其在主机要挂载多个卷时让 LUN ID 和卷名对应起来排查起来会省很多时间。# 在 V3700 CLI 上 # 创建主机定义app01 是主机名后面的字符串是主机 HBA 卡的 WWPN mkhost -name app01 -hbawwpn 10000090FA123456 -type fc # 把这个主机加入一个主机集群可选 addhostcluster -name cluster_app -host app01 # 把卷 Vol_DB 映射给主机 app01指定 LUN ID 为 0 mkvdiskhostmap -host app01 -scsi 0 Vol_DB # 查看映射结果 lsvdiskhostmapmkvdiskhostmap是命令的核心参数-scsi 0指定 LUN ID 为 0。注意一个细节V3700 中 “vdisk” 和 “volume” 是同一个概念CLI 里保留了 vdisk 的叫法GUI 里显示为卷。主机侧看到的 LUN ID 和这里设置的 SCSI ID 一一对应。同一台主机上两个卷不能使用相同的 LUN ID否则系统会报冲突。如果有映射冲突取消映射的命令是rmvdiskhostmap。5.3 多路径配置Linux 侧用 DM-Multipath映射完成后主机侧必须安装多路径软件才能让两个控制器都提供服务。Windows 上通常使用 IBM 提供的多路径驱动而 Linux 上使用内核自带的 DM-Multipath。安装完成后需要编辑/etc/multipath.conf指定别名和路径策略。# /etc/multipath.conf 关键配置段 defaults { user_friendly_names yes find_multipaths yes } multipaths { multipath { wwid 36005076310810b1123000000000000 alias mp_db1 path_grouping_policy multibus failback immediate } }配置完成后重启多路径服务再查看状态。systemctl restart multipathd multipath -llmultipath -ll的输出里sdX.Y代表主机识别到的物理路径同一块盘通过两个控制器会显示多条路径。mp_db1是配置里定义的别名如果别名没有生效多半是wwid里包含了空格或者大小写不一致从/dev/disk/by-id/里重新复制一遍最稳妥。path_grouping_policy multibus的含义是让所有路径都参与 IO这样两条链路都保持活跃性能利用更充分。failback immediate表示当故障路径恢复后立即切回避免长期运行在降级链路状态。对于 iSCSI 接入的主机多路径配置类似但需要在主机侧先发现 target再扫描 session。# iSCSI 主机侧发现并登录存储的 iSCSI target iscsiadm -m discovery -t sendtargets -p 192.168.130.1 iscsiadm -m node -L all发现成功后执行multipath -ll能看到基于 iSCSI 的多路径。iSCSI 多路径的一个常见问题是主机的多个网卡必须划分到不同网段且每个网段对应 V3700 的一个 iSCSI 端口。如果两台主机网卡的 IP 在同一网段V3700 会认为它们通过同一链路访问绕过了多路径的冗余设计可能导致路径 failover 时 IO 中断。5.4 FC 和 iSCSI 的选择策略V3700 同时支持 FC 和 iSCSI 接入选择哪种协议要看现有基础设施。新建机房或已有 FC 交换机的情况下FC 是更稳的选择延迟更低交换机层面的 zone 配置让排错更简单。没有 FC 交换机的小规模环境用 iSCSI 走已有万兆网络也能跑得不错。对比项FCiSCSI性能稳定低延迟依赖网络质量成本需要 HBA 卡和 FC 交换机复用以太网络即可排错难度看 Zone 和 WWPN看网段、VLAN 和 iSCSI sessionV3700 侧配置主机端口对 FC 交换机iSCSI 端口配 IP 和 IQN当主机是 IBM Power 系列小型机比如常见的 Power 720 或更高型号时大多数场景会优先选择 FC 接入因为 IBM 小型机在 FC 链路上与自家存储的兼容性更好。在配置前务必在 IBM 官方支持站点上核对主机型号、操作系统版本、HBA 卡驱动和 V3700 固件的兼容性列表不要只看协议一致就动手。比如 System x3650 M5 这类 x86 服务器带 Emulex 或 QLogic 的 HBA 卡驱动版本太旧会出现链路能识别但 IO 不稳定的情况而且这种问题在磁阵两侧都看不出明确报错极难排查。6. 上线验证用 lssystem/lsvolume/lsfabric 三条链路确认配置生效6.1 从磁阵侧验证映射关系配置工作收尾时按照“磁阵 → 网络 → 主机”顺序逐层验证效率最高也能避免在错误层面浪费时间。# 第一步确认卷存在且状态为 online lsvolume # 第二步确认卷已经映射给正确的主机 lsvdiskhostmap # 第三步确认主机到存储的光纤链路全部 Active lsfabriclsvolume输出里每一行代表一个卷Online 表示卷状态正常lsvdiskhostmap会显示卷名、主机名和 LUN IDlsfabric输出的是实际链路状态包括每个主机端口到控制器端口的连接情况。如果lsfabric里某一侧的链路是 Empty 或 Degraded先查 FC 交换机的 Zone 配置再查线缆一般是这两个位置的问题。6.2 从主机侧验证盘符和多路径状态磁阵侧映射完成主机侧还需要一个动作才会发现新盘。FC 主机上执行重新扫描iSCSI 主机上重新登录 session。# FC 主机重新扫描 SCSI 总线 for host in /sys/class/scsi_host/host*; do echo - - - $host/scan done # 查看新出现的盘 lsblk # 查看多路径设备状态 multipath -lllsblk显示的sdX设备对应到磁阵的卷multipath -ll显示的多路径设备就是主机侧真正要使用的盘符。确认新盘出现后用它建分区和文件系统但注意要在多路径设备上操作而不是底层的sdX。在底层sdX上建文件系统的后果是当路径切换后文件系统会丢失因为sdX只是多路径设备的一条物理路径不是稳定的设备标识。6.3 常见故障的排查顺序主机看不到盘的排查顺序应该是先看主机、再看链路、最后看磁阵而不是反过来。很多新人习惯先去磁阵上查实际上问题往往出在主机侧。现象排查位置常用命令磁阵有卷主机看不到盘主机 HBA 驱动和 FC 链路dmesg | grep -i fcmultipath -ll显示单路径Zone 配置或交换机端口lsfabric映射后主机重启丢失盘卷映射在磁阵上丢失lsvdiskhostmap链路正常但 IO 慢多路径策略不正确multipath -ll看 active path 数量碰到“映射了但看不到盘”的报障先确认主机有没有重扫总线这是最高频的遗漏项。接着看multipath -ll确认路径数量。如果只有一条路径查 FC Zone。如果lsfabric显示链路正常但主机依然看不到盘再回到lsvdiskhostmap看映射是否存在。这个顺序覆盖了绝大多数场景。一个值得记住的技巧是V3700 的告警日志Event Log里记录的每一条事件都有时间戳和事件 ID。遇到说不清原因的故障先把事件 ID 抄下来按 ID 去搜索对应固件版本的发布说明往往比闷头翻配置更快。很多 IBM 存储的已知问题都隐藏在事件 ID 的描述里而不是配置界面上。本文还有配套的精品资源点击获取
返回列表