まだファイルシステムを使用すると、データベースの実行中にデータベースと他のプログラムとそのデータをバックアップできます。
一般的に申請者に通知しなければならないまだバックアップ操作は、システムを完全に停止せずに有効なバックアップを作成できるように、すべてのバッファをディスクにフラッシュし、着信書き込み要求を停止する必要があるためです。
Linuxではこの種の機能をサポートしていますか? Microsoft WindowsがWindows Server 2003以降、この機能をサポートしていることを読んで、VMを使用してLinuxでこの機能を実行する方法についていくつか説明します。しかし、どの特定の仮想マシンがあるのか、その仮想マシンをWindows上でホストとして実行する必要があるのかはわかりません。
また、オペレーティングシステムレベル以上のプラットフォーム(Javaなど)はどうですか?そこに静けさのためのサポートがありますか?
答え1
LVMスナップショットを実行すると、保留中のデータ(アプリケーションではなくカーネルバッファにあります)がディスクにフラッシュされ、スナップショットの進行中にアプリケーションの書き込みがブロックされます。外部手段としてFSを持つブロックデバイスをバックアップする場合(たとえば、ディスクが仮想でホストマシンにバックアップする場合)、同じ方法でfsfreeze
FSを使用または固定することもできますxfs_aio
。スナップショットを実装するファイルシステム(BTRFS、NILFS、ZFSなど)もこれを行います。通常、このレベルのスナップショットは、スナップショットのデータが特定の時間にFSにコミットされたデータの即時凍結であり、凍結されたFSが一貫してきれいな状態であることを保証します。
アプリケーションに一時停止とリフレッシュを指示する場合彼らFSにデータをバッファリングするための普遍的なフレームワークはなく、最後に確認したときにアプリケーションがデータを保持することに集中する必要があるため、不必要な複雑さと関連するバグを導入することは問題を改善するのではなく損傷を引き起こす可能性があります。高いというのが一般的な合意でした。システム/ハードウェアの競合が発生しても、ディスクは一貫した形式で維持されます。
一部のアプリケーション(たとえば、一部のデータベース)は、MySQLのように実行を停止するように指示することがありますFLUSH TABLES WITH READ LOCK
。