有关puppet agent端三种备份康复计划讨论研讨51CTO博客 - 众发娱乐

有关puppet agent端三种备份康复计划讨论研讨51CTO博客

2019-03-06 10:19:56 | 作者: 哲瀚 | 标签: 备份,康复,计划 | 浏览: 1417

有关puppetagent端备份康复计划讨论:


备份计划一、经过自界说facter结合元素backup进行备份康复

一、facter布置

1、创立目录结构

[root@puppetserver modules]# mkdirpublic/{modules,manifests,files,lib/facter} -p


2、翻开模块中的插件功用

[root@puppetserver public]# vim/etc/puppet/puppet.conf

[main]

pluginsync = true

3、编写自界说fact

[root@puppetserver public]# vim/etc/puppet/modules/public/lib/facter/backup_date.rb 

# backup_date.rb

#

Facter.add("backup_date") do

setcode do

Facter::Util::Resolution.exec('/bin/date +%Y%m%d%H%M%S')

end

end


4、树立环境变量(测验用)

[root@puppetserver public]# exportFACTERLIB=/etc/puppet/modules/public/lib/facter


5、测验fact(假如不正常,会显现调试信息)

[root@puppetserver puppet]# facterbackup_date

201307241552


6、客户端检查facter是否被下载收效

notice: Starting Puppet client version2.7.21

info: Retrieving plugin

notice:/File[/var/lib/puppet/lib/facter/backup_date.rb]/ensure: defined content as'{md5}91d97be10a35ab7971f77a2be9696031'

info: Loading downloaded plugin/var/lib/puppet/lib/facter/backup_date.rb

info: Loading facts in /var/lib/puppet/lib/facter/backup_date.rb

info: Caching catalog foragent1.bsgchina.com

info: Applying configuration version'1374652447'

notice: Finished catalog run in 1.47seconds

info: Retrieving plugin

info: Loading facts in/var/lib/puppet/lib/facter/backup_date.rb

info: Caching catalog foragent1.bsgchina.com

info: Applying configuration version'1374652447'

notice: Finished catalog run in 1.36seconds


[root@agent1 ssh]# ll/var/lib/puppet/lib/facter/

total 8

-rw-r--r-- 1 root root 138 Jul 24 16:13backup_date.rb

[root@agent1 ssh]# 


二、运用backup调用自界说变量

1、在模块的config.pp文件中增加元素backup

[root@puppetserver manifests]# vim/etc/puppet/modules/ssh/manifests/config.pp 

class ssh::config{

file { $ssh::params::ssh_service_config:

ensure => present,

owner => 'root',

group => 'root',

mode => 0440,

source =>"puppet:///modules/ssh/etc/ssh/sshd_config",

backup =>".$backup_date.bak",\\增加信息

require =>Class["ssh::install"],

notify =>Class["ssh::service"],

}

}


2、在节点检查对应目录下是否有按日期备份的文件

[root@agent1 ssh]# ll sshd*

-rw-r----- 1 root root 3134 Jul 24 16:20sshd_config

-r--r----- 1 root root 3190 Jul 24 16:17sshd_config.20130724162024.bak

-r--r----- 1 root root 3173 Jul 24 16:20sshd_config.20130724162039.bak





计划二、经过filebucket完成备份的集中化办理,经过节点或许puppetserver进行康复

1、在site.pp中增加filebucket资源

[root@puppetserver ssh]# vim/etc/puppet/manifests/site.pp 


import 'nodes/*'

$puppetserver ='puppetserver.bsgchina.com'


filebucket { 'main':

path => false,#设置agent节点本地不需要保存

#path => "/var/lib/puppet/databackup",

server => 'puppetserver.bsgchina.com'#设置将文件更改正之前的版别保存到长途服务器puppetserver.bsgchina.com上

}


2、在puppetmaster上修正模块配置文件

[root@puppetserver ssh]# vim/etc/puppet/modules/mysql/manifests/config.pp 


class mysql::config{

file { "/etc/my.cnf":

ensure => present,

owner => 'mysql',

group => 'mysql',

mode => 0644,

source =>"puppet:///modules/mysql/etc/my.cnf",

backup => 'main',#设置backup备份方法为之前site.pp中界说的main方法

#backup =>".$backup_date.bak",

require =>Class["mysql::install"],

notify =>Class["mysql::service"],

}


file { "/var/lib/mysql":

group => 'mysql',

owner => 'mysql',

recurse => 'true',

require =>File["/etc/my.cnf"],

}


}

3、修正测验文件模仿新版别发布

vim/etc/puppet/modules/mysql/files/etc/my.cnf


4、节点进行监听

[root@agent1 ssh]# puppet agent --server=puppetserver.bsgchina.com--verbose --no-daemonize

info: Retrieving plugin

info: Loading facts in backup_date

info: Loading facts in backup_date

info: Caching catalog foragent3.bsgchina.com

info: Applying configuration version'1374659257'

info: /Stage[main]/Mysql::Config/File[/etc/my.cnf]:Filebucketed /etc/my.cnf to main with sum fef73d96a75424c782191962f5aaf8ee

notice:/Stage[main]/Mysql::Config/File[/etc/my.cnf]/content: content changed '{md5}fef73d96a75424c782191962f5aaf8ee' to '{md5}09fb95f5505056b5a40c4905af3d636e'

info:/Stage[main]/Mysql::Config/File[/etc/my.cnf]: Scheduling refresh ofService[mysqld]

notice:/Stage[main]/Mysql::Service/Service[mysqld]: Triggered 'refresh' from 1 events

notice: Finished catalog run in 4.34seconds

成果:能够看到my.cnf被修正之前的版别MD5为fef73d96a75424c782191962f5aaf8ee


5、检查设置的长途服务器端是否正常保存

[root@puppetserver bucket]# ll/var/lib/puppet/bucket/#默许保存途径

total 12

drwxrwx---. 4 puppet puppet 4096 Jul 2417:56 0

drwxrwx---. 3 puppet puppet 4096 Jul 2417:46 e

drwxrwx---. 3 puppet puppet 4096 Jul 2417:48 f


[root@puppetserver bucket]# tree f/

f/

└── e

└── f

└── 7

└── 3

└── d

└── 9

└── 6

└──fef73d96a75424c782191962f5aaf8ee

├── contents

└── paths


8 directories, 2 files

成果:保存成功,保存成果为以上目录结构



6、只康复某一个节点到上一个版别

[root@agent1 modules]# puppet filebucketrestore /etc/my.cnffef73d96a75424c782191962f5aaf8ee#节点上操作


7、经过调试形式检查节点动态信息

[root@agent1 ssh]# puppet agent--server=puppetserver.bsgchina.com --verbose --no-daemonize

info: Retrieving plugin

info: Loading facts in/var/lib/puppet/lib/facter/backup_date.rb

info: Caching catalog for agent1.bsgchina.com

info: Applying configuration version'1374659257'

info: /File[/etc/my.cnf]: Filebucketed/etc/my.cnf to main with sum fef73d96a75424c782191962f5aaf8ee

notice: /File[/etc/my.cnf]/content: contentchanged '{md5}fef73d96a75424c782191962f5aaf8ee'to '{md5}09fb95f5505056b5a40c4905af3d636e'

info: /File[/etc/my.cnf]: Schedulingrefresh of Class[Mysql::Service]

info: Class[Mysql::Service]: Schedulingrefresh of Service[mysqld]

notice:/Stage[main]/Mysql::Service/Service[mysqld]: Triggered 'refresh' from 1 events

notice: Finished catalog run in 3.65seconds

成果:可正常康复到上一个版别(因为我这儿设置了5秒钟同步puppetserver端,能够看到以上my.cnf被修正正,并且MD5值与上一版别符合)


8、康复一切节点到上一个版别

[root@puppetserver etc]# puppet filebucketrestore --local/etc/puppet/modules/mysql/files/etc/my.cnffef73d96a75424c782191962f5aaf8ee


9、经过调试形式检查节点动态信息

[root@agent1 ssh]# puppet agent--server=puppetserver.bsgchina.com --verbose --no-daemonize

notice: Starting Puppet client version2.7.21

info: Retrieving plugin

info: Loading facts in /var/lib/puppet/lib/facter/backup_date.rb

info: Caching catalog foragent1.bsgchina.com

info: Applying configuration version'1374659257'

info: /File[/etc/my.cnf]: Filebucketed/etc/my.cnf to main with sum 09fb95f5505056b5a40c4905af3d636e

notice: /File[/etc/my.cnf]/content: contentchanged '{md5}09fb95f5505056b5a40c4905af3d636e' to '{md5}fef73d96a75424c782191962f5aaf8ee'

info: /File[/etc/my.cnf]: Schedulingrefresh of Class[Mysql::Service]

info: Class[Mysql::Service]: Schedulingrefresh of Service[mysqld]

成果:节点配置文件的MD5值更新为上一个版别的MD5值,康复成功。



备份计划三、经过本地MD5文件进行备份康复

[root@agent1 modules]# ll/var/lib/puppet/clientbucket/

total 40

drwxrwx--- 3 root root 4096 Jul 24 10:51 3

drwxrwx--- 3 root root 4096 Jul 22 14:55 7

drwxrwx--- 3 root root 4096 Jul 24 15:31 8

drwxrwx--- 4 root root 4096 Jul 24 10:52 e

drwxrwx--- 3 root root 4096 Jul 22 15:10 f

备份计划三为备份计划二的一部分,试验进程略。



新开自动化运维办理群:296934942欢迎各界大牛参加讨论!


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表众发娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章