2163ad9a00
Restores Troubleshoot Object Storage Removes Monitoring section, which was based on a blog backport: havana Closes-Bug: #1251515 author: nermina miller Change-Id: I580b077a0124d7cd54dced6c0d340e05d5d5f983
40 lines
3.1 KiB
XML
40 lines
3.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<section xmlns="http://docbook.org/ns/docbook"
|
||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||
version="5.0"
|
||
xml:id="section_objectstorage-account-reaper">
|
||
<!-- ... Old module003-ch008-account-reaper edited, renamed, and stored in doc/common for use by both Cloud Admin and Operator Training Guides... -->
|
||
<title>Account reaper</title>
|
||
<para>In the background, the account reaper removes data from the deleted accounts.</para>
|
||
<para>A reseller marks an account for deletion by issuing a <code>DELETE</code> request on the account’s
|
||
storage URL. This action sets the <code>status</code> column of the account_stat table in the account
|
||
database and replicas to <code>DELETED</code>, marking the account's data for deletion.</para>
|
||
<para>Typically, a specific retention time or undelete are not provided. However, you can set a
|
||
<code>delay_reaping</code> value in the <code>[account-reaper]</code> section of the
|
||
account-server.conf to delay the actual deletion of data. At this time, to undelete you have
|
||
to update the account database replicas directly, setting the status column to an empty
|
||
string and updating the put_timestamp to be greater than the delete_timestamp.
|
||
<note><para>It's on the developers' to-do list to write a utility that performs this task, preferably
|
||
through a ReST call.</para></note>
|
||
</para>
|
||
<para>The account reaper runs on each account server and scans the server occasionally for
|
||
account databases marked for deletion. It only fires up on the accounts for which the server
|
||
is the primary node, so that multiple account servers aren’t trying to do it simultaneously.
|
||
Using multiple servers to delete one account might improve the deletion speed but requires
|
||
coordination to avoid duplication. Speed really is not a big concern with data deletion, and
|
||
large accounts aren’t deleted often.</para>
|
||
<para>Deleting an account is simple. For each account container, all objects are deleted and
|
||
then the container is deleted. Deletion requests that fail will not stop the overall process
|
||
but will cause the overall process to fail eventually (for example, if an object delete
|
||
times out, you will not be able to delete the container or the account). The account reaper
|
||
keeps trying to delete an account until it is empty, at which point the database reclaim
|
||
process within the db_replicator will remove the database files.</para>
|
||
<para>A persistent error state may prevent the deletion of an object
|
||
or container. If this happens, you will see
|
||
a message such as <code>“Account <name> has not been reaped
|
||
since <date>”</code> in the log. You can control when this is
|
||
logged with the <code>reap_warn_after</code> value in the <code>[account-reaper]</code>
|
||
section of the account-server.conf file. The default value is 30
|
||
days.</para>
|
||
</section> |