Make a little progress every day--/srv/node does not exist cause object-updater and Container-updater crashes (Swift bugs) __openstack
Source: Internet
Author: User
Reprint please explain source: http://blog.csdn.net/cywosp/article/details/23850893
Why is it reasonable to have recently encountered a reasonable bug in Swift during the development process? And look at the scene description of the bug. There are now two servers, A and B, that are used to prepare the swift cluster, for some reason a disk was not added to the ring file, only disks in B were joined, but all ring files in the/etc/swift/directory of A and B correspond to the same if the/srv on the current a /node directory does not exist, at this time to open the two machines all the Swift service, then B will have no errors and a machine will report the following error: APR 02:35:23 localhost object-updater uncaught exception# 012Traceback (most recent call last): #012 File "/usr/bin/swift-object-updater", line, in <module> #012 Run_daemon (Objectupdater, Conf_file, **options) #012 file "/usr/lib/python2.6/site-packages/swift/common/daemon.py", line 110, In run_daemon#012 Klass (conf). Run (once=once, **kwargs) #012 File "/usr/lib/python2.6/site-packages/swift/common/ daemon.py ", line, in run#012 self.run_forever (**kwargs) #012 File"/usr/lib/python2.6/site-packages/swift/obj/ updater.py ", line, in run_forever#012 for device in Os.listdir (self.devices): #012OSError: [Errno 2] No such file or dir Ectory: '/srv/node '
APR 02:33:10 localhost container-updater uncaught exception#012traceback (most recent call last): #012 File "/USR/BIN/SW Ift-container-updater ", line, in <module> #012 Run_daemon (Containerupdater, Conf_file, **options) #012 file"/ usr/lib/python2.6/site-packages/swift/common/daemon.py ", line $, in run_daemon#012 Klass (conf). Run (once=once, * * Kwargs) #012 File "/usr/lib/python2.6/site-packages/swift/common/daemon.py", Line run#012, self.run_forever (* * Kwargs) #012 File "/usr/lib/python2.6/site-packages/swift/container/updater.py", line 123, in run_forever#012 for path I n self.get_paths (): #012 File "/usr/lib/python2.6/site-packages/swift/container/updater.py", line, in get_paths#012 For device in Os.listdir (self.devices): #012OSError: [Errno 2] No such file or directory: '/srv/node ' through the above log we can know Object-u The Pdater and container-updater two processes all have unknown exceptions, and thus crash.
The above description can explain why the problem is reasonable, because there is no storage device on the a server, so all data is not written to that node, which is equivalent to a proxy deployment node, and all other services except proxy services can be turned off. So Object-updater and Container-updater stop, will be the release of the system resources.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.