简介:CommVault配置操作手册.doc是一份面向企业数据备份与容灾运维工程师的操作型资料,系统呈现CommVault从存储基础搭建到数据库备份恢复的完整配置流程。手册以截图配步骤的方式,依次讲解磁库与MediaAgent挂载、存储策略创建、文件系统备份与恢复、Oracle数据库备份与恢复、备份方案设置等模块,并在关键步骤中说明共享装载路径、连接身份与密码、保存周期、数据流数、重复数据删除、VSS备份、恢复目标计算机选择等细节,适合需要动手部署或日常维护备份系统的IT人员参照实施。资源为单个doc文档,压缩包大小约7.91MB,目录按配置任务划分,便于按图索骥。目前已有348人学习下载。通过该手册,读者能减少环境配置与排错中的盲目摸索,提升企业数据保护配置的规范性与效率。
1. CommVault配置操作手册:先把三个角色分清楚再点鼠标
刚接手一个备份环境,最让人难受的不是备份失败,而是备份失败的报错很含糊。早上打开邮件看到昨夜的 Job 写着失败,进 CommCell Console 看错误截图:无法卸载介质、媒体不在线、客户端连接超时。这不是一台设备的问题,多半是初始化配置里某个对象没对齐。CommVault 不是传统备份软件里“装完点一下备份”的工具,它把整个备份域拆成 CommServe、MediaAgent、客户端三层,再靠存储策略、子客户端、备份计划这几个对象把数据流串起来。这篇配置操作手册就围绕这套对象讲:从安装顺序、存储策略参数、子客户端边界,到第一次备份失败后按日志定位,最后落到恢复演练和保留副本配置。负责备份系统交付的运维、SRE 和 DBA 可以直接跟着做;已经接触过 CommVault 的人,重点看参数边界和排错那一部分。
2. 安装与初始化:CommServe、MediaAgent、客户端的先后顺序
2.1 装之前先回答 3 个选型问题
CommVault 安装不复杂,复杂的是把角色放在正确的位置。常见做法是先想清楚三件事:后端数据库放哪、CommServe 和 MediaAgent 是否分离、客户端装哪些 Agent。
第一,后端数据库。CommServe 默认可以用随安装包附带的 SQL Server Express,适合测试环境和数据量可控的备份域。如果预期备份数据超过几个 TB、保存周期超过半年,建议用独立 SQL Server 标准版。数据库膨胀之后报表查询会变慢,索引维护窗口不够才是隐患。安装时选择“使用现有 SQL Server 实例”,要用有 sysadmin 权限的账号,否则初始化建库会卡在最莫名的地方。
第二,部署形态。中小环境把 CommServe 和 MediaAgent 装在同一台机器上完全可以,备份域的瓶颈通常在磁盘库吞吐,不在 CPU。大环境建议 CommServe 独立,MediaAgent 靠近存储。注意 CommServe 安装完成后,不要再往同一个磁盘分区塞备份缓存,否则管理端所在磁盘一旦写满,整个备份域都会受影响。
第三,客户端组件。数据库服务器上的 MySQL Agent、SQL Server Agent 按需安装,别一次性全选。装多了的后台常驻服务和自检任务会增多,备份失败告警的噪声源也随之变多。
2.2 最小化安装:先 CommServe,再 MediaAgent,最后客户端
安装顺序是固定的:先装 CommServe,初始化完成后,再装 MediaAgent 并注册到 CommCell,最后在目标服务器安装客户端。反过来装容易出现注册不上的问题,排查起来还很绕。
装完 CommServe 后,先不要急着建存储策略,先确认服务与端口状态。用 PowerShell 可以做一次快速体检:
# 列出与 CommVault 有关的服务,确认关键服务都处于 Running Get-Service | Where-Object { $_.DisplayName -like '*CommVault*' } # 检查管理端口 8400 与数据传输端口 8403 的监听状态 Get-NetTCPConnection -LocalPort 8400,8403 -ErrorAction SilentlyContinue | Select-Object LocalAddress, LocalPort, State说明:第一段命令用来确认 CommServe 相关服务已启动;第二段检查两个默认端口的监听状态。名字带 CommVault 的服务有些是按需启动,只要主服务和数据服务在监听就视为正常。如果 8400 没有监听,多半是后端数据库初始化失败或服务被策略卡住,先看 Windows 事件日志再继续。
MediaAgent 装完后,用 CommCell Console 的“添加客户端”向导输入主机名和账号完成注册。这里有一个常见坑:注册时填的是计算机名,如果 DNS 解析不到,后续所有任务都会报“连接失败”。我一般会先在客户端 ping 管理端主机名,能通再接下去。
2.3 初始化 CommCell:建立第一块磁盘库并完成库扫描
第一次打开 CommCell Console,会提示创建介质库。常见做法是建一个 Disk Library,指向服务器本地的一块数据盘。建库时有几个点值得留意:
- 路径必须是本地挂载盘,不要指向网络共享或系统盘。网络共享做副本会拖慢吞吐,系统盘容易被备份数据塞满。
- 库的写入块大小保持默认即可,除非后面遇到大文件连续写入场景再调。
- 建完库后做一次库扫描,确认库状态为 Online,再继续配置存储策略。
介质库是整个流程的物理地基。库没就绪时存储策略可以建,但任务会一直卡在准备阶段。把这一步放在最前面,后面配置的试错成本会低很多。
3. 存储策略配置:CommVault 里最值得花时间的一组参数
3.1 先把介质库、副本、存储策略三者的关系理清
CommVault 配置里最容易绕晕的是对象层级。介质库是物理存储,可以是磁盘目录或磁带库;存储策略副本把策略指向介质库中的一块区域;存储策略是数据保留规则;子客户端再决定哪些数据进入策略。逻辑上从上到下是:子客户端到存储策略,存储策略到副本,副本到介质库。
一个存储策略可以配置多个副本,常见做法是做两个副本:一个指向本地磁盘库做快速恢复,一个指向远端或磁带库做长期保留。第一次配置时只建一个副本就够了。副本越多,备份任务等待每个副本完成的时延越长,出问题的面也越大。另外,存储策略和副本的名称一旦投入使用,尽量不要重命名,索引和任务历史里到处是关联引用,改名会带来不必要的管理负担。
3.2 存储策略参数表与推荐值
在 CommCell Console 的“策略”里创建存储策略时,主要参数列出来:
| 参数 | 建议值 | 说明 |
|---|---|---|
| 存储策略名称 | 按数据用途命名 | 例如 MySQL_7D_Local,别用拼音缩写的编号 |
| 副本数量 | 先设 1 | 生产环境再增加副本用于异地保留 |
| 目标介质库 | 指向已扫描的磁盘库 | 不要选未初始化完成的库 |
| 保留周期 | 按天/周/月/年组合 | 例如保留 7 天全量、4 周、12 个月 |
| 写流数量 | 不超过库的并发上限 | 流数过大会增加元数据索引压力 |
| 启用校验 | 首次可关,链路稳定后开 | 校验会增加耗时,但有助恢复成功率 |
说明几处:保留周期建议按“天 + 月”两个维度配置,不要只设一个无限期。无限期保留意味着索引和介质库空间线性上涨,没有整理窗口,后期只能靠临时加盘来延续。写流数量常被误解为越大越好;磁盘库的顺序写带宽有限,写流开太多时会被锁争用拖慢整体速度。启用校验在首次配置时可以关掉,等链路跑顺后再开,校验会读整份数据算校验值,对磁盘 I/O 敏感的环境放在周末窗口执行。
3.3 用日志和数据目录核对存储策略副本状态
创建完存储策略后,在策略属性里能看到副本状态,但 Online 不完全等于可用。最好实际跑一次小数据量备份任务,再看数据有没有落到介质库目录。检查介质库目录空间与文件增长,可以直接用系统命令盯增长:
# 以 Linux MediaAgent 为例,观察备份数据目录大小变化,确认写入持续 du -sh /backup/commvault_library sleep 60 du -sh /backup/commvault_library说明:第一次跑备份任务时,两次 du 输出的大小差就是实际落盘量。如果策略状态是 Online 但目录没有变化,说明数据没有从客户端流到介质库,问题多半出在客户端到 MediaAgent 的连接,或者存储策略与子客户端的关联上,这时候回任务日志查传输阶段。
核对副本状态时,如果发现数据文件增长明显大于预期,去副本属性里看索引大小。索引文件膨胀经常是因为子客户端数量增长但没有合并。规模上去之后,可以在备份计划里加一条索引优化周期任务,让它每月跑一次。这个做法的收益不直观,但对长期运行很重要。
4. 按数据源配置子客户端:文件系统与 MySQL 实例
4.1 文件系统子客户端:设置过滤项,先圈定备份边界
子客户端决定“什么数据进存储策略”。新建文件系统子客户端时,默认会把客户端的所有卷都纳入备份范围,这个默认值在生产环境通常是灾难:临时目录、数据库文件、虚拟机磁盘文件会被无差别扫一遍。
常见做法是建子客户端后立刻编辑内容规则,排除三类路径:
- 操作系统临时目录与浏览器缓存
- 页面文件和大日志目录,例如 pagefile.sys、软件包安装日志
- 其他备份工具的产物,例如数据库导入导出留下的 dump 目录
没必要一开始就追求精确到文件级的过滤,先把明显不该进备份路径的目录排掉,备份时长通常会下降 30% 以上。子客户端的内容规则调整后会立即影响下一次增量,不需要重启服务。
4.2 MySQL 实例子客户端:一致性备份与日志配置
MySQL 数据的正确备份方式不是靠文件系统 Agent 去拷贝数据目录,而是用 MySQL Agent 在子客户端里选好数据源,让备份过程与 InnoDB 的快照机制配合。配置前先确认 MySQL 开启了 binlog,否则日志备份和时间点恢复无从谈起。以 MySQL 8.0 为例,my.cnf 里至少要有:
[mysqld] server-id = 100 log-bin = /var/log/mysql/mysql-bin binlog_format = ROW expire_logs_days = 7 max_binlog_size = 256M说明:server-id 在复制环境里必须唯一;binlog_format 用 ROW,能保证误操作恢复时有行级别细节;expire_logs_days 控制 binlog 保留天数,这个值最少要覆盖备份策略里两次全量备份的间隔,否则日志备份链会断。
子客户端里配置 MySQL 数据源时,需要提供实例的连接地址和备份账号。备份账号建议单独创建,MySQL 8.0 下授权至少要包含 BACKUP_ADMIN、RELOAD、SELECT,否则会在准备阶段报权限不足。第一次全量备份建议放在业务低谷执行:InnoDB 下备份过程会借助锁机制和重做日志解析保证一致性,高峰执行会延长锁等待时间。
常见的 MySQL 备份节奏是:周末凌晨做一次全量,配合每 30 分钟一次的日志备份。这样恢复时最坏情况只丢 30 分钟数据。全量备份当天,日志备份不要停,否则从上一个日志备份点到全量结束之间会有一段空窗。
4.3 绑定备份计划:把窗口钉在业务低谷,而不是想当然
有了子客户端和存储策略,还缺时间轴。备份计划决定备份何时触发、失败后是否重试、全量与日志备份如何错开。我一般会给数据库实例建两条计划:
- 全量计划:一周一次,周六凌晨 2 点启动,允许延后 6 小时完成,失败重试 1 次。
- 日志备份计划:每 30 分钟触发一次,窗口不设结束时间,失败后立即重试,重试间隔 5 分钟。
数据库环境的日志备份失败比全量失败更危险,因为 binlog 不受控制地增长。计划里打开“任务失败告警”,并把告警级别调成紧急。文件系统子客户端只需要一条每日增量加每周全量的计划,没必要按数据库的节奏备份。
5. 第一次备份与配置错误排查
5.1 手动发起一次备份,端到端验证通路
配置完成后不要等计划触发,先在子客户端上右键发起一次手动完整备份。这样做的目的是把“配置错误”和“计划问题”分开:手动能成功,调度失败就是计划或窗口问题;手动也失败,问题在链路上。
任务运行时观察 Job 详情页几组关键指标:
- 准备阶段耗时,超过 2 分钟通常有元数据或连接问题
- 传输速率,低于 10MB/s 时需要怀疑网络、磁盘或防病毒扫描
- 数据量与实际预期是否一致,量差太多说明子客户端过滤规则误伤
5.2 按日志分层定位失败原因
备份任务失败时,错误码只是入口。常见做法是按三层日志找原因:Job 详情里的任务日志、客户端本地的备份日志、操作系统事件日志。在 Windows 客户端上可以先看服务状态和最近的日志:
# 确认客户端相关服务是否运行 Get-Service | Where-Object { $_.DisplayName -like '*CommVault*' } | Select-Object Name, Status # 取客户端日志目录中最近修改的 3 个日志文件,再过滤错误关键字 Get-ChildItem "$env:ProgramFiles\Commvault\Log Files" -Filter "*.log" | Sort-Object LastWriteTime -Descending | Select-Object -First 3 | Get-Content -Tail 300 | Select-String -Pattern "Error|Failed"说明:第一段命令定位服务层问题,第二段筛选日志尾部最近的错误。日志文件数量多时务必用 Tail 限制读取行数,否则全量扫一个目录会非常耗时。客户端日志里出现 access denied、连接超时、路径不存在这三个关键词时,分别对应账号权限、网络连通、子客户端内容规则三类原因。
5.3 高频配置错误对照表
实际交付环境里反复出现的问题,总结成下表,排查时按表格顺序走:
| 现象 | 可能原因 | 检查顺序 |
|---|---|---|
| 任务准备阶段卡住 | 介质库未 Online 或写流不足 | 先看介质库状态,再做库扫描 |
| 错误提示连接超时 | DNS 解析失败或 8403 端口不通 | ping 主机名,再用 telnet 测端口 |
| 凭据类报错 | 备份账号密码过期或权限不足 | 更新账号,再试一次手动任务 |
| 数据量偏大 | 子客户端过滤规则没生效 | 检查内容规则排除项 |
| 增量备份反常地慢 | 上次全量后文件元数据扫描过重 | 调整文件系统变更扫描参数 |
| 日志备份断链 | binlog 过期或被 purge | 检查 MySQL expire_logs_days 设置 |
6. 用恢复演练和保留副本配置做二次校验
6.1 恢复演练是配置的最终验收
配置是否成功的唯一标准是能不能恢复。常见做法是每季度挑一个文件系统子客户端和一个数据库子客户端各做一次恢复演练。文件系统可以恢复到临时目录,数据库恢复到一个独立实例,验证数据一致后丢弃。
恢复演练的具体动作可以按三种规模来:单文件恢复、整机恢复、数据库时间点恢复。时间点恢复价值最高,因为它能验证 binlog 备份链路是否完整。操作时把 MySQL 实例恢复到演练库,取一个业务表做 count 比对,比对通过后才能说明日志备份链没有断。恢复演练过程中注意记录“恢复速度”——这个数据比备份速度更值得存档,灾难发生时消耗的就是它。
6.2 在副本上同时配置天/周/月/年保留
存储策略副本支持按天、周、月、年四个维度同时保留版本,配置后 CommVault 会在时间轴上生成多粒度的恢复点。操作上在存储策略副本属性里设置四档保留,例如“保留最近 7 天、最近 4 周、最近 12 个月、最近 7 年”。日常恢复用天粒度,审计和合规需求用年粒度。注意每多一档保留,索引占用都会增加,启用后观察一两周索引空间变化,再决定是否调整。
最后补一个实用习惯:每次调整存储策略或子客户端后,手动触发一次校验任务,确认新配置下备份数据可读;再结合恢复演练的结果,把介质库剩余空间、平均传输速率、任务失败率三个指标记录下来,作为下一轮配置调整的依据。
本文还有配套的精品资源,点击获取