New directory and icons
This commit is contained in:
		
							
								
								
									
										113
									
								
								content/2.general/2.storage/1.raid.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										113
									
								
								content/2.general/2.storage/1.raid.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,113 @@
 | 
			
		||||
---
 | 
			
		||||
navigation: true
 | 
			
		||||
title: RAID
 | 
			
		||||
main:
 | 
			
		||||
  fluid: false
 | 
			
		||||
---
 | 
			
		||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
 | 
			
		||||
# RAID
 | 
			
		||||
 | 
			
		||||
_Redundant Array of Independent Disks_
 | 
			
		||||
 | 
			
		||||
In computing, RAID (Redundant Array of Independent Disks) is a system that allows multiple hard drives to be combined to improve performance and/or reliability. It works by restructuring and distributing data blocks across the drives.
 | 
			
		||||
 | 
			
		||||
Originally, RAID systems were hardware-based, meaning a dedicated controller (a specific chip) managed data distribution and RAID operations. Today, most RAID systems (or their equivalents) are software-based. In fact, many software technologies can create RAID-like systems with features not available in hardware RAID, such as automatic repair (data scrubbing), snapshots, and more.
 | 
			
		||||
 | 
			
		||||
## Different Types of RAID
 | 
			
		||||
 | 
			
		||||
There are several types of RAID, each offering its own pros and cons. In general, RAID impacts the following five factors:
 | 
			
		||||
 | 
			
		||||
- Number of drives
 | 
			
		||||
- Total storage capacity
 | 
			
		||||
- Read speed
 | 
			
		||||
- Write speed
 | 
			
		||||
- Fault tolerance (resistance to hardware failure)
 | 
			
		||||
 | 
			
		||||
::alert{type="warning"}
 | 
			
		||||
:::list{type="warning"}
 | 
			
		||||
  - RAID is not a backup system but a service continuity system! It only allows hot-swapping of drives without interrupting your server or restoring from backup. You still need an external backup system.
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
### No RAID
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
<div style="display: flex; align-items: center;">
 | 
			
		||||
  <img src="/img/global/no-raid.svg" alt="Image" style="max-width: 30%; max-height:230px; margin-right: 20px;">
 | 
			
		||||
  <ul>
 | 
			
		||||
    <li>Just your disks, without RAID. Data is stored disk by disk.</li>
 | 
			
		||||
    <li>If you lose a disk, only its data is lost.</li>
 | 
			
		||||
    <li>Total capacity is the sum of all disks.</li>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
Use your disks without RAID when you're not afraid of data loss and can tolerate service interruptions between failure and backup restoration.
 | 
			
		||||
 | 
			
		||||
### RAID 0
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
<div style="display: flex; align-items: center;">
 | 
			
		||||
  <img src="/img/global/raid0.svg" alt="Image" style="max-width: 30%; max-height:230px; margin-right: 20px;">
 | 
			
		||||
  <ul>
 | 
			
		||||
    <li>OS sees 1 drive.</li>
 | 
			
		||||
    <li>Data is striped across all disks.</li>
 | 
			
		||||
    <li>If you lose one disk, you lose all data.</li>
 | 
			
		||||
    <li>High read and write performance (multiplied by number of disks).</li>
 | 
			
		||||
    <li>Total capacity is the sum of all disks.</li>
 | 
			
		||||
    <li>Minimum of 2 disks required.</li>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
Use RAID 0 when you prioritize performance and are not concerned about data loss. Ideal for temporary, high-speed storage (video editing, AI workloads, etc). Not suitable for long-term storage, as one failure means total data loss.
 | 
			
		||||
 | 
			
		||||
### RAID 1
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
<div style="display: flex; align-items: center;">
 | 
			
		||||
  <img src="/img/global/raid1.svg" alt="Image" style="max-width: 30%; max-height:230px; margin-right: 20px;">
 | 
			
		||||
  <ul>
 | 
			
		||||
    <li>OS sees 1 drive.</li>
 | 
			
		||||
    <li>All disks contain identical data.</li>
 | 
			
		||||
    <li>You can lose all but one disk.</li>
 | 
			
		||||
    <li>Improved read speed (scales with number of disks).</li>
 | 
			
		||||
    <li>Total capacity is equal to one disk (e.g., 2×10TB = 10TB).</li>
 | 
			
		||||
    <li>Minimum of 2 disks required.</li>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
Use RAID 1 for strong redundancy. Each disk contains all data, so performance remains unaffected during a failure. Once failed disks are replaced, data is quickly restored. However, usable storage is limited to one disk’s capacity, making it an expensive solution.
 | 
			
		||||
 | 
			
		||||
::alert{type="success"}
 | 
			
		||||
:::list{type="success"}
 | 
			
		||||
- __Tip:__ You can combine RAID 1 with other RAID types to create mirrored arrays.
 | 
			
		||||
:::
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
### RAID 5
 | 
			
		||||
---
 | 
			
		||||
<p align="center">
 | 
			
		||||
  <img src="/img/global/raid5.svg" alt="Image" style="max-width: 40%; margin-right: 20px;">
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
- OS sees 1 drive.
 | 
			
		||||
- Data is striped with parity blocks for redundancy.
 | 
			
		||||
- You can lose 1 disk and recover data.
 | 
			
		||||
- Improved read speed (scales with number of disks).
 | 
			
		||||
- Total capacity is the sum of all disks minus one (e.g., 3×10TB = 20TB).
 | 
			
		||||
- Minimum of 3 disks (4 recommended to reduce capacity loss).
 | 
			
		||||
 | 
			
		||||
Use RAID 5 when you want reliable storage with 3 to 5 disks and minimal space loss. It tolerates one disk failure but may have degraded performance during recovery, which can take days.
 | 
			
		||||
 | 
			
		||||
### RAID 6
 | 
			
		||||
---
 | 
			
		||||
<p align="center">
 | 
			
		||||
  <img src="/img/global/raid6.svg" alt="Image" style="max-width: 50%; margin-right: 20px;">
 | 
			
		||||
</p>
 | 
			
		||||
 | 
			
		||||
- OS sees 1 drive.
 | 
			
		||||
- Data is striped with dual parity blocks.
 | 
			
		||||
- You can lose 2 disks and still recover data.
 | 
			
		||||
- Improved read speed (scales with number of disks).
 | 
			
		||||
- Total capacity is the sum of all disks minus two (e.g., 4×10TB = 20TB).
 | 
			
		||||
- Minimum of 4 disks (6 recommended to minimize space loss).
 | 
			
		||||
 | 
			
		||||
Use RAID 6 in similar situations as RAID 5, especially with 6 or more disks. More disks mean higher failure risk. RAID 6 offers peace of mind by tolerating two simultaneous failures.
 | 
			
		||||
 | 
			
		||||
## Software RAID
 | 
			
		||||
(coming soon)
 | 
			
		||||
							
								
								
									
										76
									
								
								content/2.general/2.storage/2.zfs.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								content/2.general/2.storage/2.zfs.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
---
 | 
			
		||||
navigation: true
 | 
			
		||||
title: ZFS
 | 
			
		||||
main:
 | 
			
		||||
  fluid: false
 | 
			
		||||
---
 | 
			
		||||
:ellipsis{left=0px width=40rem top=10rem blur=140px}
 | 
			
		||||
# ZFS
 | 
			
		||||
 | 
			
		||||
::alert{type="info"}
 | 
			
		||||
🎯 __Objectives:__
 | 
			
		||||
- Understand what ZFS is and why it's useful
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
ZFS is widely used in the world of servers, NAS systems (like FreeNAS / TrueNAS), virtualization, and even by tech-savvy individuals who want reliable storage. It is both a _file system_ (like NTFS for Windows, EXT4, FAT32, etc.) and a _volume manager_ (similar to LVM).
 | 
			
		||||
 | 
			
		||||
To put it simply:  
 | 
			
		||||
- A **volume manager** organizes physical storage (like one or more hard drives).  
 | 
			
		||||
- A **file system** organizes how data blocks are written, read, and deleted within those volumes.
 | 
			
		||||
 | 
			
		||||
ZFS goes far beyond traditional file systems in terms of performance and features.  
 | 
			
		||||
Here’s what we’re most interested in:
 | 
			
		||||
- Its __snapshot management__ features, allowing you to quickly roll back in case of issues.
 | 
			
		||||
- Its support for disk groupings and [__RAID-like structures__](/general/raid) (Z-Mirror, RAIDZ1, RAIDZ2, RAIDZ3).
 | 
			
		||||
- Its __automatic recovery of corrupted data__ (through scrubbing).
 | 
			
		||||
- Its performance, enhanced by RAM caching (ZFS ARC).
 | 
			
		||||
- Its robust error notifications and monitoring.
 | 
			
		||||
 | 
			
		||||
## Structure
 | 
			
		||||
---
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
ZFS has a unique structure:
 | 
			
		||||
 | 
			
		||||
- **vdev** (virtual device): a group of physical or virtual disks.
 | 
			
		||||
- **zpool**: a collection of vdevs configured as a single storage pool. A zpool can contain multiple vdevs, but a vdev belongs to only one zpool.
 | 
			
		||||
- **dataset**: a logical data container within a zpool. Each dataset can have its own settings (compression, quotas, permissions, etc.).
 | 
			
		||||
 | 
			
		||||
There are several dataset types:
 | 
			
		||||
- **file system**: a standard ZFS filesystem, mounted without storage quotas.
 | 
			
		||||
- **zvol**: a "virtual disk" with a defined size, which you can format and partition as if it were a physical disk.
 | 
			
		||||
- **snapshot**: a frozen-in-time version of another dataset. Snapshots can be created manually or through backup tools. They can be mounted to browse data as it was at the snapshot time.
 | 
			
		||||
 | 
			
		||||
## Why ZFS over others?
 | 
			
		||||
---
 | 
			
		||||
### Data Integrity
 | 
			
		||||
 | 
			
		||||
ZFS continuously checks that your stored data hasn't become corrupted. Every block of data is associated with a checksum, allowing ZFS to detect even the smallest alteration. If corruption is found and a healthy copy exists elsewhere, ZFS can repair the data automatically.
 | 
			
		||||
 | 
			
		||||
### Built-in RAID
 | 
			
		||||
 | 
			
		||||
ZFS includes its own volume management system (vdevs). You can build a zpool using multiple disks—similar to traditional [RAID](/general/raid) setups—but with more flexibility. For example:
 | 
			
		||||
- **Z-mirror** → equivalent to RAID 1
 | 
			
		||||
- **RAIDZ1** → equivalent to RAID 5 (tolerates 1 disk failure)
 | 
			
		||||
- **RAIDZ2** → equivalent to RAID 6 (tolerates 2 disk failures)
 | 
			
		||||
- **RAIDZ3** → tolerates up to 3 disk failures
 | 
			
		||||
 | 
			
		||||
ZFS handles all this natively—no external RAID software needed.
 | 
			
		||||
 | 
			
		||||
::alert{type="info"}
 | 
			
		||||
:::list{type="info"}
 | 
			
		||||
- Check out the [article on RAID](/general/raid) to find the right solution for your needs.
 | 
			
		||||
:::
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
### Snapshots and Clones
 | 
			
		||||
 | 
			
		||||
ZFS allows you to create snapshots—instantaneous images of a dataset's state. Snapshots take up minimal space and can be scheduled frequently. You can also create clones: writable copies of snapshots.
 | 
			
		||||
 | 
			
		||||
### Compression and Deduplication
 | 
			
		||||
 | 
			
		||||
ZFS can compress data on the fly (transparently to the user), saving disk space. It also supports deduplication (removing duplicate data), though this feature requires a lot of memory and is not recommended for all use cases.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
Now you know why ZFS is *the* file system to deploy on your NAS.
 | 
			
		||||
							
								
								
									
										2
									
								
								content/2.general/2.storage/_dir.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								content/2.general/2.storage/_dir.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
navigation.title: Storage
 | 
			
		||||
icon: lucide:hard-drive
 | 
			
		||||
		Reference in New Issue
	
	Block a user