楽天クラウド オブジェクトストレージにバックアップしてみた
今村 健一郎 クラウドプラットフォーム技術部 クラウド技術グループ
この記事では、CentOS 6の仮想マシンのバックアップを取得し、「楽天クラウド オブジェクトストレージ」に転送する手順を紹介します。
1.データのエクスポート
CentOS 6の仮想マシンのrootディスク(/dev/xvda)をエクスポートします。
例外事項
本記事では仮想マシンにアタッチしているブロックストレージのエクスポートは扱いません。
仮想マシンへログインし、dumpコマンドをインストールします。
# yum install -y dump
移行対象仮想マシンのrootボリュームをバックアップします。
# dump -f - / | gzip > target.xvda.dump.gz
2.s3cmdのインストール
dumpを実行した仮想マシン上に、s3cmdコマンドをインストールします。
$ sudo yum install epel-release
$ sudo yum install -y s3cmd
3.s3cmdの設定
管理ポータルにて、以下の値を取得してください。
・エンドポイントのURL(objectstorage.copse.jp)
・アクセスキー
・シークレットキー
オブジェクトストレージ 管理ポータル
https://console.objectstorage.rakuten-cloud.net/objst/login.htm
管理ポータルより、「セキュリティ証明書」画面へ移動します。
アクセスキーIDを確認し、記録します。
「シークレットキーを見る」をクリックし、シークレットキーを記録します。
s3cmdのコンフィグに必要情報を登録します。
$ s3cmd --configure
Enter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.
Access key and Secret key are your identifiers for Amazon S3. Leave them empty for using the env variables.
Access Key: [アクセスキーを入力]
Secret Key: [シークレットキーを入力]
Default Region [US]: <= デフォルトのままエンター
Use "s3.amazonaws.com" for S3 Endpoint and not modify it to the target Amazon S3.
S3 Endpoint [s3.amazonaws.com]: s3.jp3.objectstorage.rakuten-cloud.net <= エンドポイントを入力
Use "%(bucket)s.s3.amazonaws.com" to the target Amazon S3. "%(bucket)s" and "%(location)s" vars can be used
if the target S3 system supports dns based buckets.
DNS-style bucket+hostname:port template for accessing a bucket [%(bucket)s.s3.amazonaws.com]: %(bucket)s.s3.jp3.objectstorage.rakuten-cloud.net <= %(bucket)s.エンドポイントを入力
Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password: <= デフォルトのままエンター
Path to GPG program [/usr/bin/gpg]: <= デフォルトのままエンター
When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP, and can only be proxied with Python 2.7 or newer
Use HTTPS protocol [Yes]: <= デフォルトのままエンター
New settings:
Access Key: **** access key ****
Secret Key: **** secret key ****
Default Region: US
S3 Endpoint: s3.jp3.objectstorage.rakuten-cloud.net
DNS-style bucket+hostname:port template for accessing a bucket: %(bucket)s.s3.jp3.objectstorage.rakuten-cloud.net
Encryption password:
Path to GPG program: /usr/bin/gpg
Use HTTPS protocol: True
HTTP Proxy server name:
HTTP Proxy server port: 0
Test access with supplied credentials? [Y/n] Y
Please wait, attempting to list all buckets...
Success. Your access key and secret key worked fine :-)
Now verifying that encryption works...
Not configured. Never mind.
Save settings? [y/N] y
Configuration saved to '/home/f-user/.s3cfg'
4.バケットの作成
s3cmdでバケット ”blog-backup” を新規作成します。
$ s3cmd mb s3://blog-backup
Bucket 's3://blog-backup/' created
5.ファイルのアップロード
s3cmdでバケット ”blog-backup” へdumpファイルをアップロードします。
$ s3cmd put target.xvda.dump.gz s3://blog-backup
upload: 'target.xvda.dump.gz' -> 's3://blog-backup/target.xvda.dump.gz' [part 1 of 36, 15MB] [1 of 1]
15728640 of 15728640 100% in 0s 18.30 MB/s done
upload: 'target.xvda.dump.gz' -> 's3://blog-backup/target.xvda.dump.gz' [part 2 of 36, 15MB] [1 of 1]
・
・
・
upload: 'target.xvda.dump.gz' -> 's3://blog-backup/target.xvda.dump.gz' [part 35 of 36, 15MB] [1 of 1]
15728640 of 15728640 100% in 0s 21.67 MB/s done
upload: 'target.xvda.dump.gz' -> 's3://blog-backup/target.xvda.dump.gz' [part 36 of 36, 7MB] [1 of 1]
7447485 of 7447485 100% in 0s 21.79 MB/s done
管理ポータルでファイルがアップロードされていることを確認することも可能です。
まとめ
今回はCentOSのデータを圧縮し、楽天クラウド オブジェクトストレージへのバックアップを実施しました。
s3cmdを利用することでバケットの操作を行うことが可能になり、だれでも簡単に扱えるようになったと思います。
現在S3を利用している方は違和感なく利用できると思いますので、ぜひ楽天クラウドをご利用いただけると嬉しいです。
楽天クラウド:https://cloud.rakuten.co.jp/
今村 健一郎
国内ユーザー系SI企業に入社後、グループ内のシステム再編などに従事。その後、新規のクラウド事業をサポートするため現職に。自社が展開するIaaS、SaaS、PaaSを含めた幅広いプロジェクトに参画し、営業部隊と運用部隊がスムーズに連携できるようなバランサーとして業務を行っている。
国内情勢により外出が難しくなってきたため、思い付きでウクレレを購入。初めての弦楽器に四苦八苦しながら勉強している。