---
# System prepended metadata

title: ZFS
tags: [operating system, still writing]

---

# ZFS (Zettabyte File System)

## TODO

- [ ] 使用虛擬機模擬ZFS操作(以True Nas system為主)

## ZFS起源、目的、優點

* 2001年由昇陽電腦開發，2010年被Oracle收購
* 具有可延伸性、大量資料較驗保護措施
* 快照、備份、壓縮、重建的速度快，壓縮率好
* 是125位元的檔案系統，不可能被儲存滿

## 運作原理

* 結合了檔案系統與磁碟管理，同時身兼兩者，建立跨硬碟、跨vdev的pool儲存
* ZFS建立在虛擬的zpool上 ![image](https://hackmd.io/_uploads/r1zp0EwsR.png)
* 而每個zpool又由若干個vdevs組成，而每個vdevs是各自獨立的硬碟組，同個pool中的vdev要是相同RAID方式 ![image](https://hackmd.io/_uploads/S1uSkHwi0.png)
* vdevs可以是不同種的硬碟組成方式，但建議相同 ![image](https://hackmd.io/_uploads/SyQayrviC.png)

## ZFS的缺點

* 嚴重碎片化，如大檔案更改後，在硬碟上的位置變得不連續，讀取效率變差
* 由於碎片化嚴重，也無法移除單一vdev
* 新增硬碟時較為麻煩，無法只新增單一顆硬碟(因為要有vdev，而組成vdev要有多顆硬碟)

## 實際案例: 要在ZFS中擴增容量

參考資料: [TrueNAS: How To Expand A ZFS Pool](https://www.youtube.com/watch?v=11bWnvCwTOU)