前回のインストール編の続きで、Amazon S3ストレージサービスをマウントして使ってみようというのが今回の内容です。
#検証環境は、CentOS6.5(x86_64) + S3QLのバージョン2.11.1ですAmazon Web Serviceでの準備
ここでは詳細な説明は割愛させてもらいますが、AWSにアカウントを作成後、以下の2点を準備しておく必要があります。
1.Amazon S3でバケットの作成
⇒今回は、メールBOXの場所として利用しようと思ったので、"s3ql-mail"と作成しました
2.S3にアクセスするためのAccess Key IDとSecret Access Keyの作成
S3QLからの操作
1.ファイルシステムの作成
暗号化パスワードは、この作業で新規に作成します。
# mkfs.s3ql s3://s3ql-mail
Enter backend login: Access Key ID を入力
Enter backend passphrase: Secret Access Key を入力
Before using S3QL, make sure to read the user's guide, especially
the 'Important Rules to Avoid Loosing Data' section.
Enter encryption password: 暗号化パスワード を入力
Confirm encryption password: 暗号化パスワード を再度入力
Generating random encryption key...
Creating metadata tables...
Dumping metadata...
..objects..
..blocks..
..inodes..
..inode_blocks..
..symlink_targets..
..names..
..contents..
..ext_attributes..
Compressing and uploading metadata...
Wrote 150 bytes of compressed metadata.
#
2.マウント
適当なマウントポイント(ここでは、/mail_storage)を作成してマウントします。
※暗号化パスワードは、ファイルシステムの作成時に指定したものを入力します。
※マウントオプションは、"mount.s3ql --help"で確認してください。
※暗号化パスワードは、ファイルシステムの作成時に指定したものを入力します。
※マウントオプションは、"mount.s3ql --help"で確認してください。
# mkdir /mail_storage
# mount.s3ql --allow-other s3://s3ql-mail /mail_storage
Using 2 upload threads.
Autodetected 10202 file descriptors available for cache entries
Enter backend login:Access Key ID を入力
Enter backend passphrase:Secret Access Key を入力
Enter file system encryption passphrase:暗号化パスワード を入力
Using cached metadata.
Setting cache size to 8732 MB
Mounting filesystem...
#
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 13G 1.4G 11G 11% /
tmpfs 935M 0 935M 0% /dev/shm
/dev/sda1 194M 86M 98M 47% /boot
s3://s3ql-mail 1.0T 0 1.0T 0% /mail_storage
#
以上で、後はローカルのファイルシステムと同様に読み書きができます。
⇒authinfo2を以下のように作成する
# touch ~/.s3ql/authinfo2
# chmod 600 ~/.s3ql/authinfo2
# vi ~/.s3ql/authinfo2
<記述内容>==========================
[s3]
storage-url: s3://s3ql-mail
backend-login: Access Key ID
backend-password: Secret Access Key
fs-passphrase: 暗号化パスワード
====================================
(備考2)OS起動時に自動的にバケットをマウントするには
下記のような起動スクリプトを作成後、ファイルに実行権を付与し、自動起動するようにしてください
# chkconfig --add s3ql
<起動スクリプトの作成例>
※バケット名やマウントポイントなどは各自の環境にあわせて修正する必要があります
#!/bin/bash
#
# chkconfig: 35 60 40
# description: S3QL Backup File System
#
# Source function library.
. /etc/init.d/functions
#
AUTHFILE="/root/.s3ql/authinfo2"
BUCKET="s3://s3ql-mail"
MOUNTPOINT="/mail_storage"
OPTIONS="--allow-other"
start() {
echo -n $"Mounting S3QL: "
mount | grep $MOUNTPOINT > /dev/null
if [ $? -eq 0 ];then
echo $"Cannot mount $MOUNTPOINT. Already mounted !!"
echo
exit 1
fi
echo
fsck.s3ql --batch $BUCKET
mount.s3ql $OPTIONS $BUCKET $MOUNTPOINT
RETVAL=$?
[ $RETVAL -eq 0 ] && success || failure
echo
}
stop() {
echo -n $"Unmounting S3QL: "
mount | grep $MOUNTPOINT > /dev/null
if [ $? -ne 0 ];then
echo $"Already unmounted !!"
echo
exit 1
fi
umount.s3ql $MOUNTPOINT && success || failure
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage: `basename $0` {start|stop}"
exit 1
;;
esac
0 件のコメント:
コメントを投稿