Było kilka minut po południu, zwyczajny dzień w studiu, które właśnie zrewolucjonizowało animację komputerową filmem Toy Story. Setki artystów pracowało nad sequelem – Toy Story 2 miał wejść do kin za rok. Film był niemal ukończony. Farmy renderujące pracowały z pełną mocą przez całą noc, renderując skomplikowane sceny. Wszystko szło zgodnie z planem.
Aż nagle ktoś zauważył, że pliki zaczynają znikać.
Nie pojedyncze pliki. Nie jakiś folder. Cały film. Klatka po klatce. Model po modelu. Woody znikał, potem Buzz Astral, potem Andy, jego pokój, niebo, wszystko. W czasie rzeczywistym, na oczach załogi, rok pracy wyparowywał w cyfrową nicość.
„To było jak oglądanie, jak ktoś powoli pali twój dom” – wspomina Oren Jacob, który wtedy był asystentem technicznym w Pixar. „Widzieliśmy, jak katalogi pustoszeją. Najpierw myśleliśmy, że to jakiś błąd wyświetlania. Potem zrozumieliśmy, że to się naprawdę dzieje”.
Anatomia katastrofy
Przyczyna była prozaiczna do bólu. Ktoś – do dziś nie wiadomo dokładnie kto, ale prawdopodobnie był to praktykant lub junior w dziale IT – wykonał na głównym serwerze komendę:
$$\text{rm -rf *}$$
Dla niewtajemniczonych: to polecenie w systemach Unix/Linux, które usuwa wszystko. „rm” to „remove” (usuń), „-r” oznacza „rekursywnie” (wchodź w każdy podfolder), „-f” to „force” (wymuś, nie pytaj o potwierdzenie, po prostu kasuj). Gwiazdka oznacza „wszystko”.
To jest komenda nuklearna. Narzędzie, którego używa się z najwyższą ostrożnością. I ktoś uruchomił ją na głównym serwerze produkcyjnym Toy Story 2.
„Najgorsze było to, że system nie pytał ‘czy na pewno?’” – tłumaczy Galyn Susman, która wtedy była współproducentką filmu. „Po prostu zaczął kasować. I kasował szybko”.
W Pixar wybuchła panika. Ktoś krzyknął, żeby odłączyć serwer od prądu – może to zatrzyma proces? Ale było już za późno. Gdy wydostali fizycznie serwer z gniazdka, 90% filmu było już stracone.
Kopia zapasowa, która nie była kopią zapasową
Ale to nie był problem, prawda? Pixar, technologiczny gigant, mistrz cyfrowej animacji, na pewno miał kopię zapasową (backup)?
Miał. Teoretycznie.
Procedura była jasna: każdego wieczoru system automatycznie kopiował wszystkie ważne dane na zewnętrzne dyski. Kopie na taśmach magnetycznych, stan techniki lat 90. Bezpieczne, sprawdzone, niezawodne.
W teorii.
Galyn Susman została oddelegowana do sprawdzenia kopii zapasowych. Zabrała ostatnie taśmy, pojechała do domu (nie ufała, że nie zniszczą kolejnych danych w studiu), podłączyła do swojego komputera i spróbowała odzyskać pliki.
Nic.
Następna taśma. Nic.
Kolejna. Nic.
„Czułam, jak żołądek podchodzi mi do gardła” – wspomina. „Kopia zapasowa nie działała od dwóch miesięcy. Nikt tego nie sprawdzał. System raportował, że wszystko OK, ale w rzeczywistości zapisywał puste dane”.
Toy Story 2 – projekt warty dziesiątki milionów dolarów, rok pracy setek ludzi, sequel jednego z najbardziej kultowych filmów animowanych w historii – właśnie przestał istnieć.
Kobieta, która pracowała z domu
Galyn Susman była w zaawansowanej ciąży, na ostatniej prostej przed porodem. Pixar, jak na progresywną firmę przystało, pozwolił jej pracować z domu przez ostatnie tygodnie.
Żeby mogła pracować, dział IT dał jej bardzo potężną stację roboczą – Silicon Graphics Octane, maszynę za 50 000 dolarów, która ledwo mieściła się pod biurkiem. Żeby nie męczyć jej codziennym łączeniem się z serwerem (internet w 1998 był wolny), zainstalowali jej lokalną kopię całego projektu.
Ona nie wiedziała, że ma kopię zapasową. IT nie wiedziało, że dali jej kopię zapasową. To był przypadek.
Gdy siedziała w domu, rozpatrując bezużyteczne taśmy, nagle ją olśniło. Maszyna pod biurkiem. Ona ma kopię. Nie całości, bo jej wersja była z kilku tygodni wstecz, ale… to było coś.
Zadzwoniła do studia. „Myślę, że mam film”.
Operacja Feniks
To, co się wydarzyło potem, przypomina film akcji. Galyn nie mogła ruszyć ciężkiej stacji roboczej, będąc w ciąży. Ekipa techniczna z Pixar przyjechała do jej domu w Richmond. Problem: maszyna była tak droga i wrażliwa, że bali się jej transportować normalnym vanem.
„To było jak transport bomby atomowej” – śmieje się dziś Oren Jacob. „Owinęliśmy ją w koce, poduszki. Jechaliśmy 30 km/h przez całą drogę do studia. Jeden z facetów siedział z tyłu, trzymając komputer, jakby to było jego dziecko”.
Gdy maszyna dotarła do Pixar, podłączyli ją i zaczęli kopiować dane. Cztery godziny transferu. Wszyscy stali wokół, nikt nie oddychał. Co, jeśli jej kopie też są uszkodzone? Co, jeśli…?
Pliki były czyste. Nie wszystkie – brakowało kilku tygodni pracy – ale to można było odtworzyć. Film żył.
„Płakałam” – przyznaje Galyn. „Wszyscy płakali. To było jak zmartwychwstanie”.
Cena lekcji
Toy Story 2 wyszedł w listopadzie 1999 roku. Zarobił 497 milionów dolarów na całym świecie. Stał się jednym z najlepiej ocenianych sequeli w historii kina. Nikt z widzów nie wiedział, jak blisko była katastrofa.
Pixar wyciągnął wnioski. Zrewidował cały system kopii zapasowych. Wprowadził potrójną redundancję (triple redundancy) – trzy niezależne kopie wszystkiego, sprawdzane codziennie przez ludzi, nie tylko algorytmy. Zainwestował miliony w infrastrukturę zabezpieczeń.
Praktykant, który uruchomił rm -rf *, prawdopodobnie stracił pracę, choć Pixar nigdy nie potwierdził oficjalnie, kim był. W kulturze studia historia stała się legendą – przestrogą dla każdego, kto lekceważy moc jednej komendy.
„Ludzie myślą, że robimy bajki o zabawkach” – mówi Ed Catmull, ówczesny prezes Pixar. „Ale tak naprawdę jesteśmy firmą technologiczną, która opowiada historie. A w technologii jedna pomyłka może zniszczyć wszystko. Galyn nas uratowała. Jej i jej ciąży”.
Galyn Susman kontynuowała karierę w Pixar. Była producentką kilku kolejnych filmów. Urodziła zdrowe dziecko. A stacja robocza, która uratowała Toy Story 2, została przekazana do Computer History Museum w Mountain View jako eksponat – komputer, który ocalił film.
Na tabliczce obok stoi tylko: „Silicon Graphics Octane. Użyty w produkcji Toy Story 2, 1998-1999”. Nie ma wzmianki o dramacie. Ale pracownicy Pixar wiedzą. I każdy nowy pracownik IT słyszy tę historię w pierwszym dniu.
Żeby nie zapomniał, że jeden ukośnik (/) może kosztować cię wszystko.


