一、NBU系统概述
Veritas NetBackup(简称NBU)是企业级备份恢复解决方案,提供全面的数据保护功能。NBU支持多种操作系统、数据库和应用程序的备份,是企业数据保护的重要工具。
学习交流加群风哥微信: itpux-com,在FGedu企业的数据保护架构中,我们使用NBU构建了统一备份平台,实现了关键业务数据的全面保护。
1.1 NBU架构组件
组件说明:
1. Master Server(主服务器)
– 备份管理核心
– 存储目录数据库
– 调度备份作业
– 管理策略配置
2. Media Server(介质服务器)
– 管理存储设备
– 执行备份/恢复操作
– 数据传输中转
3. Client(客户端)
– 被备份的服务器
– 安装客户端软件
– 执行备份指令
4. Storage Unit(存储单元)
– 磁盘存储单元
– 磁带存储单元
– 云存储单元
# FGedu NBU架构
架构拓扑:
┌─────────────────┐
│ Master Server │
│ fgedu-nbu-ms │
│ 192.168.1.100 │
└────────┬────────┘
│
┌────────────────┼────────────────┐
│ │ │
┌───────┴───────┐ ┌──────┴──────┐ ┌──────┴──────┐
│ Media Server │ │Media Server │ │Media Server │
│ fgedu-nbu-md1 │ │fgedu-nbu-md2│ │fgedu-nbu-md3│
│ 192.168.1.101 │ │192.168.1.102│ │192.168.1.103│
└───────┬───────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
┌───────┴───────┐ ┌──────┴──────┐ ┌──────┴──────┐
│ Disk Storage │ │ Disk Storage│ │ Tape Library│
│ (MSDP) │ │ (Advanced) │ │ (TL) │
└───────────────┘ └─────────────┘ └─────────────┘
# 客户端分布
客户端类型:
– Linux服务器:50台
– Windows服务器:30台
– 数据库服务器:20台
– 应用服务器:40台
# 系统要求
Master Server:
– CPU: 16核以上
– 内存: 32GB以上
– 磁盘: 500GB(系统)+ 2TB(目录库)
– 操作系统: RHEL 7/8, Windows Server 2016+
Media Server:
– CPU: 8核以上
– 内存: 16GB以上
– 磁盘: 根据存储需求配置
– 操作系统: RHEL 7/8, Windows Server 2016+
Client:
– CPU: 2核以上
– 内存: 4GB以上
– 磁盘: 100GB以上
– 操作系统: 支持多种平台
二、NBU安装部署
2.1 Master Server安装
# 1. 系统准备
# 检查系统版本
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 8.6
# 检查内存和CPU
$ free -h
total used free shared buff/cache available
Mem: 62Gi 2.1Gi 58Gi 256Mi 2.5Gi 59Gi
Swap: 8.0Gi 0B 8.0Gi
$ nproc
16
# 配置fgedu.net.cn
$ hostnamectl set-hostname fgedu-nbu-ms.fgedu.net.cn
# 配置hosts
$ cat >> /etc/hosts << EOF
192.168.1.100 fgedu-nbu-ms fgedu-nbu-ms.fgedu.net.cn
192.168.1.101 fgedu-nbu-md1 fgedu-nbu-md1.fgedu.net.cn
192.168.1.102 fgedu-nbu-md2 fgedu-nbu-md2.fgedu.net.cn
EOF
# 2. 安装依赖包
$ yum install -y libnsl compat-openssl10 libaio
# 3. 创建安装目录
$ mkdir -p /opt/nbu_install
$ cd /opt/nbu_install
# 4. 解压安装包
$ tar -xzf NetBackup_10.0_LinuxR_x86_64.tar.gz
$ cd NetBackup_10.0_LinuxR_x86_64
# 5. 执行安装
$ ./install
# 安装过程输出
Do you want to install NetBackup? [y,n] y
Enter the license key: XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
License key validated successfully.
Select the type of installation:
1. Master Server
2. Media Server
3. Client
4. EMM Server
Enter choice [1-4]: 1
Enter the Master Server name [fgedu-nbu-ms]: fgedu-nbu-ms.fgedu.net.cn
Do you want to use a specific network interface? [y,n] n
Enter the location for NetBackup binaries [/usr/openv]: /usr/openv
Installing NetBackup Master Server...
Copying files...
Configuring services...
Creating EMM database...
Installation completed successfully.
# 6. 验证安装
$ /usr/openv/netbackup/bin/bp.conf
SERVER = fgedu-nbu-ms.fgedu.net.cn
CLIENT_NAME = fgedu-nbu-ms.fgedu.net.cn
CONNECT_OPTIONS = fgedu-nbu-ms.fgedu.net.cn 1556 2 0
# 检查服务状态
$ /usr/openv/netbackup/bin/bpps -a
NB Processes
--------------
root 12345 1 0 10:00 ? 00:00:05 /usr/openv/netbackup/bin/bpdbm
root 12346 1 0 10:00 ? 00:00:03 /usr/openv/netbackup/bin/bpjobd
root 12347 1 0 10:00 ? 00:00:02 /usr/openv/netbackup/bin/bprd
root 12348 1 0 10:00 ? 00:00:04 /usr/openv/netbackup/bin/bpsched
root 12349 1 0 10:00 ? 00:00:06 /usr/openv/netbackup/bin/nbproxy
# 7. 配置防火墙
$ firewall-cmd --permanent --add-port=1556/tcp
$ firewall-cmd --permanent --add-port=13720/tcp
$ firewall-cmd --permanent --add-port=13721/tcp
$ firewall-cmd --permanent --add-port=13782/tcp
$ firewall-cmd --permanent --add-port=13783/tcp
$ firewall-cmd --reload
# 8. 配置自启动
$ systemctl enable netbackup
$ systemctl start netbackup
2.2 Media Server安装
# 1. 系统准备(同Master Server)
# 2. 安装Media Server
$ cd /opt/nbu_install/NetBackup_10.0_LinuxR_x86_64
$ ./install
Do you want to install NetBackup? [y,n] y
Select the type of installation:
1. Master Server
2. Media Server
3. Client
4. EMM Server
Enter choice [1-4]: 2
Enter the Master Server name: fgedu-nbu-ms.fgedu.net.cn
Enter the Media Server name [fgedu-nbu-md1]: fgedu-nbu-md1.fgedu.net.cn
Enter the location for NetBackup binaries [/usr/openv]: /usr/openv
Installing NetBackup Media Server…
Copying files…
Configuring services…
Installation completed successfully.
# 3. 在Master Server上添加Media Server
# 登录Master Server
$ ssh fgedu-nbu-ms
# 添加Media Server
$ /usr/openv/netbackup/bin/admincmd/bpstuadd -label fgedu-nbu-md1 -host fgedu-nbu-md1.fgedu.net.cn
# 验证Media Server
$ /usr/openv/netbackup/bin/admincmd/bppllist -allpolicies | grep -i media
Media Server: fgedu-nbu-md1.fgedu.net.cn
# 4. 配置存储
# 配置磁盘存储
$ /usr/openv/netbackup/bin/admincmd/nbdevconfig -creatests -stype PureDisk -st fgedu-disk-stu
# 配置磁带库
$ /usr/openv/netbackup/bin/admincmd/tpconfig -add -robot 0 -robot_type tld -ctrlhost fgedu-nbu-md1 -v
# 查看存储设备
$ /usr/openv/netbackup/bin/admincmd/nbdevquery -liststs -U
Storage Server: fgedu-disk-stu
Type: PureDisk (Disk)
Status: UP
Total Capacity: 50.00 TB
Used Capacity: 12.50 TB
Free Capacity: 37.50 TB
三、存储单元配置
3.1 磁盘存储单元配置
# 1. 创建磁盘池
$ /usr/openv/netbackup/bin/admincmd/nbdevconfig -createdp -stype PureDisk -dp fgedu-disk-pool -storage_server fgedu-disk-stu
# 2. 创建存储单元
$ /usr/openv/netbackup/bin/admincmd/bpstuadd -label fgedu-disk-stu -dt disk -dp fgedu-disk-pool
# 3. 配置MSDP(Media Server Deduplication Pool)
# 创建MSDP存储服务器
$ /usr/openv/netbackup/bin/admincmd/nbdevconfig -creatests -stype PureDisk -st fgedu-msdp-server
# 创建MSDP磁盘池
$ /usr/openv/netbackup/bin/admincmd/nbdevconfig -createdp -stype PureDisk -dp fgedu-msdp-pool -storage_server fgedu-msdp-server
# 配置MSDP路径
$ /usr/openv/vsp/bin/crconfig -a -p /msdp_data
# 4. 查看存储单元
$ /usr/openv/netbackup/bin/admincmd/bpstulist -label fgedu-disk-stu -U
Storage Unit: fgedu-disk-stu
Label: fgedu-disk-stu
Type: Disk
Status: UP
Media Server: fgedu-nbu-md1.fgedu.net.cn
Disk Pool: fgedu-disk-pool
Max Jobs: 20
Max Fragment Size: 524288 MB
# 5. 配置存储生命周期
$ /usr/openv/netbackup/bin/admincmd/nbstl -add -name fgedu-gold-policy -version 1
$ /usr/openv/netbackup/bin/admincmd/nbstl -modify -name fgedu-gold-policy -add_destination -storage_unit fgedu-disk-stu -retention 30
# 6. 存储配额管理
# 设置存储单元最大作业数
$ /usr/openv/netbackup/bin/admincmd/bpstuadd -label fgedu-disk-stu -max_jobs 30
# 设置磁盘池容量告警
$ /usr/openv/netbackup/bin/admincmd/nbdevconfig -setdpalert -stype PureDisk -dp fgedu-disk-pool -capacity_threshold 80
3.2 磁带存储配置
# 1. 配置磁带库
$ /usr/openv/netbackup/bin/admincmd/tpconfig -add -robot 0 -robot_type tld -ctrlhost fgedu-nbu-md1 -v
# 2. 扫描磁带设备
$ /usr/openv/volmgr/bin/scan
Scanning for devices…
Found robot at /dev/sg0 (TLD 0)
Found drive at /dev/nst0 (IBM ULTRIUM-TD5)
Found drive at /dev/nst1 (IBM ULTRIUM-TD5)
# 3. 配置磁带驱动器
$ /usr/openv/netbackup/bin/admincmd/tpconfig -add -drive -index 0 -path /dev/nst0 -type hcart2 -robot 0 -robot_type tld -robot_drive 0
$ /usr/openv/netbackup/bin/admincmd/tpconfig -add -drive -index 1 -path /dev/nst1 -type hcart2 -robot 0 -robot_type tld -robot_drive 1
# 4. 创建磁带存储单元
$ /usr/openv/netbackup/bin/admincmd/bpstuadd -label fgedu-tape-stu -dt tape -mt hcart2 -dp fgedu-tape-pool
# 5. 配置磁带池
$ /usr/openv/netbackup/bin/admincmd/vmpool -create -pn fgedu-tape-pool -desc “FGedu Tape Pool”
# 6. 查看磁带设备
$ /usr/openv/netbackup/bin/admincmd/tpconfig -l
Drive Index Type Status Path
———– ——– ——– ———-
0 hcart2 UP /dev/nst0
1 hcart2 UP /dev/nst1
Robot Index Type Status Path
———– ——– ——– ———-
0 TLD UP /dev/sg0
# 7. 磁带标签操作
# 标签磁带
$ /usr/openv/netbackup/bin/admincmd/bplabel -m fgedu001 -d hcart2 -p fgedu-tape-pool -erase
# 查看磁带状态
$ /usr/openv/netbackup/bin/admincmd/vmquery -m fgedu001
Media ID: fgedu001
Media Type: hcart2
Volume Pool: fgedu-tape-pool
Status: FULL
KBytes: 1500000000
Last Written: 04/03/2026 10:00:00
四、备份策略配置
4.1 文件系统备份策略
# 1. 创建备份策略
$ /usr/openv/netbackup/bin/admincmd/bppladd fgedu-file-policy -v
# 2. 配置策略属性
$ /usr/openv/netbackup/bin/admincmd/bpplmodify fgedu-file-policy -active -v
# 3. 添加客户端
$ /usr/openv/netbackup/bin/admincmd/bpplclients fgedu-file-policy -add fgedu-web01 Linux RedHat2.6.18
$ /usr/openv/netbackup/bin/admincmd/bpplclients fgedu-file-policy -add fgedu-web02 Linux RedHat2.6.18
$ /usr/openv/netbackup/bin/admincmd/bpplclients fgedu-file-policy -add fgedu-app01 Linux RedHat2.6.18
# 4. 配置备份内容
$ /usr/openv/netbackup/bin/admincmd/bpplinclude fgedu-file-policy -add /data
$ /usr/openv/netbackup/bin/admincmd/bpplinclude fgedu-file-policy -add /home
$ /usr/openv/netbackup/bin/admincmd/bpplinclude fgedu-file-policy -add /etc
# 5. 配置排除列表
$ /usr/openv/netbackup/bin/admincmd/bpplexclude fgedu-file-policy -add /data/temp
$ /usr/openv/netbackup/bin/admincmd/bpplexclude fgedu-file-policy -add /data/logs/*.log
# 6. 配置调度
# 全量备份(每周日)
$ /usr/openv/netbackup/bin/admincmd/bpplsched fgedu-file-policy -add Full_Backup -st FULL -rl 30 -w 1 -dayofweek 0
# 增量备份(周一至周六)
$ /usr/openv/netbackup/bin/admincmd/bpplsched fgedu-file-policy -add Incr_Backup -st INCR -rl 7 -w 1 -dayofweek “1 2 3 4 5 6”
# 7. 配置存储单元
$ /usr/openv/netbackup/bin/admincmd/bpplmodify fgedu-file-policy -residence fgedu-disk-stu
# 8. 验证策略
$ /usr/openv/netbackup/bin/admincmd/bppllist fgedu-file-policy -U
Policy: fgedu-file-policy
Type: Standard
Active: Yes
Clients:
fgedu-web01
fgedu-web02
fgedu-app01
Include:
/data
/home
/etc
Exclude:
/data/temp
/data/logs/*.log
Schedules:
Full_Backup (Full, 30 days retention)
Incr_Backup (Incremental, 7 days retention)
Storage Unit: fgedu-disk-stu
4.2 数据库备份策略
# 1. 创建Oracle备份策略
$ /usr/openv/netbackup/bin/admincmd/bppladd fgedu-oracle-policy -v
# 2. 配置策略类型
$ /usr/openv/netbackup/bin/admincmd/bpplmodify fgedu-oracle-policy -pt Oracle -v
# 3. 添加数据库客户端
$ /usr/openv/netbackup/bin/admincmd/bpplclients fgedu-oracle-policy -add fgedu-db01 Linux RedHat2.6.18
# 4. 配置备份脚本
# 创建RMAN备份脚本
$ cat > /usr/openv/netbackup/ext/db_ext/oracle/samples/rman/hot_database_backup.sh << 'EOF'
#!/bin/bash
# FGedu Oracle备份脚本
ORACLE_HOME=/oracle/app/oracle/product/19c/dbhome_1
ORACLE_SID=fgedupr
TARGET_CONNECT_STR=/
RMAN_LOG_FILE=/tmp/rman_backup.log
echo "开始Oracle数据库备份: $(date)" >> $RMAN_LOG_FILE
$ORACLE_HOME/bin/rman target $TARGET_CONNECT_STR << EOF
RUN {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE';
BACKUP
FORMAT 'bk_%s_%p_%t'
DATABASE;
BACKUP
FORMAT 'arch_%s_%p_%t'
ARCHIVELOG ALL;
RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;
}
EOF
echo "备份完成: $(date)" >> $RMAN_LOG_FILE
EOF
$ chmod +x /usr/openv/netbackup/ext/db_ext/oracle/samples/rman/hot_database_backup.sh
# 5. 配置调度
$ /usr/openv/netbackup/bin/admincmd/bpplsched fgedu-oracle-policy -add Daily_Backup -st FULL -rl 30 -w 1
# 6. 配置备份窗口
$ /usr/openv/netbackup/bin/admincmd/bpplsched fgedu-oracle-policy -modify Daily_Backup -w 1 -hour 2
# 7. 验证策略
$ /usr/openv/netbackup/bin/admincmd/bppllist fgedu-oracle-policy -U
Policy: fgedu-oracle-policy
Type: Oracle
Active: Yes
Clients:
fgedu-db01
Schedules:
Daily_Backup (Full, 30 days retention)
Storage Unit: fgedu-disk-stu
五、客户端配置
5.1 Linux客户端安装
# 1. 准备客户端安装包
$ scp -r /opt/nbu_install/NetBackup_10.0_LinuxR_x86_64 root@fgedu-web01:/tmp/
# 2. 在客户端执行安装
$ ssh root@fgedu-web01
$ cd /tmp/NetBackup_10.0_LinuxR_x86_64
$ ./install
Do you want to install NetBackup? [y,n] y
Select the type of installation:
1. Master Server
2. Media Server
3. Client
Enter choice [1-3]: 3
Enter the Master Server name: fgedu-nbu-ms.fgedu.net.cn
Enter the Client name [fgedu-web01]: fgedu-web01.fgedu.net.cn
Installing NetBackup Client…
Installation completed successfully.
# 3. 配置客户端
$ cat /usr/openv/netbackup/bin/bp.conf
SERVER = fgedu-nbu-ms.fgedu.net.cn
CLIENT_NAME = fgedu-web01.fgedu.net.cn
# 4. 验证客户端连接
$ /usr/openv/netbackup/bin/bpclntcmd -pn
expecting response from server fgedu-nbu-ms.fgedu.net.cn
fgedu-web01.fgedu.net.cn fgedu-web01 12345 1
# 5. 配置防火墙
$ firewall-cmd –permanent –add-port=1556/tcp
$ firewall-cmd –permanent –add-port=13782/tcp
$ firewall-cmd –reload
# 6. 启动客户端服务
$ systemctl start netbackup
$ systemctl enable netbackup
# 7. 在Master Server验证客户端
$ /usr/openv/netbackup/bin/admincmd/bpplclients -allunique -noheader
fgedu-web01 Linux RedHat2.6.18
fgedu-web02 Linux RedHat2.6.18
fgedu-app01 Linux RedHat2.6.18
六、备份操作管理
6.1 备份作业管理
# 1. 手动执行备份
$ /usr/openv/netbackup/bin/bpbackup -p fgedu-file-policy -s Full_Backup -S fgedu-nbu-ms -L /tmp/backup.log /data
# 2. 查看作业状态
$ /usr/openv/netbackup/bin/admincmd/bpdbjobs -report -most_columns
JobID,Type,State,Status,Policy,Client,ActivePID,JobGroupID,Restartable,Scheduled,Started,Elapsed,Ended,STUnit,trycount,Operation,EST,Kbytes,Files,Path,Percent,Rate,PID,Owner,Subtype,PolicyType,Schedule,Profile,SessionID,Residence,FilesComp,KBPerSecond,CopyNum,ROCopy,Compressed,Suspend,Priority,Retries,ParentJob,ExitStatus,JobGroup,JobType
12345,Backup,Done,0,fgedu-file-policy,fgedu-web01,0,0,0,04/03/2026 10:00:00,04/03/2026 10:00:05,00:05:23,04/03/2026 10:05:28,fgedu-disk-stu,1,Backup,0,5242880,12500,/data,100,1536,12345,root,0,0,Full_Backup,,0,fgedu-disk-stu,12500,1536,1,0,0,0,0,0,0,0,0
# 3. 查看作业详情
$ /usr/openv/netbackup/bin/admincmd/bpdbjobs -jobid 12345 -all_columns
Job ID: 12345
Job Type: Backup
State: Done
Status: 0 (successful)
Policy: fgedu-file-policy
Client: fgedu-web01
Schedule: Full_Backup
Storage Unit: fgedu-disk-stu
Start Time: 04/03/2026 10:00:05
End Time: 04/03/2026 10:05:28
Elapsed Time: 00:05:23
KB Written: 5242880
Files Written: 12500
Rate: 1536 KB/s
# 4. 取消作业
$ /usr/openv/netbackup/bin/admincmd/bpdbjobs -cancel 12345
# 5. 重试失败作业
$ /usr/openv/netbackup/bin/admincmd/bpdbjobs -restart 12345
# 6. 查看备份镜像
$ /usr/openv/netbackup/bin/admincmd/bpimagelist -client fgedu-web01 -d 04/01/2026 -U
Backup ID: fgedu-web01_1712124000
Client: fgedu-web01
Policy: fgedu-file-policy
Schedule: Full_Backup
Created: 04/03/2026 10:00:05
Expires: 05/03/2026 10:00:05
KBytes: 5242880
Files: 12500
Retention: 30 days
Copy: 1
Fragment: 1
# 7. 备份报告
$ /usr/openv/netbackup/bin/admincmd/bperror -backstat -by_statcode -hoursago 24
Summary of backups in the last 24 hours:
Status Count Description
—— —– ———–
0 45 the operation was successful
1 2 the requested operation was partially successful
6 1 the backup failed to back up the requested files
50 1 client process aborted
Total jobs: 49
Success rate: 91.8%
6.2 恢复操作
# 1. 查看可恢复文件
$ /usr/openv/netbackup/bin/bplist -C fgedu-web01 -l -R /data/
drwxr-xr-x root root 4096 Apr 03 10:00 /data/
-rw-r–r– root root 1048576 Apr 03 10:00 /data/file1.dat
-rw-r–r– root root 2097152 Apr 03 10:00 /data/file2.dat
drwxr-xr-x root root 4096 Apr 03 10:00 /data/backup/
# 2. 恢复单个文件
$ /usr/openv/netbackup/bin/bprestore -C fgedu-web01 -D fgedu-nbu-ms -s 04/01/2026 -e 04/03/2026 -L /tmp/restore.log /data/file1.dat
# 3. 恢复目录
$ /usr/openv/netbackup/bin/bprestore -C fgedu-web01 -D fgedu-nbu-ms -s 04/01/2026 -e 04/03/2026 -L /tmp/restore.log /data/backup/
# 4. 恢复到不同位置
$ /usr/openv/netbackup/bin/bprestore -C fgedu-web01 -D fgedu-nbu-ms -s 04/01/2026 -e 04/03/2026 -R /tmp/restore_alt.log -d /restore/data /data/file1.dat
# 5. 查看恢复状态
$ /usr/openv/netbackup/bin/admincmd/bpdbjobs -report -job_type Restore
JobID,Type,State,Status,Policy,Client
12350,Restore,Done,0,,fgedu-web01
# 6. 时间点恢复
$ /usr/openv/netbackup/bin/bprestore -C fgedu-web01 -D fgedu-nbu-ms -t 04/02/2026 15:30:00 -L /tmp/restore.log /data/
# 7. 恢复日志
$ cat /tmp/restore.log
Restore started at 04/03/2026 11:00:00
Client: fgedu-web01
Source: /data/file1.dat
Target: /data/file1.dat
Bytes restored: 1048576
Restore completed at 04/03/2026 11:00:05
Status: Success
总结
NBU备份系统是企业数据保护的核心组件,掌握NBU的安装部署、存储配置、策略配置和日常运维对于保障企业数据安全至关重要。本教程详细介绍了NBU的架构组件、安装部署、存储单元配置、备份策略配置和备份操作管理。
更多学习教程www.fgedu.net.cn,在实际工作中,建议建立完善的备份策略,定期进行恢复演练,确保数据安全可靠。
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
