Den mån 17 maj 2021 kl 08:15 skrev Szabo, Istvan (Agoda) <
Istvan.Szabo(a)agoda.com>gt;:
What happens if we are using buffered_io and the
machine restared due to
some power failure? Everything that was in the cache will be lost or how
ceph handle this?
Not to be picky, but between any client writing data to storage and the
magnetic layers of a drive there are some 8-9-10 layers of caches and
buffers, and a varying degree of lying to the layer above on when data
actually hits the spinning rust. Just because we found yet another one here
which may or may not impact writes, it doesn't change the situation in the
larger scheme.
If power goes, any IO in flight will be disrupted in some way, either it
will be finalized if possible or reverted if not, where reverted might be
as late as "on the subsequent fsck/scrub over that part of the disk". The
WAL/DB/Journals help a bit in figuring out if it can be finalized and what
was in flight before the crash, but all in all, this is not totally
unexpected from a storage point of view.
Most often I guess the IO will be counted as not-done and when the OSD
comes back, it will get the correct data replayed from another PG replica
during recovery/backfill and that's more or less it.
--
May the most significant bit of your life be positive.