Linux inotifyリアルタイムバックアップの実装方法の詳細説明

Linux inotifyリアルタイムバックアップの実装方法の詳細説明

リアルタイム レプリケーションは、企業データをバックアップする最も重要な方法です。主に、ユーザーが送信したデータのバックアップに使用されます。ユーザーがサーバーに送信する通常のファイル (画像、圧縮パッケージ、ビデオ、ドキュメントなど) の場合、inotify/sersync+rsync リアルタイム バックアップ メソッドを使用できます。データ ファイルの場合、FastDFS、GlusterFS など、同時に複数のコピーにデータをバックアップできるより複雑な分散ストレージ ツールがあります。データベースに送信されたデータの場合、データベースのマスター スレーブ レプリケーション (MySQL、Oracle など) を使用してバックアップできます。これは、ソフトウェアに付属するリアルタイム レプリケーション バックアップ メソッドです。一部の企業では、データが同時に複数のコピーに変換されることを実現するために、さらに多くのアイデアを採用しています。たとえば、データを送信するときに、プログラムのビジネス ロジックが 2 つのサーバーに同時に送信されます。

リアルタイムのレプリケーション展開準備をシミュレートする

リアルタイムレプリケーションソフトウェアの紹介

よく使用されるソフトウェア: inotify-tools、sersync (推奨)

リアルタイムレプリケーションinotifyメカニズムの紹介

Linux カーネルは 2.6.13 以降、Inotify サポートを追加しました。これは非同期のシステム イベント監視メカニズムです。inotify を通じて、ファイル システムでの追加、削除、変更、移動などのさまざまなイベントを監視できます。このカーネル インターフェイスを使用すると、サードパーティ ソフトウェア (inotify-tools、sersync など) はファイル システム内のさまざまなファイルの変更を監視し、リアルタイムで応答できます。

注: sersync ソフトウェアは inotify に基づいて開発されており、より強力な機能を備えています。構成ファイル、スケジュールされた再試行レプリケーション、フィルタリング メカニズムをサポートし、CDN データ更新用のインターフェイスを提供し、マルチスレッド操作をサポートします。

長所と短所

inotify の利点: ファイル システム イベントの変更を監視し、レプリケーション ツールを通じてリアルタイムのデータ レプリケーションを実現します。マルチスレッドのリアルタイムレプリケーションをサポートします。

inotify の欠点: 同時コピーの数が 200 ファイル (10 ~ 100k) を超えると、コピーに遅延が発生します。

解決策: フロントデスクで時間を稼ぎます。たとえば、アカウントを登録したり、データをアップロードして [送信] をクリックすると、ページが数秒間表示され、その後元のページに戻ります。

inotify+rsync プロジェクトの実践

1. rsync サービスが利用可能であり、nfs01 サーバーからバックアップ サーバーにデータをプッシュおよびプルできることを確認します。

2. システムサポートを確認する

①カーネルバージョンが2.6.13以上であること ②以下の3つのファイルが存在している必要がある

3. inotify-toolsソフトウェアをテストする

[root@nfs01 ~]# yum install inotify-tools -y

テストするには 2 つのウィンドウを開きます。

スクリプトの作成:

注: 別の nfs01 ウィンドウを開いてファイルを作成、変更、削除し、バックアップ サーバー上でファイルがリアルタイムで同期されているかどうかを確認します。

4. sersyncソフトウェアをテストする

パッケージをアップロード

解凍

tar -xf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /application/sersync/

sersync の設定ファイルは XML ファイルです。まずはバックアップしてください。cp confxml.xml{,.ori}

設定ファイルを変更します (行番号を表示するには :set nu と入力します)。

埋め込む

sersyncはyumによってインストールされないため、systemctlコマンドを使用して起動、停止、再起動することはできません。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • LinuxはRsync+Inotifyを使用してローカルとリモートのデータのリアルタイム同期を実現します。
  • Linux の Pyinotify モジュールを使用してファイルシステムの変更をリアルタイムで監視する
  • Linux inotify を使用してファイルの状態を監視する方法
  • Linux システムで rsync+inotify を使用してサーバー間のファイルのリアルタイム同期を実現する
  • rsync+inotify を介して Linux システム内の Web ページを自動的に同期する
  • Linux 上で rsync+inotify によるリアルタイム データ バックアップを実現 (リモート災害復旧バックアップ システム)

<<:  MySqlデータベースの基礎知識のまとめ

>>:  ウェブページの画像の回転を実現するjs

推薦する

HTMLの水平線注釈とコードコメントの使い方をマスターするだけです

水平線<hr /> タグを使用して、現在の位置に水平の分割線を描画します。例: XML/...

MySQL レプリケーションの原理と実際のアプリケーションの詳細な説明

この記事では、例を使用して、MySQL レプリケーションの原理と実際のアプリケーションについて説明し...

iframe に関するいくつかの発見と考察

この物語は、今日の予期せぬ発見から始まります。同社には複数のウェブサイトがある。友達リンクにはお互い...

手の動きをリアルタイムで監視するための Handtrack.js ライブラリ (推奨)

【はじめに】: Handtrack.jsは、ブラウザ上で直接リアルタイムの手の動きの追跡と検出を実...

Dell R720 サーバーに Windows Server 2008 R2 をインストールする方法

注: この記事のすべての写真はインターネットから収集されたものであるため、DELL R720 サーバ...

HTML ウェブページ作成のための 8 つの強力なテクニック

<br />作業を簡単に完了できる Web ページ作成ツールは数多くありますが、HTML...

WeChat ミニプログラム ユーザー認証のベストプラクティス ガイド

序文WeChat アプレットを開発する際には、ユーザーの権限が必要なページを使用する必要があることが...

MySQL ページングパフォーマンスの調査

一般的なページング方法: 1. エスカレーター方式エスカレーター方式では通常、前のページ/次のページ...

Linux で MySQL 8.0 サービスを完全に削除する方法

この記事を読む前に、Linuxコマンド、特にcentos7.3環境でyumを使用してインストールされ...

docker を使用してシンプルな C/C++ プログラムをデプロイする方法

1. まずhello-world.cppファイルを作成しますプログラムコードは次のとおりです。 #i...

Ubuntu のインストール グラフィック ドライバーと Cuda チュートリアル

目次1. 元のドライバーをアンインストールする2. 新しいグラフィックカードドライバーをダウンロード...

DockerにMySQLをインストールする方法

最近 Django を導入しましたが、MySQL を手動でインストールしたくなかったので、Docke...

MySQLでテーブルを作成し、フィールドコメントを追加する方法

コードと例を直接投稿する #テーブル作成時にコメントを記述する CREATE TABLE useri...

Mac MySQL のルートパスワードをリセットするチュートリアル

免責事項:このパスワード リセット方法は、Homebrew によってインストールされた MySQL ...