batと連携しての仮想マシンのバックアップ手順(MySQLの起動・停止)


仮想マシン内でデータベースを運用している場合は、batファイルを利用してVeeamのJob実行時(スナップショット取得前後)にデータベースのサービスの停止、起動を行うことで整合性のあるバックアップが可能です。

下記の設定を行うことでVeeam Backup & Replication(※以下 Veeam)のJob実行時(スナップショット取得前後)に仮想マシン(CentOS)のbatファイルを実行してアプリケーションのサービスの起動、停止等の操作が可能です。

■処理の流れ
ステップ1) VeeamのJob作成時にオプション機能の有効化
ステップ2) 仮想マシン(Cent OS)内で指定された場所にbatファイルを作成
ステップ3) batファイルの編集
ステップ4) VeeamのJobを実行してbatファイルの起動

※今回はVeeamのJob起動時に仮想マシン(Cent OS)内のMySQLのサービスの停止、起動を行うbatファイルを設定します。

■前提条件
①下記のコマンドを実行して仮想マシン(Cent OS)にgcc コンパイラをインストールします。※VMware tools のインストール時に使用します。
【コマンド】yum inatall make gcc gcc-c++ kernel-devel
②コマンド実行後に仮想マシン(Cent OS)にVMware toolsをインストールします。

ステップ1)VeeamのJob 作成時にオプション機能の有効化
① Storage 画面で「Advanced」ボタンをクリックします。

②「Enable VMware tools quiescence」を有効にします。

ステップ2)仮想マシン(Cent OS)内で指定された場所にbatファイルを作成
①仮想マシン(Cent OS)の/usr/sbin フォルダにbatファイルを作成します。

下記のbatファイルを作成します。
(ファイル名)Pre-freeze-script
仮想マシン内のMySQL のサービスを停止します。

(ファイル名)Post-thaw-script
仮想マシン内のMySQL のサービスを開始します。

ステップ3)batファイルの編集
①作成したPre-freeze-script の内容を編集します。
※MySQL のサービスを停止するコードを入力して保存します。
【コード内容】service mysqld stop

②同様にPost-thaw-script の内容を編集します。
※MySQL のサービスを開始するコードを入力して保存します。
【コード内容】service mysqld start

③作成したbatファイルの権限を編集します。

【コマンド】sudo chmod 777 /uer/sbin/pre-freezs-script
【コマンド】sudo chmod 777 /uer/sbin/post-thaw-script

ステップ4)VeeamのJobを実行してbatファイルの起動
①VeeamのJobが起動して仮想マシンのスナップショットの取得前にPre-freeze-script(仮想マシン内のMySQL のサービスを停止)が起動します。Pre-freeze-script実行され正常な終了コード(0)をVMware Toolsが受け取るとスナップショットの作成が開始されます。
※スナップショット作成中に仮想マシン内のMySQL を操作するとサービスが停止しているのを確認できます。

②VeeamのJobが起動して仮想マシンのスナップショットの取得後にPost-thaw-script(仮想マシン内のMySQL のサービスを開始) が起動します。※スナップショット取得後に仮想マシン内のMySQL を操作するとサービスが起動されていて再接続できることが確認できます。

関連トピックス