harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

AWS infra 運用

[AWS]s3fsの最新版を試してみた(s3fs-1.70)

投稿日:2013年6月13日

Last Updated on 2021年7月4日 by かんりにん

[pukiwiki]
以前バックアップテストにCentOS6.3のAMIを使用したが、s3fsをインストールする際、RPM版fuseのバージョンが2.8.3と古く、これに合わせてs3fsのバージョンも1.19と古いバージョンをインストールして使ってみた。
しかし、S3のバケットをマウントすると通信エラーがよく発生する。
このため、トラブルシュートの一環と比較対象として、s3fsの最新バージョンをインストールして試してみることに。
今回はAMIには最新のパッケージの提供が期待できるAmazon Linux AMIを使用。
S3は東京、シンガポールにそれぞれバケットを作成してマウント、コピーを試してみる。

*1)パッケージのインストール

公式ドキュメントには、以下のパッケージのインストールが必要との
情報があるので、これを参考にしつつ、現在足りていないものを追加。
※EC2 AMIもyumでのパッケージ管理だったので、ひとまずFedora / CentOSのドキュメントを参考に。

-[公式ドキュメントからの抜粋]
http://code.google.com/p/s3fs/wiki/InstallationNotes
yum install gcc
yum install libstdc++-devel
yum install gcc-c++
yum install fuse
yum install fuse-devel
yum install curl-devel
yum install libxml2-devel
yum install openssl-devel
yum install mailcap

-インストールログ
# yum install fuse fuse-devel fuse-libs
 
— 中略 —
 
Installed:
fuse.x86_64 0:2.9.2-1.13.amzn1
fuse-devel.x86_64 0:2.9.2-1.13.amzn1
fuse-libs.x86_64 0:2.9.2-1.13.amzn1
 
 
# yum install gcc-c++
# yum install curl-devel libxml2-devel openssl-devel

まとめて一行で片づけてもOK。
# yum -y install gcc libstdc++-devel gcc-c++ fuse fuse-devel curl-devel libxml2-devel openssl-devel mailcap

*2)s3fsのダウンロードとインストール

$ wget https://s3fs.googlecode.com/files/s3fs-1.70.tar.gz
$ file s3fs-1.70.tar.gz
s3fs-1.70.tar.gz: gzip compressed data, from Unix, last modified: Sun Jun 2 00:57:25 2013, max compression
$ gzip -d s3fs-1.70.tar.gz
$ tar -xvf s3fs-1.70.tar
$ cd s3fs-1.70
$ ./configure
$ make
$ sudo make install
※Amazon Linux AMIはec2-userでsudoができるので、上のような感じに。
rootにsu -した場合はそのままmake installで。

以降は、[[s3fs-1.19の初期設定>https://www.harumaki.net/2013/03/25/aws-s3fs/]]と同じ。

*3)s3fsでのエラーの調査と転送ファイルサイズの検証

S3に作成したバケットをマウントしてテスト。

*バケット
バックアップファイルの転送先として東京、シンガポールにそれぞれバケットを作成。
-”東京”
”s3-backup-db1-tokyo”
→マウント先:/mnt/s3-backup-db1-tokyo/
-”シンガポール”
”s3-backup-db2-singapore”
→マウント先:/mnt/s3-backup-db2-singapore/

**s3fs-1.19の転送エラー時のメッセージ

ファイルの転送中(ローカル上でcp -aを使っている状態)にエラーが出てしまい
その後、以下のようなエラーメッセージが出る。

-東京リージョンの場合
# ll /mnt/s3-backup-db1-tokyo/
ls: reading directory /mnt/s3-backup-db1-tokyo/: ソフトウェアが接続を中断しました
合計 0
# ll /mnt/s3-backup-db1-tokyo/
ls: cannot access /mnt/s3-backup-db1-tokyo/: 通信端点が接続されていません

-シンガポールリージョンの場合
# ll /mnt/s3-backup-db2-singapore/
ls: reading directory /mnt/s3-backup-db2-singapore/: 入力/出力エラーです
合計 0

**s3fsの最新版1.70を試す

-DBダンプファイルの保管ディレクトリ
/home/ec2-user/db-s3test/
-転送対象のDBダンプファイル
backup_db.sql.gz

***3-1)EC2東京→S3東京

$ cd /home/ec2-user/db-s3test/
$ time cp backup_db.sql.gz /mnt/s3-backup-db1-tokyo/
 
real 11m47.757s
user 0m0.436s
sys 0m26.350s

”→所要時間11:48(小数以下切り捨て)”

**1-2)EC2東京→S3シンガポール

$ time cp backup_db.sql.gz /mnt/s3-backup-db2-singapore/
 
real 81m33.119s
user 0m0.360s
sys 0m26.342s

”→所要時間81:33(小数以下切り捨て)”

→最新版でファイルの転送、マウントをガリガリ試したが、ファイルサイズの上限の課題も含めて
””通信端点が接続されていません”エラー”が出ていないので、今のところ問題なし。

[追記]このあと2日後(06/15)にs3fs-1.71がリリースされていたので、バージョンアップ済み。
[/pukiwiki]
 

 

-AWS, infra, 運用
-,

執筆者:


comment

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

CAPTCHA


関連記事

no image

[メモ]rsyslog たくさんのNW機器のsyslogを振り分ける方法

客先にそこそこの数のルーター、スイッチ、APがあるので、syslogサーバーを立てて一括管理しておきたいのだけど、DBに放り込むほどではないのでrsyslogdでまかなうことに。 syslogファシリ …

no image

[メモ]DNS SPFレコードタイプトTXTレコードタイプについて(RFC7208)

  Route53で新サービス用のドメインのDNS環境整備ため、SPFレコードを登録しようとしたところ、レコードタイプに”SPF”なるタイプがあった! 自分は今までずっとTXT …

[MySQL] mysqlhotcopyを試してみた

基本的にMyISAMのコピーをするだけで、InnoDBには使用不可。 複数のストレージエンジンをもつ環境では、あまり使い道は無いかも。一方で高速動作が見込めるので、MyISAMのみの環境ではメリットは …

no image

[rsync]タイムスタンプについてメモ

同期元ホストのディレクトリのタイムスタンプ(last update)を同期先で合わせる場合のちょっとしたメモ。 rsyncを実行するホストがデータの同期元か同期先(バックアップ先)かでオプションが変わ …

no image

オープンソースのWebロードバランサー(に使えるミドルウェア)をいろいろ調べてみる

  お客さんのWebシステムをハウジング環境からAWSへ移行するにあたり、一部のサイトにおいて仕様上ELBを使えない状況になってしまい、代替の方法を考える必要が出てきてしまった… ELB以外でロードバ …