คำแนะนำเกี่ยวกับระบบไฟล์ Z (ZFS) สำหรับ Linux
โดยทั่วไปแล้ว ZFS จะถูกใช้โดยผู้เก็บข้อมูลผู้รัก NAS และผู้ที่ชื่นชอบการใช้ระบบจัดเก็บข้อมูลซ้ำซ้อนของตัวเองมากกว่าในระบบคลาวด์ มันเป็นระบบไฟล์ที่ยอดเยี่ยมที่ใช้สำหรับการจัดการดิสก์ข้อมูลจำนวนมากและเป็นคู่ต่อสู้กับการตั้งค่า RAID ที่ยอดเยี่ยมที่สุด.
ภาพถ่ายโดย Kenny Louie.
ZFS คืออะไรและทำไมฉันจึงควรใช้?
ระบบไฟล์ Z เป็นตัวจัดการโลจิคัลวอลุ่มฟรีและโอเพนซอร์สที่สร้างโดย Sun Microsystems สำหรับใช้ในระบบปฏิบัติการ Solaris คุณสมบัติที่น่าดึงดูดที่สุดบางประการ ได้แก่ :
ความยืดหยุ่นที่ไม่มีที่สิ้นสุด
ก็ไม่เป็นไร ในทางเทคนิค ไม่มีที่สิ้นสุด แต่เป็นระบบไฟล์ 128 บิตที่สามารถจัดการข้อมูล zettabytes (หนึ่งพันล้านเทราไบต์) ของข้อมูล ไม่ว่าคุณจะมีพื้นที่ว่างบนฮาร์ดไดรฟ์เท่าใด ZFS จะเหมาะสำหรับการจัดการ.
ความสมบูรณ์สูงสุด
ทุกสิ่งที่คุณทำภายใน ZFS ใช้การตรวจสอบเพื่อให้แน่ใจว่ามีความสมบูรณ์ของไฟล์ คุณสามารถมั่นใจได้ว่าไฟล์และสำเนาที่ซ้ำซ้อนของพวกเขาจะไม่พบความเสียหายของข้อมูลที่เงียบ นอกจากนี้ในขณะที่ ZFS กำลังยุ่งตรวจสอบข้อมูลของคุณอย่างเงียบ ๆ แต่ก็จะทำการซ่อมแซมอัตโนมัติทุกครั้งที่ทำได้.
ขับรถรวมกำไร
ผู้สร้าง ZFS ต้องการให้คุณคิดว่ามันคล้ายกับวิธีที่คอมพิวเตอร์ของคุณใช้ RAM เมื่อคุณต้องการหน่วยความจำเพิ่มเติมในคอมพิวเตอร์ของคุณคุณใส่ไม้เท้าอื่นและทำเสร็จแล้ว ในทำนองเดียวกันกับ ZFS เมื่อคุณต้องการพื้นที่ฮาร์ดไดรฟ์เพิ่มขึ้นคุณจะต้องใส่ฮาร์ดไดรฟ์ตัวอื่นลงไป ไม่จำเป็นต้องใช้เวลาในการแบ่งพาร์ติชันการจัดรูปแบบการเตรียมใช้งานหรือทำสิ่งอื่นใดกับดิสก์ของคุณ - เมื่อคุณต้องการ "พูล" หน่วยเก็บข้อมูลขนาดใหญ่ขึ้นเพียงเพิ่มดิสก์.
RAID
ZFS มีความสามารถในระดับ RAID ที่แตกต่างกันมากมายในขณะที่มอบประสิทธิภาพที่เทียบเท่ากับตัวควบคุม RAID ของฮาร์ดแวร์ ช่วยให้คุณประหยัดเงินทำให้การตั้งค่าง่ายขึ้นและเข้าถึงระดับ RAID ที่เหนือกว่าที่ ZFS ได้ปรับปรุง.
การติดตั้ง ZFS
เนื่องจากเราครอบคลุมเฉพาะพื้นฐานในคู่มือนี้เราจะไม่ติดตั้ง ZFS เป็นระบบไฟล์รูท ส่วนนี้อนุมานว่าคุณกำลังใช้ ext4 หรือระบบไฟล์อื่นและต้องการใช้ ZFS สำหรับฮาร์ดไดรฟ์รองบางตัว นี่คือคำสั่งสำหรับการติดตั้ง ZFS บนลีนุกซ์รุ่นยอดนิยมบางตัว.
Solaris และ FreeBSD ควรมาพร้อมกับ ZFS ที่ติดตั้งและพร้อมใช้งานแล้ว.
อูบุนตู:
$ sudo add-apt-repository ppa: zfs-native / stable
$ sudo apt-get update
$ sudo apt-get install ubuntu-zfs
Debian:
$ su -
# wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
# dpkg -i zfsonlinux_2 ~ wheezy_all.deb
# apt-get update
# apt-get install debian-zfs
RHEL / CentOS:
$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
$ sudo yum ติดตั้ง zfs
หากคุณมีการแจกจ่ายอื่น ๆ ให้ตรวจสอบ zfsonlinux.org และคลิกที่การกระจายของคุณภายใต้รายการ "แพคเกจ" สำหรับคำแนะนำเกี่ยวกับวิธีการติดตั้ง ZFS.
ในขณะที่เราดำเนินการตามคู่มือนี้เราจะใช้ Ubuntu เพราะนั่นน่าจะเป็นตัวเลือกอันดับ 1 สำหรับ Linux geeks คุณควรจะยังคงติดตามได้ไม่ว่าอะไรจะเกิดขึ้นเนื่องจากคำสั่ง ZFS จะไม่เปลี่ยนไปตามการกระจายที่ต่างกัน.
การติดตั้งใช้เวลาสักครู่ แต่เมื่อเสร็จแล้วให้เรียกใช้ $ sudo zfs รายการ
เพื่อให้แน่ใจว่าติดตั้งอย่างถูกต้อง คุณควรได้ผลลัพธ์เช่นนี้
เรากำลังใช้การติดตั้งเซิร์ฟเวอร์ Ubuntu ใหม่ตอนนี้ด้วยฮาร์ดไดรฟ์เดียวเท่านั้น.
การกำหนดค่า ZFS
สมมติว่าเราใส่ฮาร์ดไดรฟ์อีกหกตัวในคอมพิวเตอร์ของเรา.
$ sudo fdisk -l | ข้อผิดพลาด grep
จะแสดงฮาร์ดไดรฟ์ทั้งหกที่เราเพิ่งติดตั้งให้เรา ขณะนี้ไม่สามารถใช้งานได้เนื่องจากไม่มีตารางพาร์ทิชันใด ๆ.
ดังที่เราได้กล่าวไว้ก่อนหน้านี้สิ่งหนึ่งที่ดีเกี่ยวกับ ZFS คือเราไม่จำเป็นต้องกังวลกับพาร์ติชัน (แม้ว่าคุณจะทำได้ถ้าคุณต้องการ) เริ่มจากการใช้ฮาร์ดดิสก์สามตัวของเราและวางลงในพูลหน่วยเก็บโดยเรียกใช้คำสั่งต่อไปนี้:
$ sudo zpool create -f geek1 / dev / sdb / dev / sdc / dev / sdd
zpool สร้าง
คือคำสั่งที่ใช้สร้างพูลหน่วยเก็บข้อมูลใหม่, -ฉ
แทนที่ข้อผิดพลาดใด ๆ ที่เกิดขึ้น (เช่นถ้าดิสก์มีข้อมูลอยู่แล้ว), geek1
เป็นชื่อของพูลหน่วยเก็บข้อมูลและ / dev / sdb / dev / sdc / dev / sdd
เป็นฮาร์ดไดรฟ์ที่เราใส่ในสระ.
หลังจากที่คุณสร้างสระว่ายน้ำของคุณคุณควรจะเห็นมันด้วย DF
คำสั่งหรือ รายการ sudo zfs
:
อย่างที่คุณเห็น / geek1 ถูกเมาท์แล้วและพร้อมใช้งาน.
หากคุณต้องการดูดิสก์สามตัวที่คุณเลือกสำหรับกลุ่มของคุณคุณสามารถเรียกใช้ สถานะ sudo zpool
:
สิ่งที่เราทำมาจนถึงตอนนี้ก็คือสร้างพูลสไทรพ์แบบไดนามิกขนาด 9 TB (RAID 0 ที่มีประสิทธิภาพ) ในกรณีที่คุณไม่คุ้นเคยกับความหมายลองจินตนาการว่าเราสร้างไฟล์ 3 KB ใน / geek1 1 KB จะไปที่ sdb โดยอัตโนมัติ, 1 KB ถึง sdc และ 1 KB ถึง sdd จากนั้นเมื่อเราไปอ่านไฟล์ 3 KB ฮาร์ดไดรฟ์แต่ละตัวจะนำเสนอ 1 KB ให้กับเรารวมความเร็วของทั้งสามไดรฟ์ สิ่งนี้ทำให้การเขียนและการอ่านข้อมูลรวดเร็ว แต่ก็หมายความว่าเรามีจุดล้มเหลวเพียงจุดเดียว หากฮาร์ดไดรฟ์ตัวเดียวล้มเหลวเราจะสูญเสียไฟล์ 3 KB ของเรา.
สมมติว่าการปกป้องข้อมูลของคุณมีความสำคัญมากกว่าการเข้าถึงอย่างรวดเร็วเรามาดูการตั้งค่ายอดนิยมอื่น ๆ ก่อนอื่นเราจะลบ zpool ที่เราสร้างขึ้นเพื่อให้เราสามารถใช้ดิสก์เหล่านี้ในการตั้งค่าที่ซ้ำซ้อนมากขึ้น:
$ sudo zpool ทำลาย geek1
แบมสวนสัตว์ของเราหายไปแล้ว คราวนี้เรามาใช้ดิสก์ทั้งสามของเราเพื่อสร้างพูล RAID-Z RAID-Z นั้นเป็นรุ่นปรับปรุงของ RAID 5 เพราะมันหลีกเลี่ยง“ ช่องโหว่การเขียน” โดยใช้การคัดลอกเมื่อเขียน RAID-Z ต้องการฮาร์ดไดรฟ์อย่างน้อยสามตัวและมีการประนีประนอมระหว่าง RAID 0 และ RAID 1 ในพูล RAID-Z คุณจะยังคงได้รับความเร็วของการสตริปบล็อกระดับ แต่จะมีการกระจายแบบเท่าเทียมกัน หากดิสก์หนึ่งแผ่นในพูลของคุณตายเพียงเปลี่ยนดิสก์นั้นแล้ว ZFS จะสร้างข้อมูลขึ้นใหม่โดยอัตโนมัติตามข้อมูลพาริตีจากดิสก์อื่น หากต้องการสูญเสียข้อมูลทั้งหมดในพูลหน่วยเก็บข้อมูลของคุณดิสก์สองตัวจะต้องตาย เพื่อให้สิ่งต่าง ๆ มีความซ้ำซ้อนมากขึ้นคุณสามารถใช้ RAID 6 (RAID-Z2 ในกรณีของ ZFS) และมีพาริตีคู่.
เพื่อให้บรรลุสิ่งนี้เราสามารถใช้สิ่งเดียวกัน zpool สร้าง
คำสั่งเหมือน แต่ก่อนระบุ RAIDZ
หลังชื่อของพูล:
$ sudo zpool สร้าง -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd
อย่างที่เห็น, df -h
แสดงให้เห็นว่าพูล 9 TB ของเราลดลงเหลือ 6 TB เนื่องจาก 3 TB ถูกใช้เพื่อเก็บข้อมูลพาริตี กับ สถานะ zpool
คำสั่งเราเห็นว่ากลุ่มของเราส่วนใหญ่เหมือนก่อน แต่ตอนนี้ใช้ RAID-Z.
เพื่อแสดงให้เห็นว่าการเพิ่มดิสก์ลงในพูลหน่วยเก็บข้อมูลของเรานั้นง่ายเพียงใดเราเพิ่มดิสก์อีกสามดิสก์ (อีก 9 TB) ลงในพูลหน่วยเก็บข้อมูล geek1 ของเราเป็นการกำหนดค่า RAID-Z อื่น:
$ sudo zpool เพิ่ม -f geek1 raidz / dev / sde / dev / sdf / dev / sdg
เราจบลงด้วย:
Saga ต่อ ...
เราได้ลอกคราบพื้นผิวของ ZFS และความสามารถของมันแทบจะไม่ แต่ใช้สิ่งที่คุณได้เรียนรู้ในบทความนี้ตอนนี้คุณควรจะสามารถสร้างพูลหน่วยเก็บข้อมูลสำรองของข้อมูลของคุณได้แล้ว ตรวจสอบย้อนกลับกับเราสำหรับบทความในอนาคตเกี่ยวกับ ZFS ดูหน้าคนและค้นหาคำแนะนำช่องที่ไม่มีที่สิ้นสุดและวิดีโอ Youtube ที่ครอบคลุมฟังก์ชั่น ZFS.