実現したいこと
大容量ファイル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 8月 22 02:13:13 qsan-beyond smbd[1549]: Copyright Andrew Tridgell and the Samba Team 1992-2022 20 8月 22 02:13:13 qsan-beyond systemd[1]: Started Samba SMB Daemon. 21 8月 22 02:38:15 qsan-beyond smbd[2244]: [2023/08/22 02:38:15.774853, 0] ../../source3/smbd/smb2_oplock.c:236(remove_oplock) 22 8月 22 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 8月 22 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 8月 22 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
のパラメータ(不要な設定がある場合はご指摘下さいませ)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/08/30 19:35 編集
2023/08/31 17:01