回答:
さて、すべてのノードに含まれるクラスには、次のものがあります。
filebucket { puppet: server => "puppet.example.edu" }
ファイルタイプのデフォルトでは、「puppet」という名前のローカルファイルバケットにバックアップします。「puppet」ファイルバケットをサーバーのファイルバケットに変更すると、デフォルトでサーバーベースのファイルバケットが取得されます。
または、特定のファイルを上書きしてローカルファイルバケットを使用するオプションを保持する場合は、次のようにします。
filebucket { main: server => "puppet.example.edu"; }
File { backup => main }
オプションの詳細については、http://docs.puppetlabs.com/references/latest/type.html#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に一致するディレクトリ名内に、どのファイルと「コンテンツ」が実際のファイルであるかを示す「パス」があります。レポートを見て、どのシステムから来たのかを確認する必要があります。
監査はしていません。どのような監査をお探しですか?それは多くのことを意味する可能性があります。
1つの提案は、リビジョン管理サーバー(svn、git)にファイルを追加することです。特定のモジュールに関連するすべてのファイルを、/ filesの下のmodulesディレクトリに保存します。ファイルが変更されると、そのファイルはSVNにチェックインされ、フックを介してマスターにプッシュされます。
たとえば、postfixを管理し、/ etc / postfix / virtualファイルをクライアントにプッシュするモジュールがあります。そのファイルは/ etc / puppet / modules / postfix / filesに保存されます。
これにより、モジュールで作成されたコードを再利用したり、モジュールごとにファイルを整理したりすることができます。