私は多数のファイルのリモートログストアとして機能するサーバーを管理しています。現在、単一のlogrotate
インスタンスではこのログの量に追いつくことはできません。ログの回転を高速化する最良の方法は何ですか(複数のインスタンスを並列に実行可能)。
以下は明確な付録です。
- ディスクI / Oは問題ではありません。ログやエントリは失われません。
- システムはこの操作に比べてモンスターであり(電力が豊富なクアッドコアXeonです)、ボトルネックは圧縮です。 1つのコアが1.00負荷に達しましたが、圧縮キューを完了できませんでした。
- ログファイルはコピーされません。毎日のバックアップを別のディスクに保存するだけで、ボトルネックも発生しません。
- パターンごとにログファイルをグループ化できます。ファイルは大きくなく、ただ多いです。ログの回転を並列化する方法がわからず、アイデアがありますが、リソースが見つかりません。実際、質問の鍵となるのは、logrotate が構成ファイルまたは構成ファイルの各スタブに対してサブプロセスを生成することです。
ベストアンサー1
logrotate の複数のインスタンスを実行できます。異なるファイルセットを処理し、異なる状態ファイルを使用する必要があります。
bzipの代わりにgzip(標準圧縮)を使用する必要があります。私が知っている限り、gzipにいくつかの追加オプションを渡すことができるので、より高速な圧縮を使用するように指示できます。