




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除网络备份工具bacula的配置(概念篇)天,我要给大家介绍的是Bacula.Bacula被誉为开源平台下最优秀的网络备份工具之一。功能之强大,完全可以和商用软件备份软件相媲美.当然,我也是在研究中有机会可以一起交流有关Bacula安装,常用以下二种一.rpm包安装(Centos5测试通过)(1. 当然,一定先要安装mysql.做备份软件的数据库.安装好以下的包mysql-.rpmmysql-server-.rpmmysql-devel-.rpm安装方法 yum install IXDBA.NET技术社区(2. 然后安装以下的包下载地址 /project/showfiles.php?group_id=50727#filesbacula-mysql-2.2.4-1.el5.i386.rpmbacula-bat-2.2.4-1.el5.i386.rpmbacula-gconsole-2.2.4-1.el5.i386.rpmbacula-mtx-2.2.4-1.el5.i386.rpm安装方法 rpm -ivh 注:bacula-mysql是bacula服务器的主程式mysql是指支持mysql数据库,bacula-bat包是bacula的图形化工具建议安装.gconsole是bacula的控制台有可能还提示要QT包,要的话yum install qt.以上,服务器安装完了,存取服务也安装完了(3. 在另一台机器上,安装客户机先到这下载这个软件/sourceforge/bacula/bacula-client-2.2.4-1.el5.i386.rpm然后用rpm -ivh 安装到这步就算安装完了但配置还很麻烦哦二编译安装(1. 一样要安装mysql,方法如上,不在写了还过记的,还要多装二个包.gcc-.rpmgcc-c+.rpm另外安装mysql-devel很重要,因为头文件之类以bacula编译时会要用到.(2. 解压进入bacula目录用以下指令安装编译CFLAGS=-g -Wall ./configure -prefix=/usr -sbindir=/usr/sbin -sysconfdir=/etc/bacula -with-scriptdir=/etc/bacula -enable-smartalloc -enable-gnome -with-mysql -with-working-dir=/var/bacula -with-pid-dir=/var/run -with-subsys-dir=/var/lock/subsys -enable-conio-with-mysql 有可能目录不存在,出错的话,记的自己建一个以上是服务器的安装.(3. 客户机和存取服务的安装.对file daemon和客户端的安装,如果机器之类和操作系统一样,你可以直接copy那个bacula-fd,bacula-fd.conf.然后修改名字和密码在那个配置文件.然后在bacula-dir.conf中加入这个机器的配置就好了如果不一样就要编译.编译的指命和上面一样.只有一点小分别.因为不要用到数据库,可以不加 -with-mysql 只加一个-enable-client-only.对你只想安装filedaemon,你可以在make 时加上make install-autostart-fd(4. 想让程式在你系统启动时,就自动启动,在make时加上make install-autostart.(请测试是否能正常工作.).这样mail,会在系统中生成/etc/rc.d/init.d/bacula-dir /etc/rc.d/init.d/bacula-fd.安装完后mysql的配置1.启动你的mysqlserver mysqld startchkconfig mysqld on2.进入你的bacula的安装目录运行./grant_mysql_privileges 建立用户权限./create_mysql_database 建立数据库./create_mysql_tables 建立bacula用的表bacula是用的服务器客户机存储的构架,所以要使用的话,一定要理解这个他使用单一的管理(Director),单一的存储(Storage).从理论上来讲你可以把任意N台客户机的资料,备份到任意N台存储的机器上所以你只需要工作在一台director上控制.比如主机备份,存在主机上,还原到主机上,这样都是可以的director上你就可以知道什么备份正在运行,什么备份成功了,什么备份失败了,所有的log也会集中到你指定的地方,让管理工作更简单一点。恢复也很简单,简单运行几个命令你就可以把指定的备份恢复。bacula支持完全备份,差异备份,增量备份;支持把备份写到硬盘文件中,也支持写到磁带中。支持多平台多,设置包括windows平台(我可没有测试过,出了问题,可不要骂我)。记的看官方文档,文档太详细了,我英文太菜,一看那么长,就晕掉了1.前期准备bacula有三个模块组成。Director(bacula-dir): 用于指挥整个系统运行,它包括job schedule,通知等模块工作。Storage Daemon(bacula-sd): 它是存储端,负责把网络中传来的数据备份到指定的地方,恢复的时候负责把数据传出去。File Daemon(bacula-fd): 备份时把文件传出,恢复时接受数据并恢复。另外三个模块外,bacula最少还要一个数据库模块。这个模块可以通过SQLite(编译进bacula),也可以使用MySql和PostgreSql,作者推荐的是mysql。(我也只会mysql)注意,还需要另外一个软件才能保证正常运行:ntp。因为差异备份和增量备份都依赖于文件修改时间来决定是否备份。单机备份问题不大,网络备份就需要考虑各个主机的时间差异了。所以我推荐所有主机每天运行两次ntpdate来调准时间如果你使用的是磁带机备份,还需要检查一下你的磁带机是否被支持.(怎么查?自己看文档)2.相关的理念bacula中相关的对象Director(主控服务器) Client(客户机) Volume(卷) JobDefs(默认任务)Storage(存储服务器) Label(标签) Job(任务) Catalog(任务日志)FileSet(文件设置) message(信息) filedaemon(文件程式)schedule(时间表) pool(池) device(设备)每个对象的关系请见图bacula是用的服务器客户机存储的构架,所以要使用的话,一定要理解这个他使用单一的管理(Director),单一的存储(Storage).从理论上来讲你可以把任意N台客户机的资料,备份到任意N台存储的机器上所以你只需要工作在一台director上控制.比如主机备份,存在主机上,还原到主机上,这样都是可以的director上你就可以知道什么备份正在运行,什么备份成功了,什么备份失败了,所有的log也会集中到你指定的地方,让管理工作更简单一点。恢复也很简单,简单运行几个命令你就可以把指定的备份恢复。bacula支持完全备份,差异备份,增量备份;支持把备份写到硬盘文件中,也支持写到磁带中。支持多平台多,设置包括windows平台(我可没有测试过,出了问题,可不要骂我)。记的看官方文档,文档太详细了,我英文太菜,一看那么长,就晕掉了1.前期准备bacula有三个模块组成。Director(bacula-dir): 用于指挥整个系统运行,它包括job schedule,通知等模块工作。Storage Daemon(bacula-sd): 它是存储端,负责把网络中传来的数据备份到指定的地方,恢复的时候负责把数据传出去。File Daemon(bacula-fd): 备份时把文件传出,恢复时接受数据并恢复。另外三个模块外,bacula最少还要一个数据库模块。这个模块可以通过SQLite(编译进bacula),也可以使用MySql和PostgreSql,作者推荐的是mysql。(我也只会mysql)注意,还需要另外一个软件才能保证正常运行:ntp。因为差异备份和增量备份都依赖于文件修改时间来决定是否备份。单机备份问题不大,网络备份就需要考虑各个主机的时间差异了。所以我推荐所有主机每天运行两次ntpdate来调准时间如果你使用的是磁带机备份,还需要检查一下你的磁带机是否被支持.(怎么查?自己看文档)2.相关的理念bacula中相关的对象Director(主控服务器) Client(客户机) Volume(卷) JobDefs(默认任务)Storage(存储服务器) Label(标签) Job(任务) Catalog(任务日志)FileSet(文件设置) message(信息) filedaemon(文件程式)schedule(时间表) pool(池) device(设备)每个对象的关系请见图3.配置文件.主要的三个配置文件Director的配置文件bacula-dir.conf 他中间的内容,请见上图Storage的配置文件bacula-sd.confClient的配置文件bacula-fd.confbacula-sd和bacula-fd配置文件只的对象关系.见下图注:Device可以选择Tape和HardDisk上次,我们详细讲了bacula的备份原理,和他的一些理解的理念.现在我们就对三个主要的配置文件来详细讲一下.Director的配置文件bacula-dir.conf Storage的配置文件bacula-sd.confClient的配置文件bacula-fd.conf在讲前,请大家看看有关这三个配置文件的基本关系图大家见到了.我们现在就从最基本的Client(客户机上的)的配置文件bacula-fd.conf 讲起吧:例:bacula-fd.conf(大写是要注意和可能用户要根据自己要修改的内容.#下面是远程连接到服务器的配置Director Name = bacula-server-dir #这个是你的Director(主控服务器)有名字,和服务器上一样就行.Password = 1234 #密码和Director(主控服务器)一样就行# 下面是 tray-monitor 远程的用户名和密码Director Name = bacula-server-monPassword = 1234Monitor = yesFileDaemon # this is meName = bacula-server-fd #本客户机的名字,要记的哦,控制机上要设置的FDport = 9102 # 远程使用的端口WorkingDirectory = /var/lib/baculaPid Directory = /var/runMaximum Concurrent Jobs = 20Messages Name = Standarddirector = bacula-server-dir = all, !skipped, !restored bacula采用模块化设计,采用c/s构架,理论上可以把任意n台主机的资料备份到任意n台中,而你不需要在每台机器上都写一个配置文件控制他们运作,所有主要的工作都在一台director上控制。登陆上director你就可以知道什么备份正在运行,什么备份成功了,什么备份失败了,所有的log也会集中到你指定的地方,让管理工作更简单一点。恢复的时候也很简单,简单运行几个命令你就可以把指定的备份恢复。支持完全备份,差异备份,增量备份;支持把备份写到硬盘文件中,也支持写到磁带中。支持平台相当多,设置包括win平台(备份win,还不支持备份到win)。当然也有一些缺点,比如对并发备IXDBA.NET技术社区份支持未经彻底测试,作者宣称最好不要尝试,除非你自己经过测试。还有一点就是文档中没有一个quick start。文档太详细了点,没有点耐心读不完。1,前期准备bacula有三个模块组成。一个是Director,用于指挥整个系统运行,job schedule,通知另外两个模块工作。一个是Storage Daemon,它是存储端,负责把网络中传来的数据备份到本机,恢复的时候负责把数据传出去。最后一个是File Daemon,备份时把文件传出,恢复时接受数据并恢复。其实上面的三个模块并不能让bacula运行,另外一个模块是数据库模块。这个模块可以通过SQLite(编译进bacula),也可以使用MySql和PostgreSql,作者推荐的是mysql。还需要一些第三方库才能编译:GZIP和Readline。文档中没有说明,但其实还需要另外一个软件才能保证正常运行:ntp。因为差异备份和增量备份都依赖于文件修改时间来决定是否备份。单机备份问题不大,网络备份就需要考虑各个主机的时间差异了。所以我推荐所有主机每天运行两次ntpdate来调准时间。如果你在sjtu网络里面,可以使用来调校时间。如果你使用的是磁带机备份,还需要检查一下你的磁带机是否被支持。而且最好去阅读文档中的Understanding Pools, Volumes and Labels一节。否则配置的时候你会搞得晕乎乎的。2,编译编译过程很简单,文档也很详细,就不具体介绍了。注意一点是被备份机器上可以使用-enable-client-only编译。3,数据库建立下面说说mysql的建立过程。首先在代码根目录中cd src/cats/./grant_mysql_privileges./create_mysql_database./make_mysql_tables如果mysql不是在本机上,可以增加-h参数指定。默认采用空密码的root用户,可以用-p参数使其采用密码验证。如果要采用其它用户就只能修改脚本了,很简单的。默认建立的bacula用户,而且是空密码。推荐还是修改密码。bacula可以使用任意多的数据库,也就是说你可以使用两个数据库,然后再让这两个数据库互相备份。4,运行File Daemon(fd)配置前先说明一点需要注意的,配置中指定主机地址时,最好使用ip,我配置时使用主机名貌似不可以。而且要是对外的ip,用不行fd运行在被备份主机上。配置相当简单,指定哪个Director可以运行调度它,密码是什么,fd的名字,工作目录,log往哪里发就可以了。修改修改标配就可以了。5,运行Storage Daemon(sd)sd运行在接受备份的机器上。配置也相当简单,只是比fd多出了一个device用于指定使用什么硬件备份数据。可以把多个数据备份到一个device,如果是磁带机备份bacula在恢复的时候会告诉你要使用哪个磁带。因为我使用的是文件备份的模式,所以就给每个备份配置一个device,把不同的备份放到不同目录去,下面是一个简单文件备份device配置Device Name = dbdev Media Type = File #这个随便写,但是在配置Director中的Storage时,必须写一样的 Archive Device = /var/bak/db #备份到哪个目录,必须存在 LabelMedia = yes; # 自动label Random Access = Yes; AutomaticMount = yes; # when device opened, read it RemovableMedia = no; AlwaysOpen = no;6,运行Director(dir)这个配置最麻烦,因为所有配置都集中到这里,包括备份工作调度,数据库配置,fd和sd协作配置都在这里。Director项目的配置不说了,很简单Client项目告诉dir去哪里找被备份机器Client Name = dbfd #必须跟fd配置的名字相同 Address = 202.120.x.x FDPort = 9102 Catalog = 225catalog #使用哪个数据库存储信息 Password = 6662f353d83dc85013690aefc00f # 与fd配置相同即可IXDBA.NET技术社区 AutoPrune = yes # 自动清除过期的Jobs/FilesStorage项目告诉dir去哪里找接受备份的机器Storage Name = dbsd #与sd配置相同 Address = 202.120.x.x SDPort = 9103 Password = 6662f353d83dc85013690aefc00f Device = dbdev #必须在sd中存在 Media Type = File #必须与sd中相应device相同Schedule项目告诉dir何时调度备份,比较独立,可以在不同的job中重用Schedule Name = dbscd Run = Level=Full mon at 7:00 #在周一7点作一次全备份 Run = Level=Full fri at 7:00 #在周五7点作一次全备份 Run = Level=Differential sat at 7:00 #在周六7点作一次差异备份 Run = Level=Differential sun at 7:00 #在周日7点作一次差异备份 Run = Level=Differential tue-thu at 7:00 #在周二到周四7点作差异备份当然可以schedule还可以配置很多东西,比如增量备份以及更灵活的时间调度。可以参考文档。FileSet项目告诉dir应该备份什么文件,不应该备份什么文件FileSet Name = dbfs Include = compression=GZIP #备份运行fd机器上的/var/db目录,用gzip压缩, /var/db/ Exclude = #不包括所有的.log文件 *.log FileSet也可以灵活配置,甚至可以在job运行时才指定备份文件Catalog告诉dir去哪里找数据库Catalog Name = dbcatalog dbname = bacula user = bacula password = xxxxxxxxx DB Address = 202.120.x.x #不要用localhost DB Port = 3306Pool告诉dir使用哪个Pool备份数据,这个概念比较搞,到配置job的时候会清晰一点。PoolName = dbpool Pool Type = Backup Maximum Volume Jobs = 1 #每次备份使用一个文件 Recycle = yes #重复使用 AutoPrune = yes #自动清除 Volume Retention = 15 days #备份保留时间 Maximum Volumes = 30 #最多保存多少个文件 Recycle Current Volume = yes #使用最近过期的文件存储新备份 #文件如何命名,下面的格式会产生如下的命名形式db-2004-03-19-id20 Label Format = db-$Year-$Month:p/2/0/r-$Day:p/2/0/r-id$JobId Message项目告诉dir如何保存log,以及保存格式Messages Name = Standard# mailcommand = /usr/local/bacula/bin/smtp -h 202.120.x.x -f (Bacula) %r -s Bacula: %t %e of %c %l %r# operatorcommand = /usr/local/bacula/bin/smtp -h 202.120.x.x -f (Bacula) %r -s Bacula: Intervention needed for %j %r# mail = root202.120.x.x = all, !skipped# operator = root202.120.x.x = mount# console = all, !skipped, !saved# WARNING! the following will crea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《荷塘月色》教学设计 2024-2025学年统编版高中语文必修上册
- 2025年电力金具行业研究报告及未来行业发展趋势预测
- 2025年防水砂浆行业研究报告及未来行业发展趋势预测
- 5G技术在智能制造的应用-洞察及研究
- 炭素焙烧工基础考核试卷及答案
- 灌排工程工培训考核试卷及答案
- 景泰蓝磨蓝工作业指导书
- 高端离婚案件子女抚养与财产分割定制合同
- 玻璃表面改性加工工作业指导书
- 生物医药项目人员变动与职责调整合同
- GB/T 43934-2024煤矿土地复垦与生态修复技术规范
- SY-T 6966-2023 输油气管道工程安全仪表系统设计规范
- 新部编版三年级语文上册《全册课件》
- 中华全国总工会办公厅印发《加快工会数字化建设工作方案》
- 争当排头兵心得体会争当排头兵
- 儿内科临床常见操作技术规范2023版
- 透析液质量控制方案
- 2024年危险化学品生产单位主要负责人考试题及答案
- 病原生物学与免疫学(高职)全套教学课件
- 外墙翻新安全施工方案
- 洗浴中心项目运营方案
评论
0/150
提交评论