From 0d88d0501bff3fef95e542c592de10e34b5280c7 Mon Sep 17 00:00:00 2001
From: godp21 <godp21@inf.ufpr.br>
Date: Tue, 25 Apr 2023 10:47:53 -0300
Subject: [PATCH] adding write cahce info in zfs

---
 ZFS-RAIDs.md        |  24 +++++++++++++++++-------
 imgs/zil-writes.png | Bin 0 -> 47649 bytes
 2 files changed, 17 insertions(+), 7 deletions(-)
 create mode 100644 imgs/zil-writes.png

diff --git a/ZFS-RAIDs.md b/ZFS-RAIDs.md
index e092e52..973b065 100644
--- a/ZFS-RAIDs.md
+++ b/ZFS-RAIDs.md
@@ -3,9 +3,6 @@
 - [x] ZFS description and capabilities
 - [x] RAID implementations in ZFS
 - [x] Cache systems in ZFS
-___
-
-- [ ] ZFS for DB or lvm+ext4
 
 # RAIDs
 ### **R**edundant **A**rray of **I**ndependent **D**isks
@@ -75,10 +72,23 @@ It's important to know that a RAID0 and RAID1 requires at least two disks, and a
 
 ## Cache in ZFS
 ### Read caching:
-ARC (**A**daptive **R**placement **C**ache)
+ARC (**A**daptive **R**placement **C**ache) - Simple RAM cache, hot data blocks are stored in memory for faster acces, ZFS tries to fill all RAM disponible at max, if max level is achieved, oldest blocks gets flushed from memory and needs to be taken in the disk if a read operation requires then again.
+
+L2ARC (**L**evel **2** **ARC**) - Adds SSDs in cache flow so oldest data removed from RAM gets on a device faster than hard drives.
+
+### Write caching:
+By default, ZFS stores all write requests in RAM as Transaction Groups (**TXGs**) and foward them to the disk in a setted time interval (5 seconds as default). This benefits performance as all disk writes are somewhat organized and is easier to disks to process them. In a power failure event, this system also avoid data inconsistency as no parcial writes will be executed, instead, all data in TXG will be flushed as it is stored in a volatile data device.
+
+The two types of writes in ZFS are:
+
+#### Asynchronous:
 
-Simple RAM cache, hot data blocks are stored in memory for faster acces, ZFS tries to fill all RAM disponible at max, if max level is achieved, oldest blocks gets flushed from memory and needs to be taken in the disk if a read operation requires then again.
+- Data immediately cached in RAM and seen as completed by client, then written to disk;
+- If a power failure occurs, all data in TXGs is lost, so it's very fast but no so consistent.
 
-L2ARC (**L**evel **2** **ARC**)
+#### Synchronous:
 
-Adds SSDs in cache flow so oldest data removed from RAM gets on a device faster than hard drives.
+- Data still goes to RAM first, but client just see acknowledge if data has been written to persistent storage media. It's slower on client side.
+- There is a part o ZFS pool called ZFS Intent Log (**ZIL**), this blocks stores all write transactions initiations and receive the acknowledge of completion to forward to the client. This way, if a write fails, there is a persistent memory block logging that some data was not written and prevents data loss
+- ZIL is reliable if implemented in a faster memory device, as an SSD, usually on a separate device.
+![ZIL writes diagram](./imgs/zil-writes.png)
diff --git a/imgs/zil-writes.png b/imgs/zil-writes.png
new file mode 100644
index 0000000000000000000000000000000000000000..120ed14cb76b4b54618487ef0efa9d6e10b1b7a0
GIT binary patch
literal 47649
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
Fp8%BjEA#*W

literal 0
HcmV?d00001

-- 
GitLab