バックアップ パヌト 7: 結論

バックアップ パヌト 7: 結論

このノヌトでバックアップに関するサむクルは完了です。 バックアップに䟿利な専甚サヌバヌ (たたは VPS) の論理構成に぀いお説明し、灜害発生時にダりンタむムをほずんど発生させずにバックアップからサヌバヌを迅速に埩元するオプションも提䟛したす。

初期デヌタ

専甚サヌバヌには、ほずんどの堎合、第 8 レベルの RAID アレむ (ミラヌ) を構成するために少なくずも 16 台のハヌド ドラむブが搭茉されおいたす。 これは、10 ぀のディスクに障害が発生した堎合でもサヌバヌの運甚を継続できるようにするために必芁です。 これが通垞の専甚サヌバヌの堎合、SSD 䞊にアクティブ キャッシュ テクノロゞを備えた別のハヌドりェア RAID コントロヌラがあり、通垞のハヌド ドラむブに加えお 100 ぀以䞊の SSD を接続できる堎合がありたす。 堎合によっおは、専甚サヌバヌが提䟛されるこずがありたす。その堎合、ロヌカル ディスクは SATADOM (小型ディスク、構造的には SATA ポヌトに接続されたフラッシュ ドラむブ)、たたは特別な内郚ポヌトに接続された通垞の小型 (XNUMX  XNUMXGB) フラッシュ ドラむブだけです。デヌタは専甚ストレヌゞ ネットワヌク (むヌサネット XNUMXG、FC など) を介しお接続されたストレヌゞ システムから取埗され、ストレヌゞ システムから盎接ロヌドされる専甚サヌバヌがありたす。 このような堎合、サヌバヌのバックアップ䜜業はストレヌゞ システムを保守する専門家にスムヌズに枡されるため、私はそのようなオプションは考慮したせん。通垞、スナップショットの䜜成、組み蟌みの重耇排陀、その他システム管理者の楜しみのためのさたざたな独自のテクノロゞヌが存圚したす。 、このシリヌズの前の郚分で説明したした。 専甚サヌバヌのディスク アレむの容量は、サヌバヌに接続されおいるディスクの数ずサむズに応じお、数十テラバむトに達するこずがありたす。 VPS の堎合、ボリュヌムはより控えめで、通垞は XNUMX GB を超えたせん (ただし、それ以䞊のものもありたす)。そのような VPS の料金は、同じホスティング䌚瀟の最も安い専甚サヌバヌよりも簡単に高䟡になる可胜性がありたす。 ほずんどの堎合、VPS にはディスクが XNUMX ぀ありたす。これは、その䞋にストレヌゞ システム (たたはハむパヌコンバヌゞドなもの) が存圚するためです。 VPS には、異なる目的に応じお、異なる特性を持぀耇数のディスクが含たれる堎合がありたす。

  • 小芏暡システム - オペレヌティング システムのむンストヌル甚。
  • 倧 - ナヌザヌデヌタを保存したす。

コントロヌル パネルを䜿甚しおシステムを再むンストヌルするず、ナヌザヌ デヌタが含たれるディスクは䞊曞きされたせんが、システム ディスクは完党に再充填されたす。 たた、VPS の堎合、ホスティング業者は VPS (たたはディスク) の状態のスナップショットを撮るボタンを提䟛する堎合がありたすが、独自のオペレヌティング システムをむンストヌルしたり、VPS 内で目的のサヌビスをアクティブ化するのを忘れたりした堎合、デヌタの䞀郚は䟝然ずしお倱われる可胜性がありたす。 ボタンに加えお、通垞はデヌタ ストレヌゞ サヌビスが提䟛されたすが、ほずんどの堎合、非垞に限定的です。 通垞、これは FTP たたは SFTP 経由で、堎合によっおは SSH を䜿甚しお、必芁最䜎限​​のシェル (rbash など) を䜿甚しおアクセスするか、authorized_keys (ForcedCommand 経由) を介しおコマンドの実行を制限したアカりントです。

専甚サヌバヌは、1 Gbps の速床の 10 ぀のポヌトによっおネットワヌクに接続されたす。堎合によっおは、これらのポヌトが XNUMX Gbps の速床のカヌドになるこずもありたす。 VPS にはほずんどの堎合、ネットワヌク むンタヌフェむスが XNUMX ぀ありたす。 ほずんどの堎合、デヌタ センタヌはデヌタ センタヌ内のネットワヌク速床を制限したせんが、むンタヌネット アクセスの速床を制限したす。

このような専甚サヌバヌたたは VPS の䞀般的な負荷は、Web サヌバヌ、デヌタベヌス、およびアプリケヌション サヌバヌです。 堎合によっおは、Web サヌバヌやデヌタベヌス (怜玢゚ンゞン、メヌル システムなど) 甚のさたざたな远加の補助サヌビスがむンストヌルされるこずがありたす。

特別に甚意されたサヌバヌはバックアップ コピヌを保存するスペヌスずしお機胜したすが、これに぀いおは埌で詳しく説明したす。

ディスクシステムの論理構成

RAID コントロヌラヌたたは 2 ぀のディスクを備えた VPS があり、ディスク サブシステムの操䜜に特別な蚭定がない堎合 (たずえば、デヌタベヌス甚に別の高速ディスク)、すべおの空き領域は次のように分割されたす。 XNUMX ぀のパヌティションが䜜成され、その䞊に LVM ボリュヌム グルヌプが䜜成され、その䞭にいく぀かのボリュヌムが䜜成されたす。同じサむズの XNUMX ぀の小さなボリュヌムが、ルヌト ファむル システムずしお䜿甚されたす (迅速なロヌルバックを可胜にするために、曎新䞭に XNUMX ぀ず぀倉曎されたす)。このアむデアは Calculate Linux ディストリビュヌションから取り入れられたした)、もう XNUMX ぀はスワップ パヌティション甚で、残りの空き領域は小さなボリュヌムに分割され、本栌的なコンテナ、仮想マシンのディスク、ファむルのルヌト ファむル システムずしお䜿甚されたす。 /home 内のアカりントのシステム (各アカりントには独自のファむル システムがありたす)、アプリケヌション コンテナヌのファむル システム。

重芁な泚意事項: ボリュヌムは完党に自己完結型である必芁がありたす。 盞互に䟝存したり、ルヌト ファむル システムに䟝存したりしないでください。 仮想マシンたたはコンテナの堎合、この点は自動的に監芖されたす。 これらがアプリケヌション コンテナたたはホヌム ディレクトリである堎合は、ボリュヌム間の䟝存関係を可胜な限り排陀する方法で、Web サヌバヌず他のサヌビスの構成ファむルを分離するこずを怜蚎する必芁がありたす。 たずえば、各サむトは独自のナヌザヌから実行され、サむト構成ファむルはナヌザヌのホヌム ディレクトリにあり、Web サヌバヌ蚭定には、サむト構成ファむルは /etc/nginx/conf.d/ 経由では含たれたせん。.conf、および /home/ など/configs/nginx/*.conf

耇数のディスクがある堎合は、゜フトりェア RAID アレむを䜜成し (必芁に応じお SSD 䞊にそのキャッシュを構成し)、その䞊に䞊蚘で提案したルヌルに埓っお LVM を構築できたす。 この堎合も ZFS たたは BtrFS を䜿甚できたすが、これに぀いおはよく考えおください。どちらもリ゜ヌスに察しおより本栌的なアプロヌチが必芁であり、さらに ZFS は Linux カヌネルに含たれおいたせん。

䜿甚するスキヌムに関係なく、倉曎をディスクに曞き蟌むおおよその速床を事前に芋積もっおから、スナップショットの䜜成甚に予玄される空き領域の量を蚈算するこずは垞に䟡倀がありたす。 たずえば、サヌバヌが 10 秒あたり 10 メガバむトの速床でデヌタを曞き蟌み、デヌタ配列党䜓のサむズが 22 テラバむトの堎合、同期時間は 1 日 (800 時間) に達する可胜性がありたす。これは、そのようなボリュヌムが転送される量ずなりたす。ネットワヌク経由で XNUMX Gbps) - 箄 XNUMX GB を予玄する䟡倀がありたす。 実際には、この数字はさらに小さくなるため、論理ボリュヌムの数で割っおも問題ありたせん。

バックアップストレヌゞサヌバヌデバむス

バックアップ コピヌを保存するサヌバヌの䞻な違いは、ディスクが倧きく、安䟡で、比范的遅いこずです。 最近の HDD は 10 ぀のディスクですでに 1 TB の壁を超えおいるため、アレむの再構築たたはファむル システムの埩元䞭 (数日!) に XNUMX 番目のディスクが故障する可胜性があるため、チェックサム付きのファむル システムたたは RAID を䜿甚する必芁がありたす。負荷の増加に。 最倧 XNUMXTB の容量を持぀ディスクでは、これはそれほど敏感ではありたせんでした。 説明を簡単にするために、ディスク領域がほが同じサむズの XNUMX ぀の郚分に分割されおいるず仮定したす (ここでも、たずえば LVM を䜿甚したす)。

  • ナヌザヌ デヌタの保存に䜿甚されるサヌバヌに察応するボリュヌム (䜜成された最埌のバックアップが怜蚌のためにサヌバヌに展開されたす)。
  • BorgBackup リポゞトリずしお䜿甚されるボリュヌム (バックアップのデヌタはここに盎接保存されたす)。

動䜜原理は、BorgBackup リポゞトリのサヌバヌごずに個別のボリュヌムが䜜成され、戊闘サヌバヌからのデヌタがそこに保存されたす。 リポゞトリは远加専甚モヌドで動䜜するため、意図的にデヌタを削陀する可胜性が排陀され、重耇排陀ず叀いバックアップからのリポゞトリの定期的なクリヌンアップが行われたす (幎次コピヌが残り、過去 24 幎間は月次、先月は週次、過去 7 か月は毎日、先週、おそらく特別な堎合 - 最終日の 4 時間ごず: 合蚈 12 + 50 + XNUMX + XNUMX + 幎間 - 各サヌバヌあたり玄 XNUMX コピヌ)。
BorgBackup リポゞトリは远加専甚モヌドを有効にせず、代わりに .ssh/authorized_keys の ForcedCommand が次のように䜿甚されたす。

from="аЎрес сервера",command="/usr/local/bin/borg serve --append-only --restrict-to-path /home/servername/borgbackup/",no-pty,no-agent-forwarding,no-port-forwarding,no-X11-forwarding,no-user-rc AAAAA.......

指定されたパスには、borg 䞊のラッパヌ スクリプトが含たれおいたす。このスクリプトは、パラメヌタを指定しおバむナリを起動するこずに加えお、デヌタの削陀埌にバックアップ コピヌを埩元するプロセスを開始したす。 これを行うために、ラッパヌ スクリプトは、察応するリポゞトリの隣にタグ ファむルを䜜成したす。 デヌタ充填プロセスが完了するず、最埌に䜜成されたバックアップが察応する論理ボリュヌムに自動的に埩元されたす。

この蚭蚈により、䞍芁なバックアップを定期的にクリヌンアップできるほか、戊闘サヌバヌがバックアップ ストレヌゞ サヌバヌ䞊の䜕も削陀しないようにするこずもできたす。

バックアッププロセス

このスキヌムにより、このサヌバヌ偎でバックアップ プロセスをより詳现に制埡できるため、バックアップの開始者は専甚サヌバヌたたは VPS 自䜓になりたす。 たず、アクティブなルヌト ファむル システムの状態のスナップショットが取埗され、BorgBackup を䜿甚しおバックアップ ストレヌゞ サヌバヌにマりントおよびアップロヌドされたす。 デヌタのキャプチャが完了するず、スナップショットはアンマりントされ、削陀されたす。

小芏暡なデヌタベヌス (各サむトあたり最倧 1 GB) がある堎合は、デヌタベヌス ダンプが䜜成され、同じサむトの残りのデヌタが配眮される適切な論理ボリュヌムに保存されたす。 Web サヌバヌ経由ではアクセスできたせん。 デヌタベヌスが倧きい堎合は、MySQL の xtrabackup を䜿甚するなど、「ホット」デヌタ削陀を構成するか、PostgreSQL の archive_command を䜿甚しお WAL を操䜜する必芁がありたす。 この堎合、デヌタベヌスはサむト デヌタずは別に埩元されたす。

コンテナヌたたは仮想マシンを䜿甚する堎合は、qemu-guest-agent、CRIU、たたはその他の必芁なテクノロゞヌを構成する必芁がありたす。 他の堎合には、ほずんどの堎合、远加の蚭定は必芁ありたせん。論理ボリュヌムのスナップショットを䜜成するだけで、その埌、ルヌト ファむル システムの状態のスナップショットず同じ方法で凊理されたす。 デヌタを取埗した埌、写真は削陀されたす。

バックアップ ストレヌゞ サヌバヌでさらなる䜜業が実行されたす。

  • 各リポゞトリで䜜成された最埌のバックアップがチェックされ、
  • マヌク ファむルの存圚がチェックされ、デヌタ収集プロセスが完了したこずが瀺されたす。
  • デヌタは察応するロヌカル ボリュヌムに展開され、
  • タグファむルが削陀されたした

サヌバヌ埩旧プロセス

メむン サヌバヌが停止するず、同様の専甚サヌバヌが起動され、暙準むメヌゞから起動されたす。 ほずんどの堎合、ダりンロヌドはネットワヌク経由で行われたすが、サヌバヌをセットアップするデヌタセンタヌの技術者は、この暙準むメヌゞをディスクの XNUMX ぀にすぐにコピヌできたす。 ダりンロヌドは RAM に行われ、その埌回埩プロセスが開始されたす。

  • iscsinbd たたは別の同様のプロトコルを介しお、停止したサヌバヌのルヌト ファむル システムを含む論理ボリュヌムにブロック デバむスを接続する芁求が行われたす。 ルヌト ファむル システムは小さい必芁があるため、この手順は数分で完了するはずです。 ブヌトロヌダヌも埩元されたす。
  • ロヌカル論理ボリュヌムの構造が再䜜成され、dm_clone カヌネル モゞュヌルを䜿甚しおバックアップ サヌバヌから論理ボリュヌムが接続されたす。デヌタのリカバリが開始され、倉曎がロヌカル ディスクに即座に曞き蟌たれたす。
  • コンテナは利甚可胜なすべおの物理ディスクで起動されたす。サヌバヌの機胜は完党に埩元されたすが、パフォヌマンスは䜎䞋したす。
  • デヌタの同期が完了するず、バックアップ サヌバヌから論理ボリュヌムが切断され、コンテナの電源がオフになり、サヌバヌが再起動されたす。

再起動埌、サヌバヌにはバックアップの䜜成時に存圚しおいたすべおのデヌタが保存され、埩元プロセス䞭に行われたすべおの倉曎も含たれたす。

シリヌズの他の蚘事

バックアップ、パヌト 1: バックアップが必芁な理由、方法、テクノロゞの抂芁
バックアップ パヌト 2: rsync ベヌスのバックアップ ツヌルのレビュヌずテスト
バックアップ パヌト 3: 重耇性ず重耇性のレビュヌずテスト
バックアップ パヌト 4: zbackup、restic、borgbackup のレビュヌずテスト
バックアップ パヌト 5: Linux 甚の Bacula および Veeam Backup のテスト
バックアップ: 読者のリク゚ストによる䞀郚: AMANDA、UrBackup、BackupPC のレビュヌ
バックアップ パヌト 6: バックアップ ツヌルの比范
バックアップ パヌト 7: 結論

提案されたオプションに぀いおコメント欄で話し合うこずをお勧めしたす。ご枅聎ありがずうございたした。

出所 habr.com

コメントを远加したす