オープンソース

OSSの高速なバックアップソフト〜restic〜

バックアップソフトとは、データのバックアップやリカバリを自動化するソフトウェアのことをいいます。ここでは、ファイルシステムやメールシステムなどを、高速で簡単にバックアップが行えるおすすめのバックアップツール、resticを紹介します。

システムバックアップの重要性

災害によるハードウェアの破損や、システム障害によるデータの消失など、いつ起こるかわからない様々なシステムのトラブルや問題に対応するため、普段から大切なデータを守る備えとして、バックアップをとることが重要です。バックアップを取ってデータを保存しておくことで、トラブルでデータが消滅した際に、データの復元を行うことができます。日常生活でいえば、スマートフォンなどのデバイスに保存されている写真やデータを、他の場所に保存しておくイメージです。一般にオープンソースの無料で使用できるバックアップツールは、resticの他に、大規模システムにまで利用でき、商用のソフトウェアのレベルに匹敵する機能や技術を備えたシステムになることを目指して開発されたbaculaなど、多数のOSSが使用されています。

バックアップツールresticとは

resticとは、resticプロジェクトが提供しているオープンソースソフトウェアのバックアップツールです。Linux、BSD、Mac、Windowsに対応しており、オープンソースソフトウェアのため、ライセンスは無料で利用することが可能です。resticは、公式のgithubでWindowsやLinuxなど各プラットフォーム毎の最新バージョンの実行ファイルが提供されています。公式のWebページには豊富なドキュメントも用意されています。

resticは、速度と効率、安全性を重視して開発されています。またresticは、操作をコマンドラインで行うことが一つの特徴です。resticは、バックアップを管理するための「リポジトリ」を中央に配置します。バックアップ動作自体もresticのコマンドで行い、リポジトリにバックアップデータを集約します。そのため、resticは、クライアントからの「push型」でバックアップを行います。

resticの主な機能

resticには、主に以下の機能があります。

  • フルバックアップ
  • 増分バックアップ
  • 差分バックアップ
  • データの圧縮
  • 暗号化
  • バックアップファイルの参照・検索
  • ドライラン
  • リストア
  • スナップショット
  • タグ機能

resticを導入するメリット

resticには、以下の特徴があります。

対応OSが多い

resticは、LinuxやmacOSの他に、WindowsやFreeBSDなど多くのOSをサポートしています。そのため、単一バイナリの配置のみで、さまざまなOSで利用が可能です。

クラウドサービスに対応

resticは、リモートバックアップの対象が豊富で、ローカルファイルシステムの他に、sftpにも対応しています。オブジェクトストレージサービスのAmazon s3にも対応しているので、クラウドサービスで利用が可能です。resticが、対応している最新のデータストアの種類は以下になります。

  • ローカルファイルシステム
  • SFTP
  • REST Server
  • Amazon S3
  • Minio Server
  • Wasabi(オブジェクトストレージサービス)
  • Alibaba Cloud Object Storage System
  • OpenStack Swift
  • Backblaze B2(クラウドストレージ)
  • Microsoft Azure Blob Storage
  • Google Cloud Storage

高速なバックアップが可能

resticについて、弊社がバックアップにかかる時間を調査した結果、10万件のランダム性の高いデータのフルバックアップの場合は、12分54秒、システムバックアップの場合は、22.7秒、メールバックアップの場合は、6分25秒という結果になりました。古くからLinuxやUnixでバックアップに用いられるrsyncと比較した場合、少し早さに劣る面もありましたが、resticは、高速にバックアップが行われることがわかりました。resticは、メールバックアップのようなファイル数が、20万件を越える場合に強く、高速にバックアップを行います。さらに差分バックアップも高速に実施します。

次のようなコマンドを実行することでバックアップを行うことができます。

# restic -r /opt/backup/ backup /etc⏎

ファイルの圧縮が可能

resticを調査した結果では、システムバックアップとメールバックアップをした際に、元のファイルサイズから50~60%圧縮しました。resticは、rsyncと違い、そのままの状態でバックアップを行うのではなく、圧縮の機能を標準で兼ね備えています。通常、圧縮無しでバックアップを行う場合は、データサイズの数倍のディスク領域が必要になります。その点、resticの場合、圧縮率が比較的高いため、1.5倍から2倍程度の領域でも、充分にバックアップを行うことができ、利用するストレージのコストを削減することが可能です。クラウドの環境にバックアップした場合に、クラウドの利用費を抑えることができます。

自動的に差分バックアップが可能

resticは、バックアップを行う際に追加分と更新分が検知され、自動的に差分バックアップを行います。さらにresticでは、スナップショット毎の差分を確認することも可能です。しかし、resticには、restic自身の自動化を実現する仕組みがありません。そのため、resticで自動的にバックアップを実行させるためには、UnixのOSであればcrondのような定期的な自動実行の仕組みと連携する必要があります。

次のようなコマンドを実行することで、自動的に差分バックアップを行うことができます。

# restic -r /opt/backup/ backup /etc⏎

差分バックアップを行なうと、自動的にスナップショットが作成されます。

# restic -r /opt/backup/ snapshots⏎
enter password for repository:
repository 82f857f8 opened (repository version 2) successfully, password is correct
ID Time Host Tags Paths
------------------------------------------------------------
36a69755 2022-12-19 17:14:24 almalinux9 /etc
8d2ab538 2022-12-19 17:19:34 almalinux9 /etc
------------------------------------------------------------
2 snapshots

スナップショットからファイルをリストアできる

resticでは、スナップショットからファイルをリストアすることができます。リストアは、「ls」サブコマンドや「find」サブコマンドの方法でスナップショットの中のファイルを参照することができます。そして、差分バックアップを実施しながら、過去のスナップショットで全ファイルの利用が可能です。そのため、リストア時に初期バックアップのリストア後に、差分をリストアするなどの手間がかかりません。さらにresticには、バックアップ時に、どのようなことが起こるかを事前に確認するためのドライランという機能が備わっています。事前に確認することができるので、何か起きた場合の対策をとることが可能になります。

resticで、リストアする方法は、2つあります。

  1. 前述のmount サブコマンドを使って、ファイルをコピーする方法
  2. restore サブコマンドを使う方法

次は、/tmp/restoreにスナップショットを指定してリストアするコマンド例です。

# restic -r /opt/backup/ restore --target /tmp/restore/ 8d2ab538⏎

自動でデータを暗号化

クラウドストレージなどにバックアップを配置する運用の場合、データの暗号化を行いたい場合があります。resticは、標準の動作でデータの暗号化が行われます。基本、データリポジトリのパスワードを破られない限り、暗号化を解かれることがなくセキュリティ面で安心して利用が可能です。

1つのリポジトリで一括管理ができる

resticは、ファイルやDB(データベース)のダンプなどを1つのリポジトリで一括管理することができます。そのため、バックアップの置き場所に悩まなくてよくなり、さらにローテーションするために毎回スクリプトを作成する必要がなくなります。

resticを導入するデメリット

一方で、resticには以下のデメリットがあります。

  • 生のファイルが残らない
  • リストアが直感的に行えない

デージーネットの取り組み

デージーネットでは、resticとrsyncを比較調査し、コマンドラインのバックアップツールとしては、非常に完成度が高いことがわかりました。AWSやAzureなどクラウドへのバックアップや、バックアップのコスト削減をするツールとして、resticをおすすめしています。

また、デージーネットでは、Linuxの中でもRHELやUbuntuを利用し、resticを使ったバックアップサーバーの設計から構築、設定および保守を行っています。また、restic以外にも、主に無料のOSSをベースとした、システム全体のバックアップを行うソリューションもお客様のビジネスに合わせて提供しています。resticのインストール方法や、Linuxシステムのバックアップを想定したrsyncとの比較検証結果は、restic調査報告書に掲載しています。

restic「情報の一覧」

restic調査報告書

無料資料ダウンロード

resticとは、無料で利用できるオープンソースソフトウェアのバックアップツールです。この記事では、resticのインストール方法の解説や詳細な使い方、rsyncとの性能比較をテストした結果を掲載しています。調査報告書は、無料で公開されており、誰でもダウンロードが可能です。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ

OSSの高速なバックアップソフト〜restic〜の先頭へ