Giới thiệu về Hệ thống tệp Z (ZFS) cho Linux

Mục lục:

Giới thiệu về Hệ thống tệp Z (ZFS) cho Linux
Giới thiệu về Hệ thống tệp Z (ZFS) cho Linux

Video: Giới thiệu về Hệ thống tệp Z (ZFS) cho Linux

Video: Giới thiệu về Hệ thống tệp Z (ZFS) cho Linux
Video: TT#9 Hướng dẫn chặn 1 ứng dụng bất kì không cho ra INTERNET trên windows 10 - YouTube 2024, Tháng Ba
Anonim
ZFS thường được sử dụng bởi những người tích trữ dữ liệu, những người yêu thích NAS và những người đam mê khác, những người thích đặt lòng tin của họ vào một hệ thống lưu trữ dự phòng của riêng họ chứ không phải là đám mây. Đó là một hệ thống tệp tuyệt vời để sử dụng để quản lý nhiều đĩa dữ liệu và đối thủ một số thiết lập RAID lớn nhất.
ZFS thường được sử dụng bởi những người tích trữ dữ liệu, những người yêu thích NAS và những người đam mê khác, những người thích đặt lòng tin của họ vào một hệ thống lưu trữ dự phòng của riêng họ chứ không phải là đám mây. Đó là một hệ thống tệp tuyệt vời để sử dụng để quản lý nhiều đĩa dữ liệu và đối thủ một số thiết lập RAID lớn nhất.

Ảnh của Kenny Louie.

ZFS là gì và tại sao tôi nên sử dụng nó?

Hệ thống tập tin Z là một trình quản lý khối tin hợp lý nguồn mở và miễn phí được xây dựng bởi Sun Microsystems để sử dụng trong hệ điều hành Solaris của họ. Một số tính năng hấp dẫn nhất của nó bao gồm:

Khả năng mở rộng vô tận

Vâng, không phải kỹ thuật vô tận, nhưng đó là hệ thống tệp 128 bit có khả năng quản lý dữ liệu zettabyte (một tỷ terabyte). Không có vấn đề bao nhiêu không gian ổ đĩa cứng bạn có, ZFS sẽ phù hợp để quản lý nó.

Tính toàn vẹn tối đa

Mọi thứ bạn làm bên trong ZFS đều sử dụng tổng kiểm tra để đảm bảo tính toàn vẹn của tệp. Bạn có thể yên tâm rằng các tập tin của bạn và các bản sao dự phòng của họ sẽ không gặp phải tham nhũng dữ liệu im lặng. Ngoài ra, trong khi ZFS đang bận lặng kiểm tra dữ liệu của bạn cho tính toàn vẹn, nó sẽ làm sửa chữa tự động bất cứ lúc nào nó có thể.

Drive nhóm

Những người sáng tạo của ZFS muốn bạn nghĩ về nó giống như cách máy tính của bạn sử dụng RAM. Khi bạn cần nhiều bộ nhớ hơn trong máy tính của mình, bạn đặt trong một thanh khác và bạn đã hoàn tất. Tương tự như vậy với ZFS, khi bạn cần thêm dung lượng ổ đĩa cứng, bạn đặt trong một ổ cứng khác và bạn đã hoàn tất. Không cần phải dành thời gian phân vùng, định dạng, khởi tạo, hoặc làm bất cứ điều gì khác để đĩa của bạn - khi bạn cần một lưu trữ lớn hơn "hồ bơi", chỉ cần thêm đĩa.

RAID

ZFS có khả năng nhiều cấp độ RAID khác nhau, tất cả đều mang lại hiệu suất có thể so sánh với các bộ điều khiển RAID phần cứng. Điều này cho phép bạn tiết kiệm tiền, giúp thiết lập dễ dàng hơn và có quyền truy cập vào các cấp độ RAID vượt trội mà ZFS đã cải thiện.

Cài đặt ZFS

Vì chúng tôi chỉ trình bày các kiến thức cơ bản trong hướng dẫn này nên chúng tôi sẽ không cài đặt ZFS làm hệ thống tệp gốc. Phần này giả định rằng bạn đang sử dụng ext4 hoặc một số hệ thống tệp khác và muốn sử dụng ZFS cho một số ổ đĩa cứng thứ cấp. Dưới đây là các lệnh để cài đặt ZFS trên một số bản phân phối Linux phổ biến nhất.

Solaris và FreeBSD nên đã đi kèm với ZFS cài đặt và sẵn sàng để sử dụng.

Ubuntu:

$ sudo add-apt-repository ppa:zfs-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs

Debian:

$ su - # wget https://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 https://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs

Nếu bạn có một số phân phối khác, hãy kiểm tra zfsonlinux.org và nhấp vào phân phối của bạn trong danh sách "Gói" để biết hướng dẫn về cách cài đặt ZFS.

Khi chúng tôi tiếp tục với hướng dẫn này, chúng tôi sẽ sử dụng Ubuntu vì đó dường như là lựa chọn số 1 cho các chuyên viên máy tính Linux. Bạn vẫn có thể theo dõi bất kể điều gì, vì lệnh ZFS sẽ không thay đổi trên các bản phân phối khác nhau.

Quá trình cài đặt diễn ra khá lâu, nhưng sau khi hoàn tất, hãy chạy

$ sudo zfs list

để đảm bảo cài đặt chính xác. Bạn sẽ nhận được một đầu ra như thế này:

Chúng tôi đang sử dụng một cài đặt mới của máy chủ Ubuntu ngay bây giờ, chỉ với một ổ đĩa cứng.
Chúng tôi đang sử dụng một cài đặt mới của máy chủ Ubuntu ngay bây giờ, chỉ với một ổ đĩa cứng.
Image
Image

Định cấu hình ZFS

Bây giờ, giả sử chúng tôi đặt thêm sáu ổ cứng vào máy tính của mình.

$ sudo fdisk -l | grep Error

sẽ cho chúng ta thấy sáu ổ đĩa cứng mà chúng ta vừa cài đặt. Chúng hiện không sử dụng được vì chúng không chứa bất kỳ loại bảng phân vùng nào.

Như chúng tôi đã đề cập trước đó, một trong những điều tốt đẹp về ZFS là chúng tôi không cần phải bận tâm đến phân vùng (mặc dù bạn có thể nếu bạn muốn). Hãy bắt đầu bằng cách lấy ba đĩa cứng của chúng tôi và đặt chúng vào một nhóm lưu trữ bằng cách chạy lệnh sau:
Như chúng tôi đã đề cập trước đó, một trong những điều tốt đẹp về ZFS là chúng tôi không cần phải bận tâm đến phân vùng (mặc dù bạn có thể nếu bạn muốn). Hãy bắt đầu bằng cách lấy ba đĩa cứng của chúng tôi và đặt chúng vào một nhóm lưu trữ bằng cách chạy lệnh sau:

$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd

zpool create

là lệnh được sử dụng để tạo một nhóm lưu trữ mới,

-f

ghi đè bất kỳ lỗi nào xảy ra (chẳng hạn như nếu (các) đĩa đã có thông tin về chúng),

geek1

là tên của nhóm lưu trữ và

/dev/sdb /dev/sdc /dev/sdd

là những ổ đĩa cứng mà chúng tôi đặt trong hồ bơi.

Sau khi bạn đã tạo hồ bơi, bạn sẽ có thể thấy nó bằng

df

lệnh hoặc

sudo zfs list

:

Như bạn có thể thấy, / geek1 đã được gắn kết và sẵn sàng sử dụng.
Như bạn có thể thấy, / geek1 đã được gắn kết và sẵn sàng sử dụng.

Nếu bạn muốn xem ba đĩa nào bạn đã chọn cho nhóm của mình, bạn có thể chạy

sudo zpool status

:

Những gì chúng tôi đã làm cho đến nay là tạo ra một nhóm 9TB sọc năng động (hiệu quả, RAID 0). Trong trường hợp bạn không quen với điều đó có nghĩa là gì, hãy tưởng tượng chúng tôi đã tạo một tệp 3 KB trên / geek1. 1 KB sẽ tự động chuyển đến sdb, 1 KB đến sdc và 1 KB để tính phí. Sau đó, khi chúng ta đọc tập tin 3 KB, mỗi ổ cứng sẽ trình bày 1 KB cho chúng ta, kết hợp tốc độ của ba ổ đĩa. Điều này làm cho việc viết và đọc dữ liệu nhanh chóng, nhưng cũng có nghĩa là chúng ta có một điểm thất bại duy nhất. Nếu chỉ một ổ cứng bị lỗi, chúng tôi sẽ mất tệp 3 KB của chúng tôi.
Những gì chúng tôi đã làm cho đến nay là tạo ra một nhóm 9TB sọc năng động (hiệu quả, RAID 0). Trong trường hợp bạn không quen với điều đó có nghĩa là gì, hãy tưởng tượng chúng tôi đã tạo một tệp 3 KB trên / geek1. 1 KB sẽ tự động chuyển đến sdb, 1 KB đến sdc và 1 KB để tính phí. Sau đó, khi chúng ta đọc tập tin 3 KB, mỗi ổ cứng sẽ trình bày 1 KB cho chúng ta, kết hợp tốc độ của ba ổ đĩa. Điều này làm cho việc viết và đọc dữ liệu nhanh chóng, nhưng cũng có nghĩa là chúng ta có một điểm thất bại duy nhất. Nếu chỉ một ổ cứng bị lỗi, chúng tôi sẽ mất tệp 3 KB của chúng tôi.

Giả sử việc bảo vệ dữ liệu của bạn quan trọng hơn việc truy cập dữ liệu nhanh chóng, hãy xem các thiết lập phổ biến khác. Trước tiên, chúng tôi sẽ xóa zpool mà chúng tôi đã tạo để chúng tôi có thể sử dụng các đĩa này trong một thiết lập dư thừa hơn:

$ sudo zpool destroy geek1

Bam, zpool của chúng ta đã biến mất. Lần này, hãy sử dụng ba đĩa của chúng tôi để tạo một nhóm RAID-Z. RAID-Z về cơ bản là một phiên bản cải tiến của RAID 5, bởi vì nó tránh được "lỗ ghi" bằng cách sử dụng copy-on-write. RAID-Z yêu cầu tối thiểu ba ổ đĩa cứng, và là một sự thỏa hiệp giữa RAID 0 và RAID 1. Trong một nhóm RAID-Z, bạn sẽ vẫn nhận được tốc độ phân chia dải khối nhưng cũng sẽ phân phối chẵn lẻ. Nếu một đĩa đơn trong hồ bơi của bạn chết, chỉ cần thay thế đĩa đó và ZFS sẽ tự động xây dựng lại dữ liệu dựa trên thông tin chẵn lẻ từ các đĩa khác. Để mất tất cả thông tin trong kho lưu trữ của bạn, hai đĩa sẽ phải chết. Để làm cho mọi việc trở nên dư thừa hơn, bạn có thể sử dụng RAID 6 (RAID-Z2 trong trường hợp ZFS) và có tính chẵn lẻ gấp đôi.

Để thực hiện điều này, chúng ta có thể sử dụng

zpool create

lệnh như trước nhưng chỉ định

raidz

sau tên của hồ bơi:

$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd

Bạn có thể thấy,
Bạn có thể thấy,

df -h

cho thấy rằng hồ bơi 9 TB của chúng tôi hiện đã được giảm xuống còn 6 TB, vì 3 TB đang được sử dụng để giữ thông tin chẵn lẻ. Với

zpool status

lệnh, chúng tôi thấy rằng hồ bơi của chúng tôi hầu như giống như trước đây, nhưng hiện đang sử dụng RAID-Z.

Để cho thấy việc thêm nhiều đĩa vào kho lưu trữ của chúng tôi dễ dàng như thế nào, hãy thêm ba đĩa khác (9 TB khác) vào bể lưu trữ geek1 của chúng tôi làm cấu hình RAID-Z khác:

$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg

Chúng tôi kết thúc với:

Image
Image

Saga tiếp tục…

Chúng tôi hầu như không cạo bề mặt của ZFS và khả năng của nó, nhưng sử dụng những gì bạn đã học trong bài viết này, bây giờ bạn có thể tạo các kho lưu trữ dư thừa dữ liệu của bạn. Hãy liên hệ lại với chúng tôi để biết các bài viết về ZFS trong tương lai, xem các trang hướng dẫn sử dụng và tìm kiếm các hướng dẫn thích hợp vô tận và các video Youtube bao gồm các chức năng của ZFS.

Đề xuất: