Revision history [back]

click to hide/show revision 1
initial version

Lost data from my swift cluster, please answer me, its urgent..!!

Hello,

First of all I want to say that its my third question here inspite of previous two are still unanswered. I solved the previous two but this time problem is very serious, please help me.

I am running the swift cluster on a single server with 2 zones having total 2TB storage space & all services running over the same server. I was trying to add a new storage node. I took backup of existing builder and ring files and added the new zone to the existing ring files. When I did the rebalance objects got rsynced successfully but I was having an error related to account-server in syslog as follows:

Jul 4 14:18:57 cloudvault account-server ERROR __call__ error with PUT /sdb1/91380/AUTH_365bc339-7f05-45f3-9854-0fb804cb50ed/Kuppusamy_container1_segments : #012Traceback (most recent call last):#012 File "/usr/lib/python2.7/dist-packages/swift/account/server.py", line 317, in __call__#012 res = getattr(self, req.method)(req)#012 File "/usr/lib/python2.7/dist-packages/swift/account/server.py", line 105, in PUT#012 req.headers['x-bytes-used'])#012 File "/usr/lib/python2.7/dist-packages/swift/common/db.py", line 1446, in put_container#012 raise DatabaseConnectionError(self.db_file, "DB doesn't exist")#012DatabaseConnectionError: DB connection error (/srv/1/node/sdb1/accounts/91380/a31/1ff74362319d350c0921907021125a31/1ff74362319d350c0921907021125a31.db, 0):#012DB doesn't exist Jul 4 14:18:57 cloudvault account-server ERROR __call__ error with PUT /sdb1/27481/AUTH_.auth/.token_6 : #012Traceback (most recent call last):#012 File "/usr/lib/python2.7/dist-packages/swift/account/server.py", line 317, in __call__#012 res = getattr(self, req.method)(req)#012 File "/usr/lib/python2.7/dist-packages/swift/account/server.py", line 105, in PUT#012 req.headers['x-bytes-used'])#012 File "/usr/lib/python2.7/dist-packages/swift/common/db.py", line 1446, in put_container#012 raise DatabaseConnectionError(self.db_file, "DB doesn't exist")#012DatabaseConnectionError: DB connection error (/srv/1/node/sdb1/accounts/27481/528/5bbc8ec47ce5a77183c1f6f33666d528/5bbc8ec47ce5a77183c1f6f33666d528.db, 0):#012DB doesn't exist

Output of SWAUTH - LIST:

swauth-list -A https://my-swift-cluster.example.com:8080/auth/ -K mykey {"accounts": [{"name": "mainaccount"}, {"name": "testaccount"}]}

swauth-list -A https://my-swift-cluster.example.com:8080/auth/ -K mykey testaccount {"services": {"storage": {"default": "local", "local": "https://my-swift-cluster.example.com:8080/v1/AUTH_6e1a4b2c-4d79-4a42-8f04-a718236fa1e0"}}, "account_id": "AUTH_6e1a4b2c-4d79-4a42-8f04-a718236fa1e0", "users": [{"name": "test"}]}

swauth-list -A https://my-swift-cluster.example.com:8080/auth/ -K mykey mainaccount List failed: 404 Not Found

Above command is showing that I have lost access to my mainaccount. I was having approx 600GB of very important data stored under mainaccount. I copied the backup of builder and ring files to swift directory and did the rebalance but still getting the same output as above as "List failed: 404 Not Found".

Please help me, either to solve this problem or to recover my data. Thanks in advance.