Puppet filebucketをどのように構成して操作しますか?
そうしたいです:
さて、すべての私のノードに含まれているクラスでは、私は持っています:
filebucket { puppet: server => "puppet.example.edu" }
Fileタイプのデフォルトは、「puppet」という名前のローカルfilebucketにバックアップすることです。 「パペット」ファイルバケットをサーバーファイルバケットに変更すると、デフォルトでサーバーベースのファイルバケットが得られます。
別の方法として、特定のファイルを上書きしてローカルのfilebucketを使用するオプションを保持したい場合は、次のようにします。
filebucket { main: server => "puppet.example.edu"; }
File { backup => main }
オプションの詳細については、 http://docs.puppetlabs.com/references/latest/type.html#filebucket を参照してください。
これは、すべてのノードにfilebucketに同じ単一サーバーを使用するように指示するため、項目1を達成します。項目#3は、SSL証明書の検証を伴うSSLベースの接続を経由するため、無料で提供されます。
Filebucketは、ほとんどの場合、同じ日に回復する場合に役立ちます。その場合は、レポートを確認して、「filebucket
」または「puppet filebucket
"コマンドを使用して、レポートのmd5sumに基づいて元のコンテンツを取得します。
アイテム#2は物事がトリッキーになるところです...
私はこのようなスクリプトでそれを剪定します:
find /var/lib/puppet/clientbucket/ -type f -mtime +45 -atime +45 -delete
これにより、45日以上経過していて、その時間にまったくアクセスされていないものが削除されます。 45日は、バックアップとバックアップ保持ポリシーに基づいています。これは、保持期間の長いバックアップが発生し、理論的には18か月の回復時間が得られるためです。
どのような構文解析を探していますか?サーバー上のバケット設定はmd5sumで編成された階層であり、md5sumと一致するディレクトリ名の中に、どのファイルと「コンテンツ」が実際のファイルであるかを示す「パス」があります。 reportsを見て、どのシステムから来たかを確認する必要があります。
私は監査を行いません。どのような監査を探していますか?それは多くのことを意味する可能性があります。
1つの提案は、ファイルにリビジョン管理サーバー(svn、git)を追加することです。特定のモジュールに関連するすべてのファイルを/ filesの下のmodulesディレクトリに保存します。ファイルが変更されると、SVNにチェックインされ、フックを介してマスターにプッシュされます。
たとえば、postfixを管理し、/ etc/postfix/virtualファイルをクライアントにプッシュするモジュールがあります。そのファイルは/ etc/puppet/modules/postfix/filesに保存されます。
これにより、モジュールで作成されたコードを再利用したり、モジュールごとにファイルを整理したりできるという利点があります。