web-dev-qa-db-ja.com

スペースが不足したときに「アクセスが拒否されました」と表示されますか?

私は実行しています smrtanalysis software これはCPU、RAMおよびストレージの点で非常に要求が厳しいです。数時間実行した後、次のエラーメッセージが表示されました:

IOError: [Errno 13] Permission denied: '/afs/bx.psu.edu/user/s/szr/smrtanalysis/tmpdir/tmpqNMh9s'

ただし、ファイルを確認すると、アクセス許可は正常に設定されているようです(プログラムをbiomonikaとして起動しています)。

[biomonika@brubeck tmpdir]$ ls -l tmpqNMh9s
-rw-------  1 biomonika biomonika  639 Feb  6 01:13 tmpqNMh9s

実際、tmpdirは、非常に類似した時間に作成された類似した名前のフォルダーとファイルでいっぱいです。エラーの時点では、131GBの空き領域しか残っていませんでした。

「アクセス許可が拒否されました」とは、実際に誤ってアクセス許可を設定した以外の意味である可能性があるのではないかと思います。スペースが不足しています。ただし、ディスクは「 afs 」であり、経験はありません。chmodの使用のみを経験しているため、質問があります。

2
Perlnika

ほとんどの場合、AFSは「chmod」権限に注意を払いません。ディレクトリに対する権限を確認するには、次のようにfs getcalleraccess <dir>を実行します。

$ fs getcalleraccess .
Callers access to . is rlidwka

「rlidwka」の文字は、AFSのアクセス権です。これらの各権利の意味についての説明は、 fs_listacl(1) のマニュアルページにあります。おそらく、そのディレクトリに対して少なくとも「rlidwk」権限があることを期待しているでしょう。 fs la <dir>を実行すると、ディレクトリに設定されているACLを確認することもできますが、関連するAFSの設定に慣れていない場合は、役に立たない可能性があります。

その他の可能性としては、AFS資格情報の有効期限が切れているか、何らかの理由で無効になっている可能性があります。これが当てはまるかどうかを確認するには、マシンのsyslogログを調べて、「afs」を探してみてください。これが使用されているプラ​​ットフォームに応じて、これらのメッセージは/var/log/syslog、/var/log/messages、/var/adm/messages、/var/log/kern.log、またはdmesgの出力にあります。コマンド。 AFSトークンの有効期限が切れているか無効である場合は、そのうちの1つに警告メッセージが表示されます。

これで動作が説明されない場合は、プロセスをstraceingして、どのsyscallが失敗するかを確認できます(または同様のプログラム。Linuxではstrace、Solarisではtruss、Mac OS Xではdtruss)。ただし、プロセスが多くの処理とI/Oを実行する場合、tonの出力が生成され、長い時間がかかります。

1
adeason