ServersMan@VPSのフルバックアップを取る – rsync sshfs

 さくらのVPSでは完全仮想化のおかげでddやdumpで簡単にイメージバックアップによるフルバックアップが取れるのだが、ServersMan@VPSでは準仮想化のためイメージバックアップが出来ないのでrsyncを使ってバックアップを取ることにした。
 バックアップ先は自宅のファイルサーバを利用する。
 ファイルサーバのサービスを追加したくないので既存のファイル共有サービスを利用してバックアップしたいのだが、ServersMan@VPSではリモートのnfsやsmbのファイルシステムをサポートしていない。 だが、fuseがサポートされていた↓

#cat /proc/filesystems
ext2
ext3
nodev proc
nodev sysfs
nodev tmpfs
nodev devpts
nodev binfmt_misc
nodev fusectl
nodev fuse
nodev rpc_pipefs

 fuseがサポートされていると、sshfsが使える。
 sshfsは名前の通り、sshを経由してリモートの記憶域を利用できるファイルシステム。
 標準のyumリポジトリにはsshfsは入っていないので、rpmforgeから取ってくる。

#wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm #リポジトリ追加のためのRPMを取得
#rpm -iv rpmforge-release-0.5.2-2.el5.rf.i386.rpm #取得したRPMからリポジトリを追加
#vi /etc/yum.repos.d/rpmforge.repo #標準でrpmforgeが有効になっているので無効にする↓enabledを1から0へ変更
enabled = 1 > enabled = 0
#yum install –enablerepo=rpmforge fuse-sshfs #rpmforgeリポジトリを使ってfuse-sshfsパッケージを導入する(おそらく依存関係も表示される)
#mkdir /mnt/fileserver #マウントポイントを作る
#sshfs remoteuser@fileserver.hoge.piyo:/home/remoteuser /mnt/fileserver #fileserver.hoge.piyo=自宅サーバのユーザー名remoteuserで/home/remoteuserをServersManの/mnt/fileserverにマウントする

 これで/mnt/fileserverが自宅のファイルサーバに繋がったので、後はディレクトリ指定でrsyncすればOK

 rsyncバックアップで除外するリストを作る。

#cat > /root/rsync_exclude_list
– /dev
– /sys
– /proc
– /mnt
ctrl+d

※本当は他にも除外した方が良い物があるが、最低限の記述で済ませた。

 rsyncを実行する。

rsync -avzHAX –exclude-from=/root/rsync_exclude_list / /mnt/fileserver/backup

オプション:
a:各種属性やソフトリンク等を維持する
v:進行状況を詳細に表示する
z:圧縮する
H:ハードリンクも維持する
A:ACLを維持する
X:拡張属性を維持する

 これでフルバックアップが取れる。
 普通はrsync to rsyncでバックアップを取る方法もあるけど、経路暗号化とサービス追加不要というポイントでrsync on sshfsにした。

(711)


カテゴリー: サーバ設定   パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です