Merevlemezhiba margójára

Történt, hogy egyik fizikai szerverben ilyen üzenetek jelentek meg a dmesg-ben:


[ 650.284068] ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
[ 650.284076] ata1.00: BMDMA stat 0x24
[ 650.284084] ata1.00: failed command: READ DMA
[ 650.284100] ata1.00: cmd c8/00:80:00:3e:08/00:00:00:00:00/e3 tag 0 dma 65536 in res 51/84:00:18:3e:08/00:00:00:00:00/03 Emask 0x10 (ATA bus error)
[ 650.284108] ata1.00: status: { DRDY ERR }
[ 650.284113] ata1.00: error: { ICRC ABRT }

Ami egy docker container indításánál bukott ki
(már nem emlékszem a konkrét hibaüzenetre), de a / read-only-ba ment át.
A S.M.A.R.T. extended tesztje nem talált semmi rendellenest.
Az internet népe SATA kábel hibára gyanakszik:)

Írtam a supportnak, szerintük nincs hiba, de szervercserét felajánlottak.
Kértem, hogy egy napra, mindkettőt el tudjam érni.
Azt nem lehet, mert a régi kihuz, az új bedug, nincs másik szerverük.
(ami természetesen nem úgy volt, mert adtak egy új szervert, a régit meg elvették. Az új szerver fizikailag másik polcon van a weboldaluk szerint).

Van pár szerverem, így átcuccoltam, a DNS-t átírtam sub.domain.com -ról, sub-backup.domain.com. Mindent élesztettem, amikor kiderült, hogy
1. reverse nginx containernek már docker 1.10+ kell (ubuntu 16.04), az ubuntu 15.10-ben még 1.6.2 van.
2. Még pár konténerből nem futott a legújabb.
3. Sajnos a --restart=always -> --restart=unless-stopped váltáshoz is a docker 1.6.2 kevés

Így a régi gépből a konténereket kiexportáltam (docker save ID -o valami.tar), és átvittem az újra. (tipikusan régi konténerek már nem elérhetők a docker hub-ból)

Minden szépen megy, igazából jól döntöttem, hogy mindkét szervert életben tartottam egy rövid időre (fél nap). Kellett ez a tesztelgetést,
ha elfogadom, amit felajánlottak (lelövik egyidőben a régit, mikor megkapom az újat), akkor még mindig ezt csinálnám.

A másik, hogy a régi IP címnél egy hibaüzenetes oldalt tettek ki (karbantartás alatt), az csere gép IP címét, csak a csere után tudtam meg, így egy 4óráig ez a hibaüzenetes oldal jelent meg (amíg a DNS frissült).

A tanulság: valami *mindig* becsúszik.
Úgy érdemes cuccolni, hogyha a régit még életben tartjuk.

Egyéb:
Valami érdekeset is írjak:)
Lehet ilyen lenyíló html részt (div, section) csinálni csak CSS felhasználásával.

CSS:

input.toggle ~ div {
height: 0px; margin: .2rem;
overflow: hidden;
}
input.toggle:checked ~ div { height: auto; }
input.toggle:checked + label { background: red; }
input.toggle { display: none; }

A HTML kódja meg ennyi:

< input type="checkbox" id="punch" class="toggle">
< label for="punch">Punch It, Chewie!
< div>
< img src="http://demosthenes.info/assets/images/chewbacca.jpeg" style="max-width:100%;height:auto" alt="Chewbacca">
< /div>

Én a jegyzeteimet markdownban írom, és oda teszem be a html kódot.
Pont a fenti jegyzetemnél a régebbi változatot így "archiváltam".

Online demo:
https://codepen.io/dudleystorey/full/tjzcm/
(az enyém egyszerűsített, az animációt, meg a dizájnt kivettem).

Hozzászólások

Az ilyen ip átállásos problémák ellen hasznos a régi gépre egy rinetd, illetve ha Cloudflare van a gép előtt, akkor mindenképp a reverse proxy-ra mutat a DNS, így nem kell kivárni amíg kikopik a cache-ekből a régi ip.

DigitalOcean 10$ kredit- Cloudatcost VPS 50%: MEQy2epUny - <3 openSUSE, Ubuntu, KDE <3

> Az ilyen ip átállásos problémák ellen hasznos a régi gépre egy rinetd,

Irtam is az ugyfelszolgalatnak, hogy elvi hibas a modszeruk, mivel amint odaadjak az uj szervert a regit el is veszik (es az ip-t egy sajat gepukre iranyitjak, mi ezt a hibauzenetes oldalt jeleniti meg, semmi tobbet)

Nem hatotta meg oket. (egyebkent teljesen rugalmatlanok, szamlazasnal se lehet azt mondani, hogy egy evet kifizetek es hagyjanak beken. Ok havi szamlazast eroltetik)

> illetve ha Cloudflare van a gép előtt, akkor mindenképp a reverse proxy-ra mutat a DNS

Ez volt a reverse proxy is egyben. Magyaran ez a gep 3 belsos "alkalmazast" tartott el, es egy reverse proxy is volt rajta, hogy menjen harom domainnel.

Mostmar, hogy tudom hogyan megy a csere, meg tudnam oldani kieses nelkul, csak kenyelmetlenebb igy. (2x valtoztatnek IP cimet dns-ben.)

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....