/ / Openstack Swift podivné behaiour na kopírovanie späť Data Dirs - openstack, openstack-swift

OpenStack Swift podivné behaiour na kopírovanie späť dáta Dirs - openstack, openstack-swift

Vidím teda veľmi zvláštne správanieOpenstack Swift. Ak začnem všetky rýchle procesy a poviem operáciu (napr. Nahrajte súbor), potom, ak zabijem všetky svoje procesy Swift, skopírujte všetky adresáre údajov do iného umiestnenia, zmažte obsah všetkých adresárov údajov, Skopírujte všetky temp adresáre späť do dátového adresára a spustite moje rýchle procesy znova, nie som schopný vykonať GET pre objekt. (Mám prístup k informáciám o kontajneri, ale rýchle sťahovanie zlyhá).

Trávim hodiny tým, že ladím toto veľmi podivné správanie. Tento problém má niekto iný?

Kroky na reprodukciu chyby: (Predpokladajme, že 4 údaje Dirs hovoria v / mnt / sdb1 / dir)

=> swift-init celý štart
=> swift upload some_container some_file
=> (Môžu nasledovať žiadne rýchle operácie)
=> swift-init všetky zabiť
=> cp -R / mnt / sdb1 / 1 / mnt / sdb1 / 1_temp (kópia z originálu do dočasného adresára)
=> cp -R / mnt / sdb1 / 2 / mnt / sdb1 / 2_temp (kópia z originálu do dočasného adresára)
=> cp -R / mnt / sdb1 / 3 / mnt / sdb1 / 3_temp (kópia z originálu do dočasného adresára)
=> cp -R / mnt / sdb1 / 4 / mnt / sdb1 / 4_temp (kópia z originálu do dočasného adresára)
=> rm -rf / mnt / sdb1 / 1 / * (vymazať celý obsah pôvodného dátového adresára)
=> rm -rf / mnt / sdb1 / 2 / * (vymazať celý obsah pôvodného dátového adresára)
=> rm -rf / mnt / sdb1 / 3 / * (vymazať všetok obsah pôvodného dátového adresára)
=> rm -rf / mnt / sdb1 / 4 / * (vymazať celý obsah pôvodného dátového adresára)
=> cp -R / mnt / sdb1 / 1_temp / mnt / sdb1 / 1 (kopírovanie do originálu z adresára temp)
=> cp -R / mnt / sdb1 / 2_temp / mnt / sdb1 / 2 (kopírovanie do originálu z adresára temp)
=> cp -R / mnt / sdb1 / 3_temp / mnt / sdb1 / 3 (kopírovanie do originálu z adresára temp)
=> cp -R / mnt / sdb1 / 4_temp / mnt / sdb1 / 4 (kopírovanie do originálu z adresára temp)

=> swift-init all start (znovu spustiť swift)
=> rýchly zoznam (toto sa podarí)
=> swift list some_container (toto sa podarí)
=> swift download some_container some_file (toto zlyhá)

Je to veľmi zvláštne vzhľadom na to, že som obsah jednoducho presunul.

Akékoľvek ukazovatele?

odpovede:

0 pre odpoveď č. 1

Openstack Swift má nejaký proces na pozadíkontrolu replikácie a konzistencie jej súborov. Keď súbory premiestňujete sami, Swift pravdepodobne pochopí, že ako určitý druh nekonzistentnosti závisí od nastavenia vášho klastra a pokúsi sa ho opraviť. Takže to nemá fungovať.

Ak však stále chcete zistiť, čosa stane, odporúčam vám zoznam obsahu kontajnera po upload, presunúť súbory a zoznam obsahu kontajnera znova. Počkajte niekoľko minút a znova sa objaví zoznam. Premiestnite súbory späť a znova. To vám môže pomôcť zistiť, či proces na pozadí robí niečo pri presúvaní súborov.