質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.39%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

samba

Samba(サンバ)とは、UNIX系OSにおいてSMBを用いたサービスを提供するためのソフトウェアです。ネットワークを通じて、ファイル共有及びプリンタ共有などのサービスをWindowsマシンへと提供します。ライセンス体系GPLに基づきフリーソフトウェアとして公開されています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

Q&A

1回答

654閲覧

Almalinux上にマウントしたS3ディレクトリにファイルをコピーする途中で「I/O デバイスエラーが発生したため・・・」と表示されます。

Sylph

総合スコア2

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Tera Term

Tera Termは、TeraTerm Projectが開発する国産のWindows向けターミナルソフト。telnetプロトコルでのリモートホストへの接続やCOMポートのシリアル接続が可能で、マクロが利用できます。

samba

Samba(サンバ)とは、UNIX系OSにおいてSMBを用いたサービスを提供するためのソフトウェアです。ネットワークを通じて、ファイル共有及びプリンタ共有などのサービスをWindowsマシンへと提供します。ライセンス体系GPLに基づきフリーソフトウェアとして公開されています。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

0グッド

0クリップ

投稿2023/08/22 14:42

実現したいこと

大容量ファイル10GBから1TBまでのファイルをマウント先にコピーできるようにする。

運用環境

予めローカルマシン(almalinux)にマウントされたS3ディレクトリ/home/samba/share/share_cloudをSambaで共有し、WindowsクライアントPCからコピーしています。

  • マウント時のコマンド

shell

1[root@qsan-beyond ~]# goofys -o allow_other --uid=65534 --gid=65534 --dir-mode=0777 --file-mode=0777 --endpoint https://s3.ap-northeast-1.wasabisys.com testqshare /home/samba/share/share_cloud

発生している問題

例えばtest-20GB.datをコピーすると次のようになります。

【転送○】
入力元:C:\Users\test-goofys\Desktop\テストデータ\
出力先:X:\share\share_local\data01

【転送✖】
入力元:C:\Users\test-goofys\Desktop\テストデータ\
出力先:X:\share\share_cloud\data01

※テストファイルはWindows上で以下のコマンドにより作成
fsutil file createnew testdata-20GB

エラーになるタイミング

  • 10GB付近まではコピーができる模様

イメージ説明

  • コピーが止まり出します

イメージ説明

  • エラー発生

イメージ説明

↓Sambaデーモンの状態確認

shell

1[root@qsan-beyond ~]# systemctl status smb 2● smb.service - Samba SMB Daemon 3 Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; preset: disabled) 4 Active: active (running) since Tue 2023-08-22 02:13:13 JST; 1h 21min ago 5 Docs: man:smbd(8) 6 man:samba(7) 7 man:smb.conf(5) 8 Main PID: 1549 (smbd) 9 Status: "smbd: ready to serve connections..." 10 Tasks: 4 (limit: 47163) 11 Memory: 8.9M 12 CPU: 15.559s 13 CGroup: /system.slice/smb.service 14 tq1549 /usr/sbin/smbd --foreground --no-process-group 15 tq1629 /usr/sbin/smbd --foreground --no-process-group 16 tq1630 /usr/sbin/smbd --foreground --no-process-group 17 mq2569 /usr/sbin/smbd --foreground --no-process-group 18 19 822 02:13:13 qsan-beyond smbd[1549]: Copyright Andrew Tridgell and the Samba Team 1992-2022 20 822 02:13:13 qsan-beyond systemd[1]: Started Samba SMB Daemon. 21 822 02:38:15 qsan-beyond smbd[2244]: [2023/08/22 02:38:15.774853, 0] ../../source3/smbd/smb2_oplock.c:236(remove_oplock) 22 822 02:38:15 qsan-beyond smbd[2244]: remove_oplock: failed to remove share oplock for file share/share_cloud/data01/test-20GB.dat, fnum 2587130975, 47:90:0 23 822 02:38:15 qsan-beyond smbd[2244]: [2023/08/22 02:38:15.774920, 0] ../../source3/smbd/close.c:529(close_remove_share_mode) 24 822 02:38:15 qsan-beyond smbd[2244]: close_remove_share_mode: Could not delete share entry for file share/share_cloud/data01/test-20GB.dat

↓上記failed to remove share oplock for file及びCould not delete share entry for fileの対処やSambaのパフォーマンスチューニングを行うためにパラメータを追加

smb.conf

1[global] 2 oplocks = No 3 level2 oplocks = No 4 blocking locks = No 5 deadtime = 15 6 use sendfile = yes 7 min receivefile size = 16384 8 workgroup = WORKGROUP 9 server string = SAMBA SERVER Version %v 10 security = user 11 passdb backend = tdbsam 12 dos charset = CP932 13 load printers = no 14 unix charset = UTF-8 15 mangled names = no 16 vfs objects = catia 17 catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6 18 hosts allow = 192.168. 127. 19 max disk size = 0 20 log level = 2 21 log file = /var/log/samba.log.%m 22 encrypt passwords = yes 23 24[homes] 25 comment = Home Directories 26 valid users = %S, %D%w%S 27 browseable = No 28 read only = No 29 inherit acls = Yes 30 vfs objects = recycle 31 recycle:repository = .recycle 32 recycle:keeptree = no 33 recycle:versions = yes 34 recycle:touch = no 35 recycle:maxsize = 0 36 recycle:exclude = *.tmp ~$* 37 38[public] 39 comment = Public Stuff 40 path = /home/samba 41 public = yes 42 writable = yes 43 only guest = yes 44 vfs objects = recycle 45 recycle:repository = .recycle 46 recycle:keeptree = no 47 recycle:versions = yes 48 recycle:touch = no 49 recycle:maxsize = 0 50 recycle:exclude = *.tmp ~$* 51 store dos attributes = no 52 strict allocate = no

転送量の比較

  • 通常のローカル共有ディレクトリ(比較的安定)

イメージ説明

  • マウントディレクトリ(4GBを過ぎたあたりから「102MB/s→68MB/s→22MB/s」と急に落ちる、コピーを始めた途端にプロセスgoofysのメモリー使用率が高くなる等)

イメージ説明

バージョンについて

Almalinux 9.2
smbd version 4.17.5
nmbd version 4.17.5
TeraCopy 3.10

その他、検証したこと

  • 37個のファイル(大きさはランダムですが合計は約20GB)をS3ディレクトリにコピー

※内1個はエラー(Timeout)になるものの、サイズを分ければコピーができることを確認
イメージ説明

アドバイス頂きたい部分

  • Goofys自体がSambaで共有されたマウントディレクトリをサポートしていない?
  • プロセスgoofysのCPU及びメモリー消費率を抑えることは可能でしょうか?
  • smb.confのパラメータ(不要な設定がある場合はご指摘下さいませ)

気になっている情報

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こちらの制限に該当しているのではないでしょうか。
ファイルサイズが大きい場合は「マルチパートアップロード」を利用するといいそうです。

Amazon S3 のよくある質問

Q: Amazon S3 にはどれだけのデータを保存できますか?

Amazon S3 に格納可能なデータの総量とオブジェクトの数には制限はありません。個別の Amazon S3 オブジェクトのサイズは、最低 0 バイトから最大 5 TB までさまざまです。1 つの PUT にアップロード可能なオブジェクトの最大サイズは 5 GB です。100 MB を超えるオブジェクトの場合は、マルチパートアップロード機能を使うことをお考えください。

投稿2023/08/22 15:54

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Sylph

2023/08/30 19:35 編集

yukky1201様、先日は貴重なアンサーを頂きましてありがとうございました。参考に致します。 実はあれから謎の現象が起きていまして・・・ $ cp /share/share_local/data01/test-20GB.dat /share/share_cloud/data02 の方法、つまりAlmalinux内ではマルチアップロード機能を使わなくともコピーができる模様です。 今回の【I/O デバイスエラー】はyukky1201様よりアンサー頂いたマルチアップロード機能を適用することが一つの手かもしれません。只、goofys自体が「高パフォーマンスではあるが、POSIX(UNIX系OS 間でアプリケーションの移植性を高めるために定義されたIEEEの標準規格)の互換性は落ちる」という特徴を持っていることもわかりました。異なるOS同士でのファイルコピーがそもそもの原因なんですかね・・・
yukky1201

2023/08/31 17:01

単純なcpコマンドではありませんが、「自動的にマルチパートアップロードが裏側で行われます。」と記述しているサイトもあります。 https://blog.katsubemakito.net/aws/s3-multipartupload また、アプリでも対応しているもの、非対応のものがあるようなので探してみてはいかがでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.39%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問