第 4 卷 第 4 期 2009 年 12 月 震 灾 防 御 技 术 Technology for Earthquake Disaster Prevention Vol. 4, No. 4 Dec., 2009 董 星 宏, 贾 宁, 李 瑞 华, 2009. 区 域 地 震 信 息 网 站 简 易 备 份 策 略 和 实 现. 震 灾 防 御 技 术,4(4):455 460. 1 区 域 地 震 信 息 网 站 简 易 备 份 策 略 和 实 现 董 星 宏 贾 宁 李 瑞 华 ( 陕 西 省 地 震 局, 西 安 710068) 摘 要 本 文 在 综 合 分 析 地 震 行 业 区 域 中 心 门 户 网 站 基 础 架 构 的 基 础 上, 根 据 地 震 信 息 发 布 的 安 全 需 求, 对 网 站 数 据 备 份 与 恢 复 的 技 术 和 策 略 进 行 了 分 析, 提 出 了 一 种 简 单 易 行 的 网 站 数 据 备 份 与 恢 复 的 流 程 和 机 制, 并 在 实 际 应 用 中 得 到 运 用 该 方 法 简 单 实 用 和 易 行, 为 网 站 技 术 系 统 的 运 行 维 护 提 供 了 一 种 借 鉴 模 式 关 键 词 : 门 户 网 站 备 份 恢 复 前 言 地 震 部 门 的 门 户 网 站 是 政 府 发 布 地 震 信 息 进 行 防 震 减 灾 工 作 宣 传 普 及 地 震 科 普 知 识 提 高 全 社 会 防 震 减 灾 意 识 的 重 要 窗 口, 其 重 要 性 和 意 义 是 显 而 易 见 的 在 5.12 汶 川 地 震 应 急 期 间, 各 区 域 地 震 信 息 中 心 门 户 网 站 及 时 发 布 震 情 信 息, 发 挥 了 重 要 作 用, 但 在 此 期 间 也 曾 出 现 过 一 些 安 全 问 题, 造 成 了 一 定 的 社 会 不 良 影 响 一 旦 网 站 的 发 布 信 息 被 篡 改, 或 由 于 软 件 和 硬 件 问 题 而 出 现 死 机 时, 如 何 保 证 网 站 数 据 安 全, 进 行 快 速 的 系 统 和 数 据 恢 复 是 一 个 迫 切 需 要 解 决 的 问 题 1 背 景 经 过 十 五 项 目 建 设, 地 震 行 业 信 息 网 络 已 初 具 规 模, 各 省 级 区 域 地 震 信 息 中 心 节 点 都 建 立 了 各 自 的 门 户 网 站 ( 李 卫 东 等,2005) 多 数 系 统 采 用 了 清 华 同 方 公 司 开 发 的 门 户 网 站 后 台 (Vital Information 解 决 方 案 的 内 容 管 理 平 台 ), 该 软 件 基 于 Suse Linux 系 统, 采 用 java+tomcat+mysql 开 发 该 软 件 是 通 过 生 成 静 态 页 面 的 方 式 发 布 内 容 的, 为 提 高 并 发 情 况 下 服 务 器 的 负 载 能 力 提 供 了 有 力 的 保 证 各 区 域 中 心 节 点 的 门 户 网 站 部 署 一 般 采 用 2 台 服 务 器, 其 中 1 台 是 Web 服 务 器, 用 于 提 供 Web 应 用 连 接 服 务 ( 称 为 前 台 设 备 ); 另 1 台 服 务 器 作 为 内 容 管 理 和 数 据 库 服 务 器 ( 称 为 后 台 设 备 ) 由 于 各 单 位 网 站 数 据 备 份 的 需 求 不 尽 相 同, 现 行 的 门 户 网 站 数 据 备 份 策 略 还 不 完 善,Web 服 务 器 的 数 据 一 般 采 用 手 工 ftp 等 方 式 来 实 现 备 份 本 文 通 过 对 地 震 区 域 中 心 门 户 网 站 的 数 据 来 源 分 析, 利 用 基 于 Linux 的 开 源 软 件 rsync, [ 收 稿 日 期 ] 2009-07-15 [ 作 者 简 介 ] 董 星 宏, 男, 生 于 1974 年 工 程 师 主 要 从 事 网 站 维 护 和 应 用 开 发 工 作 E-mail:dxhdxhzk@hotmail.com
456 震 灾 防 御 技 术 4 卷 结 合 Linux 的 shell, 较 方 便 地 解 决 了 目 前 门 户 网 站 的 数 据 备 份 和 恢 复 问 题 2 备 份 策 略 2.1 备 份 数 据 来 源 分 析 多 数 单 位 的 Web 服 务 器 和 后 台 数 据 库 服 务 器 的 操 作 系 统 和 配 置 基 本 相 同, 操 作 系 统 基 本 采 用 Suse Linux, 所 以 暂 不 用 考 虑 操 作 系 统 相 关 文 件 的 备 份 地 震 行 业 区 域 中 心 的 门 户 网 站 数 据 主 要 存 在 于 以 下 3 个 方 面 : (1)Web 容 器 文 件 该 文 件 主 要 是 指 tomcat 软 件 的 相 关 文 件, 它 主 要 提 供 http 服 务, 也 可 作 为 Servlet/JSP 容 器 数 据 文 件 路 径 一 般 为 /usr/local/tomcat( 用 户 也 可 能 安 装 到 其 它 路 径 下 ), 其 路 径 下 包 含 tomcat 的 相 关 配 置 文 件 和 数 据 库 连 接 配 置 等 重 要 文 件 在 tomcat 的 安 装 路 径 下, 还 包 含 有 门 户 网 站 的 页 面 模 板 文 件 ( 前 台 页 面 的 布 局 显 示 模 板 ), 主 要 存 在 于 /usr/local/tomcat6/webapps/manage/web-inf/template 另 外 在 /usr/local/tomcat6/webapps/manage/html 下, 主 要 是 门 户 网 站 软 件 后 台 发 布 后, 根 据 数 据 库 内 容 生 成 的 Web 静 态 文 件 (2) 网 站 数 据 内 容 文 件 主 要 是 以 mysql 数 据 库 文 件 ( 库 文 件 名 一 般 为 yakcms) 形 式 存 在 的, 路 径 一 般 默 认 为 /var/lib/mysql/yakcms (3) 网 站 上 传 文 件 主 要 指 用 户 从 后 台 上 传 的 新 闻 图 片 doc 文 档 和 视 频 文 件 等 门 户 网 站 系 统 默 认 的 存 放 路 径 为 :/usr/local/yak, 目 前 该 软 件 的 上 传 文 件 只 能 存 在 于 Web 前 台 服 务 器 中 需 要 说 明 的 是, 以 上 所 述 的 默 认 路 径, 如 果 用 户 自 行 修 改 后, 请 按 实 际 路 径 处 理 为 了 能 快 速 恢 复 网 站 数 据, 通 常 应 镜 像 备 份 以 上 3 个 路 径 下 的 所 有 文 件 2.2 备 份 设 备 和 备 份 频 度 一 般 来 说, 前 台 服 务 器 中 的 门 户 网 站 数 据 (html 文 件 和 附 件 文 件 ) 都 应 在 备 份 机 ( 数 据 库 服 务 器 ) 对 应 路 径 下 进 行 镜 像 备 份 而 且, 建 议 在 备 份 机 挂 载 存 储 系 统 的 一 个 磁 盘 阵 列 ( 约 200G 的 存 储 空 间 ), 主 机 中 的 所 有 网 站 数 据, 也 应 该 在 这 个 200G 的 存 储 空 间 中 进 行 一 个 镜 像 备 份 该 空 间 的 数 据 备 份 再 由 存 储 系 统 的 热 备 系 统 进 行 热 备 整 体 备 份 情 况 见 图 1 综 合 陕 西 地 震 信 息 中 心 门 户 网 站 的 数 据 量 来 看, 地 震 行 业 区 域 中 心 每 周 新 增 新 闻 条 数 不 超 过 10 条, 因 此 在 备 份 频 度 方 面 一 般 每 周 进 行 1 次 备 份 图 1 备 份 过 程 示 意 图 Fig. 1 Schematic diagram of the backup process 2.3 备 份 工 具 的 选 择 综 合 考 虑 认 为,Linux 下 的 开 源 软 件 rsync 进 行 双 机 间 或 远 程 备 份 效 果 比 较 好 ( 曾 鸣 等, 2007), 它 主 要 有 以 下 特 性 :1 可 以 镜 像 保 存 整 个 目 录 树 和 文 件 系 统 ;2 可 以 很 容 易 做 到 保 持 原 来 文 件 的 权 限 时 间 软 硬 链 接 等 ;3 无 须 特 殊 权 限 即 可 安 装 ;4 优 化 的 流 程 保 证 了 文 件 传 输 效 率 高 ;5 可 以 使 用 rcp ssh 等 方 式 来 传 输 文 件, 也 可 以 通 过 直 接 的 socket 连 接 ;6 可
4 期 董 星 宏 等 : 区 域 地 震 信 息 网 站 简 易 备 份 策 略 和 实 现 457 以 实 现 类 似 tar 的 增 量 备 份 本 文 中 主 要 利 用 rsync 进 行 从 Web 服 务 器 到 数 据 库 服 务 器 的 单 向 备 份 3 备 份 策 略 的 实 现 3.1 备 份 框 架 对 于 区 域 中 心 来 说, 一 般 采 用 2 台 服 务 器 来 运 行 门 户 网 站 系 统, 系 统 框 架 如 图 2 所 示 图 2 备 份 框 架 图 Fig. 2 Schematic diagram of the backup frame 在 Web 服 务 器 上 配 置 双 网 卡, 一 个 为 内 网 地 址 10.61.1.11; 另 一 个 为 外 网 地 址 221.11.*.* 同 时 作 为 rsync 软 件 的 服 务 端, 端 口 为 873 在 备 份 服 务 器 上, 门 户 网 站 的 相 关 配 置 和 Web 服 务 器 相 同, 但 它 还 安 装 mysql 数 据 库, 同 时 作 为 rsync 软 件 的 客 户 端, 仅 配 置 内 网 地 址 10.61.1.12 另 外 一 个 重 要 区 别 是, 该 服 务 器 上 挂 载 一 个 200G 的 存 储 空 间, 路 径 为 /mnt/menhuwangzhan, 该 空 间 同 时 也 存 储 Web 服 务 器 同 步 过 来 的 数 据 备 份 主 要 是 通 过 开 源 的 rsync 软 件 来 实 现 2 台 服 务 器 都 必 须 安 装 rsync, 前 台 服 务 器 须 运 行 rsync 服 务 端 在 Suse Linux10.1 操 作 系 统 默 认 已 经 安 装 了 rsync, 利 用 rsync 可 以 实 现 在 备 份 服 务 器 上 完 整 备 份 某 一 个 Web 服 务 器 数 据 文 件, 同 时 在 其 /mnt/menhuwangzhan 中 也 有 一 个 完 整 的 Web 服 务 器 备 份 和 Mysql 库 文 件 的 备 份 而 /mnt/menhuwangzhan 中 的 数 据 可 通 过 存 储 系 统 的 热 备 系 统 进 行 备 份 通 过 rsync 进 行 备 份, 需 在 服 务 器 和 客 户 端 修 改 rsync 的 相 关 参 数 配 置 3.2 系 统 环 境 前 台 Web 服 务 器 为 Suse linux10.1+tomcat,rsync 服 务 端, 其 IP 地 址 一 个 为 内 网 地 址 10.61.1.11; 另 一 个 为 外 网 地 址 221.11.*.* rsync 备 份 用 户 的 backup_user, 备 份 密 码 为 123456 后 台 数 据 库 和 备 份 服 务 器 为 Suse linux10.1+tomcat+mysql,rsync 客 户 端, 其 IP 内 网 地 址 为 10.61.1.12, 同 时 挂 载 一 个 200G 的 存 储 空 间 磁 盘 阵 列 采 用 RAID5 级 别 3.3 Web 服 务 器 设 置 修 改 /etc/rsyncd.conf 为 如 下 内 容 : gid = users read only = true use chroot = no
458 震 灾 防 御 技 术 4 卷 transfer logging = true log format = %h %o %f %l %b log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid hosts allow=10.61.3.12 auth users =backup_user secrets file = /etc/rsyncd.secrets slp refresh = 300 [yak] path = /usr/local/yak comment = backup yak attachment file [tomcat6] path = /usr/local/tomcat6 comment = backup tomcat6 directory 说 明 : 因 为 mysql 装 在 备 份 机 上, 暂 不 用 在 主 机 上 考 虑 此 备 份 更 改 yak 目 录 权 限 :chmod 755 yak 修 改 /etc/rsyncd.secrets 文 件 的 内 容 为 :backup_user:123456 最 后 启 用 rsync 服 务 :rsync daemon 或 加 入 到 启 动 项 中 :echo /usr/local/tomcat6/bin/./catalina.sh start >> /etc/init.d/after.local # 把 tomcat 的 Web 服 务 加 入 到 启 动 项 echo rsync daemon >> /etc/init.d/after.local # 把 rsync 服 务 加 入 到 启 动 项 3.4 备 份 服 务 器 设 置 修 改 /etc/rsyncd.secrets 文 件 的 内 容 为 :123456 测 试 文 件 同 步 为 : rsync -vzrtopgu --progress --password-file=/etc/rsyncd.secrets backup_user@10.61.1.11:: yak /mnt/menhuwangzhan/yak 如 果 出 现 文 件 复 制 进 度 界 面, 则 表 示 成 功 ; 否 则 请 分 别 在 主 机 和 备 份 机 中 执 行 chmod 600 /etc/rsyncd.secrets,/etc/rsyncd.conf 新 建 文 件 /etc/backup.sh, 并 赋 予 可 执 行 权 限, 内 容 如 下 : #!/bin/sh PARA= -vzrtopgu --progress --password-file=/etc/rsyncd.secrets rsync $PARAR backup_user@10.61.1.11::yak /mnt/menhuwangzhan/yak # 如 果 不 想 显 示 输 出 结 果, 参 数 中 去 掉 --progress rsync $PARA backup_user@10.61.1.11::tomcat6 /mnt/menhuwangzhan/tomcat6 rsync --delete $PARA backup_user@10.61.1.11::yak /usr/local/yak rsync delete $PARA backup_user@10.61.1.11::tomcat6 /usr/local/tomcat6 rsync a /var/lib/mysql/yakcms /mnt/menhuwangzhan/ # 备 份 本 机 mysql 的 yakcms 库 文 件 到 挂 接 的 磁 盘 阵 列 空 间 之 后, 修 改 /etc/crontab 文 件, 增 加 如 下 内 容 :
4 期 董 星 宏 等 : 区 域 地 震 信 息 网 站 简 易 备 份 策 略 和 实 现 459 00 12 * * 5 root /etc/backup.sh # 每 周 五 12 点 定 时 备 份 数 据 3.5 磁 盘 阵 列 设 置 加 载 磁 盘 阵 列 作 为 备 份 服 务 器 的 一 个 文 件, 并 将 备 份 数 据 放 入 其 中 ( 上 述 步 骤 已 实 现 ) 主 要 是 利 用 磁 盘 阵 列 的 冗 余 性, 进 一 步 保 证 数 据 的 安 全 本 机 硬 盘 识 别 为 sda, 而 存 储 被 系 统 自 动 识 别 为 sdb, 所 以 在 sdb 上 可 以 做 ext3 格 式 分 区 sdb1, 然 后 使 用 mount 挂 载 分 区, 挂 载 点 可 以 是 新 建 的 一 个 需 要 备 份 的 目 录 ( 例 如 /mnt/menhuwangzhan), 具 体 如 下 : mkdir /mnt/menhuwangzhan mount /dev/sdb1 /mnt/menhuwangzhan 4 备 份 数 据 恢 复 如 果 网 站 Web 主 服 务 器 瘫 痪 后, 可 根 据 具 体 情 况 选 用 以 下 方 法 进 行 恢 复 : (1) 若 备 份 服 务 器 的 mysql 不 能 启 用, 重 新 默 认 安 装 mysql, 拷 贝 原 mysql 库 文 件 cp -r /mnt/menhuwangzhan/yakcms /var/lib/mysql/yakcms (2) 若 备 份 服 务 器 的 mysql 正 常, 则 设 置 执 行 /usr/local/tomcat6/bin/.catalina.sh start, 启 动 http 服 务 执 行 双 路 由 设 置 route.sh, 设 置 备 份 机 的 外 网 IP 及 路 由 ( 因 规 划 中 本 机 设 置 了 一 个 内 网 IP), 执 行 前 要 断 开 原 主 服 务 器 的 外 网 网 线 ( 避 免 IP 冲 突 ) route.sh 内 容 如 下 : #!/bin/sh ifconfig eth0 10.61.1.* netmask 255.255.255.0 up ifconfig eth1 221.11.*.* netmask 255.255.255.0 up route add default gw 221.11.*.** //** 表 示 网 关 地 址 route add -net 221.11.*.0 netmask 255.255.255.0 dev eth1 route add -net 10.61.0.0 netmask 255.255.0.0 gw 10.61.1.1 dev eth0 注 意 : 上 述 内 容 中 两 块 网 卡 eth0 用 作 内 网 通 信, 而 eth1 用 作 公 网 通 信 请 根 据 具 体 情 况 修 改, 也 可 直 接 在 yast2 下 进 行 手 工 设 置 (3) 备 份 机 数 据 恢 复 到 主 机 主 要 是 在 原 Web 服 务 器 系 统 恢 复 正 常, 但 在 网 站 数 据 仍 不 正 常 的 情 况 下, 从 备 份 服 务 器 恢 复 数 据 到 主 机 具 体 方 法 如 下 : rsync avc /mnt/menhuwangzhan/tomcat6 10.61.1.11:/usr/local rsync avc /mnt/menhuwangzhan/yak 10.61.1.11:/usr/local 注 意 : 执 行 上 述 操 作 时, 需 提 示 输 入 密 码, 一 般 为 系 统 登 陆 口 令 另 外, 通 过 ssh 密 钥 认 证 的 方 法 也 可 解 决 此 问 题 5 备 份 策 略 实 现 中 应 考 虑 的 几 个 问 题 在 进 行 门 户 网 站 数 据 备 份 实 现 时, 还 应 考 虑 以 下 问 题 : (1) 本 文 中 所 提 到 的 网 站 部 属 架 构 是 一 种 非 常 简 易 的 门 户 网 站 部 署 模 式, 在 访 问 量 突 然 增 大 时, 管 理 后 台 可 能 无 法 登 陆, 造 成 相 关 信 息 无 法 及 时 发 布, 这 个 现 象 已 经 在 多 次 地 震 后 得 到 验 证 因 此, 此 时 应 暂 停 rsync 服 务, 暂 停 其 它 用 户 对 管 理 后 台 的 访 问, 以 尽 可 能 地 保
460 震 灾 防 御 技 术 4 卷 证 外 网 访 问 (2) 应 从 防 火 墙 等 方 面 限 制 文 中 所 述 的 应 用 软 件 ( 例 如 ssh rsync 等 ) 的 访 问 端 口 (3) 应 限 制 外 网 用 户 登 陆 门 户 网 站 后 台 管 理 界 面, 以 保 证 备 份 数 据 的 安 全 因 网 站 管 理 后 台 部 署 在 Web 服 务 器 上, 恶 意 用 户 有 可 能 登 陆 管 理 后 台 6 结 论 利 用 rsync 软 件, 结 合 Linux 的 shell 可 较 好 地 解 决 门 户 网 站 的 数 据 备 份 和 恢 复 问 题 该 方 法 简 单 易 行, 是 一 种 较 好 的 门 户 网 站 日 常 维 护 方 法 参 考 文 献 李 卫 东, 刘 治 等,2005. 中 国 地 震 信 息 服 务 系 统 技 术 规 程. 中 国 地 震 局. 曾 鸣, 徐 春 笙 等,2007. 基 于 ssh rsync 和 磁 盘 阵 列 的 邮 件 数 据 备 份. 大 众 科 学 ( 科 学 研 究 与 实 践 ),8 期 : 43 44. An Approach of Backup for Regional Seismic Information Websites Dong Xinghong, Jia Ning Li and Ruihua (Earthquake Administration of Shaanxi Province, Xi an 710068, China) Abstract By analyzing the basic frames of regional central portal websites of earthquake industry, and with accordance to security needs of earthquake information release, a data backup and recovery process and mechanism for Website is presented in this paper. Our approach is simple, practical and easy to be applied, and provides a reference model for technical maintenance of similar websites. Key words: Portal website; Backup; Recovery