VMインスタンスのバックアップ

自宅のサーバということもあり、バックアップは簡易的にホームディレクトリのみUSBストレージに定期的にとる程度でした。
ESXi上のストレージも1本しかなかったこともありますが。。。

サーバを変えてからディスクも2本となり、容量的にも余裕ができたので、たまに手動でとることにしました。
(ディスクでRAIDがくめれば面倒なバックアップなどはとるつもりはないのですが。。。)

google先生で調べていると、無料で便利そうなスクリプトが見つかりました。
ghettoVCB.sh – Free alternative for backing up VM’s for ESX(i)
NFSのdatastoreにも対応しているそうでなんか、応用も効きそうです。
自宅のサーバは単純にlocalディスクが2本(datastoreが2つ)あるだけの簡単構成なので、簡単にインプリできそうです。

  1. 上記URLの最下部にghettoVCB.tar.gzファイルがあるのでダウンロード。
  2. ESXi上の/vmfs/volumes/datastore1にscpでコピー
  3. 展開するとghettoVCBディレクトリが作成される
  4. ディレクトリ内のghettoVCB.confを編集
  5. バックアップ対象となるvm instanceのリストファイルを作成
  6. 実行

付属のghettoVCB.confを下記のみ変更。(ディレクトリは自動で作成される)

VM_BACKUP_VOLUME=/vmfs/volumes/datastore2/BACKUPS

使い方メモ。

###############################################################
#
# ghettoVCB for ESX/ESXi 3.5, 4.x+ and 5.0
# Author: William Lam
# http://www.virtuallyghetto.com/
# Created: 11/17/2008
# Last modified: 2011_06_28 Version 1
#
###############################################################

Usage: ./ghettoVCB.sh -f [VM_BACKUP_UP_LIST] -c [VM_CONFIG_DIR] -l [LOG_FILE] -d [DEBUG_LEVEL] -g [GLOBAL_CONF] -e [VM_EXCLUSION_LIST]

OPTIONS:
   -a     Backup all VMs on host
   -f     List of VMs to backup
   -c     VM configuration directory for VM backups
   -g     Path to global ghettoVCB configuration file
   -l     File to output logging
   -d     Debug level [info|debug|dryrun] (default: info)

こんな感じで実行

./ghettoVCB.sh -f vm_backup_list.txt -g ./ghettoVCB.conf -l backup.log

これをmacからsshでリモート実行しています。

リストアについてはまだ、実験してませんが、メモのみ。

 

今更 FreeBSD-8.2へ

ちょいと時間ができたので、FreeBSD 8.2へアップグレードしました。

# freebsd-upgrade -r 8.2-RELEASE
# freebsd update install
# shutdown -r now
# freebsd-update install
# shutdown -r now
# freebsd-update install

古いpackageを一部アップデートして終わり。
だんだんとこのような作業が面倒くさくなってきた。

 

MySQL 5.5

MySQLを5.5へバージョンアップ。

まずは、とりあえずバックアップ。

% mysqldump -u root -p -x --all-databases > mysqlbackup.sql

さらに、mysql directoryも念のためコピーしてバックアップ。

mysql51-server
mysql51-client
の2つをアンインストール。

# make deinstall

その後、mysql55-serverとmysql55-clientを

# make install
# /usr/local/etc/rc.d/mysql-server start
# mysql_upgrade
# /usr/local/etc/rc.d/mysql-server restart

無事に、wordpressおよびcactiも問題なく稼働中。バックアップを出動する事なく一安心。

テーブル自体は、InnoDBになってないんだろうな。。。いつかコンバートしよう。

 

続けてiozone

-t オプションをつけて実施してみた。

% iozone -t 2 -s 200M -r 128K -i 0 -i 1

結果は

	Children see throughput for  2 initial writers 	=   28340.63 KB/sec
	Parent sees throughput for  2 initial writers 	=   27582.50 KB/sec
	Min throughput per process 			=   14149.03 KB/sec
	Max throughput per process 			=   14191.60 KB/sec
	Avg throughput per process 			=   14170.31 KB/sec
	Min xfer 					=  204160.00 KB

... 略
	Children see throughput for  2 readers 		= 1808282.81 KB/sec
	Parent sees throughput for  2 readers 		= 1707395.39 KB/sec
	Min throughput per process 			=  899752.31 KB/sec
	Max throughput per process 			=  908530.50 KB/sec
	Avg throughput per process 			=  904141.41 KB/sec
	Min xfer 					=  186496.00 KB

Writeはこんなものかな。。。ファイルサイズを大きくしても変わらずだし。
Readは異常な数値だな。。

とあるVPSでも実施してみた。

Command line used: iozone -t 2 -s 1G -r 16M -i 0 -i 1
...

	Children see throughput for  2 initial writers 	=  121388.65 KB/sec
	Parent sees throughput for  2 initial writers 	=   31511.61 KB/sec
	Min throughput per process 			=   60125.28 KB/sec
	Max throughput per process 			=   61263.37 KB/sec
	Avg throughput per process 			=   60694.33 KB/sec
	Min xfer 					= 1032192.00 KB
...略
	Children see throughput for  2 readers 		= 1074459.62 KB/sec
	Parent sees throughput for  2 readers 		= 1044948.72 KB/sec
	Min throughput per process 			=  527165.88 KB/sec
	Max throughput per process 			=  547293.75 KB/sec
	Avg throughput per process 			=  537229.81 KB/sec
	Min xfer 					= 1015808.00 KB

かなり速い。。。
使っていると速いとは思わないんだがな。。。
iozoneの使い方がよくないのかな。。。

 

なんとなくiozone

ESXi上のFreeBSDでiozoneを実行してみた。

% iozone -g 2g -i 0 -i 1 -Rab excelfile

エクセルファイルに出力してグラフ化してみた。
■Write Report

■Read Report

速すぎる。。。なんか怪しい。。。

■Write Report (32MB以上のデータ)

これくらいが適正か。。。?

■Read Report(32MB以上のデータ)

これも怪しい。。。