2016-10-15 8 views
1

私はradosgwで多数のファイルをアップロードして、Cephを使用しています。その後、ファイルを削除します。Cephでファイルを削除しても空きができません

bucket = conn.get_bucket(BUCKET) 
for key in bucket.list(): 
    bucket.delete_key(key) 

その後、私はバケツ内のファイルを一覧表示するbucket.list()を使用しており、これは私が意図したとおりにバケットが、今や空であることを言う:私はこのように、Pythonでいることをやろうとしています。

しかし、私が月にceph dfを実行すると、OSDの利用率が高い(例:%RAW USED 90.91)ことがわかります。私が書いていても(状態データがまだ状態に追いついていないと思う)、Cephは本質的にロックアップします(100%の利用率)。

何が起こっているのですか?

注:私はオンライン集まる何、これは私の特定の問題を起こさない

health HEALTH_WARN 
      3 near full osd(s) 
      too many PGs per OSD (2168 > max 300) 
      pool default.rgw.buckets.data has many more objects per pg than average (too few pgs?) 

から:私はこれらがceph statusに立っています。しかし、私はセフにとって初めてで、間違っている可能性があります。

私は1つのMONと3つのOSDを持っています。これはテスト用です。あなたは、ファイルを削除すると、MDSはローカルメモリに削除されたよう それをマークし、次にやるとき

+0

ファイルはまだプロセスによって開かれていますか? – hek2mgl

+0

@ hek2mgl - ファイルの1000個のコピーをCephにアップロードし、上記のようにファイルを削除します。その後、プロセスが存在します。私がCephにアップロードしているファイルについてあなたが求めているファイルはありますか?それは使用されていません。 –

+0

@ hek2mgl - もっと関連性のある情報を追加しました –

答えて

1

オブジェクトが本当にrados -p $プールリストによって削除されたかどうかをチェックすることができ、私はcephfsのために知っていた 、それはOKを返します関連するosdに削除メッセージを送信して、実際の削除を行います。 おそらくradosgwは同じデザインを使用して削除を高速化します

関連する問題