Trang chủ Thủ Thuật Cách cài đặt và cấu hình ZFS trên Ubuntu

Cách cài đặt và cấu hình ZFS trên Ubuntu

0
17

Cách cài đặt và cấu hình ZFS trên Ubuntu

1fd23912 1
Daniel Krason / Shutterstock

Hệ thống tệp ZFS cung cấp dung lượng khổng lồ, sao chép RAID và cơ chế chống tham nhũng ngay lập tức. Tìm hiểu cách cài đặt Ubuntu với ZFS và cách tạo một nhóm được sao chép.

ZFS là gì?

ZFS là một hệ thống tệp nâng cao có nguồn gốc từ Sun Microsystems để sử dụng với hệ điều hành Solaris của họ. Sau khi Oracle mua lại Sun vào năm 2009, ZFS hiện thuộc quyền sở hữu của Tập đoàn Oracle.

Tuy nhiên, trong một hành động điển hình của lòng vị tha, từ năm 2005 trở đi, Sun đã phát hành một phiên bản mã nguồn mở của ZFS. Không thể tránh khỏi, điều này đã được chuyển sang Linux nơi nó được tiếp xúc rộng rãi hơn. Phiên bản nguồn mở của ZFS — openZFS — được quản lý và duy trì bởi dự án OpenZFS.

ZFS là một hệ thống tệp có dung lượng cao, có khả năng chịu lỗi. ZFS ban đầu là viết tắt của Hệ thống tệp Zettabyte. Kiến trúc ZFS dựa trên 128 bit thay vì 64 bit phổ biến hơn của hệ thống tệp khác. Có thể làm việc với các giá trị số lớn hơn là một trong những yếu tố khiến ZFS có khả năng xử lý hàng zettabyte dung lượng lưu trữ. Để cung cấp cho bạn ý tưởng về điều đó có nghĩa là gì, một zettabyte là một tỷ terabyte.

Ngày nay, ZFS hỗ trợ lưu trữ tệp lên đến 256 zebibyte . Một zebibyte (2 70 byte) lớn hơn một zettabyte (10 21 byte), nhưng không theo thứ tự độ lớn. ZFS còn nhiều thứ hơn là dung lượng tuyệt đối — điều đó thật đáng kinh ngạc. ZFS hoạt động như trình quản lý âm lượng và bộ điều khiển RAID của riêng nó. Nó có các chức năng tích hợp như bản sao đúng khi ghi để bảo vệ dữ liệu của bạn khỏi bị hỏng. Nó kết hợp các tính năng cung cấp hệ thống tập tin tổng hợp, nhân bản và sao chép, và chức năng giống RAID của nó, nguyên bản.

Quảng cáo

Ubuntu đã cung cấp ZFS cho một số năm nay, nhưng luôn có cảnh báo và cảnh báo. Trong Ubuntu 20.10, các cảnh báo đã bị loại bỏ. Canonical chính thức hỗ trợ ZFS nhưng chỉ trong các thiết lập đĩa đầy đủ. Để nhận được sự hỗ trợ đó, bạn sẽ cần cài đặt ZFS khi cài đặt Ubuntu. Các tùy chọn ZFS vẫn được giấu kín, nhưng chúng ở đó và không còn chỉ dành cho những người gan dạ hoặc liều lĩnh.

Với Ubuntu 21.10 sẽ ra mắt vào tháng 10 năm 2021, đây là thời điểm tốt để xem dịch vụ cung cấp ZFS trong Ubuntu đang phát triển như thế nào.

LIÊN QUAN: Cách cài đặt và sử dụng ZFS trên Ubuntu (và tại sao bạn muốn)

Tìm các tùy chọn ZFS trong khi cài đặt

Trong quá trình cài đặt Ubuntu, màn hình “Loại cài đặt” cho phép bạn chọn xóa đĩa mà bạn đang cài đặt Ubuntu trên đó hoặc làm một việc khác. Nhấp vào nút “Tính năng nâng cao”.

Advanced Features button on the Installation Type screen

Hộp thoại “Tính năng nâng cao” xuất hiện.

ZFS options in the Advanced Features dialog

Chọn nút radio “Erase Disk and Use ZFS” và nhấp vào nút “OK”.

Màn hình “Loại cài đặt” sẽ hiển thị “ZFS Selected” để cho biết rằng bạn đã chọn sử dụng ZFS.

"ZFS selected" notification on the Installation Type scrren

Nhấp vào nút “Tiếp tục” và hoàn tất quá trình cài đặt như bình thường.

Quảng cáo

Nếu bạn đã cài đặt một số ổ cứng trong máy tính của mình, bạn sẽ có thể chọn cách bạn muốn ZFS sử dụng chúng. Ubuntu sẽ cung cấp một cấu hình được đề xuất, nhưng bạn có thể điều chỉnh mọi thứ cho phù hợp với bản thân.

Nhưng điều gì sẽ xảy ra nếu bạn thêm một số ổ cứng sau khi đã cài đặt xong Ubuntu? Làm cách nào để bạn định cấu hình ZFS để sử dụng bộ nhớ mới? Đó là những gì chúng ta sẽ xem xét tiếp theo.

Thêm ổ cứng bổ sung

Chúng tôi đã cài đặt Ubuntu với ZFS trên một ổ cứng duy nhất của máy thử nghiệm mà chúng tôi đã sử dụng để nghiên cứu bài viết này. Chúng tôi đã thêm hai ổ cứng nữa, tổng cộng máy tính có ba ổ cứng. Một ổ cứng đã cài đặt Ubuntu và hai ổ mới trống, chưa được định dạng và chưa được gắn kết.

Điều đầu tiên chúng ta cần làm là xác định cách Ubuntu đề cập đến các ổ cứng mới. Lệnh lsblk liệt kê tất cả các thiết bị khối được cài đặt trong máy tính của bạn. Chúng tôi có thể xác định cụ thể cột đầu ra nào mà chúng tôi muốn xem trong kết quả.

lsblk -o name, size, fstype, type, mountpoint

d79bf41f 1

-o (đầu ra) được theo sau bởi các cột chúng ta muốn xem. Chúng tôi chọn:

  • Tên : Tên Ubuntu dùng để chỉ ổ cứng.
  • size : Kích thước của ổ cứng. Nếu ổ cứng có nhiều hơn một phân vùng, tất cả chúng đều được liệt kê và kích thước của từng phân vùng được hiển thị.
  • fstype : Hệ thống tệp là một trong ổ cứng hoặc phân vùng.
  • loại : Dòng đề cập đến đĩa, phân vùng, ổ CD-ROM hoặc thiết bị giả lặp lại.
  • mountpoint : Điểm gắn kết của hệ thống tệp trên ổ cứng hoặc phân vùng.

Có một loạt các squashfs loopback thiết bị, đánh số loop0 qua loop6 . Mỗi khi bạn cài đặt một ứng dụng snap, một trong những thiết bị giả này sẽ được tạo. Nó là một phần của đóng gói và hộp cát mà snap bao bọc xung quanh mỗi ứng dụng snap.

Quảng cáo

Ổ cứng đầu tiên được liệt kê là /dev/sda . Đó là một ổ đĩa 32 GB với năm phân vùng trên đó, được liệt kê là /dev/sda1 đến /dev/sda5 . Chúng được định dạng theo nhiều cách khác nhau. Đây là ổ đĩa có trong máy tính khi chúng tôi cài đặt Ubuntu.

Hai ổ cứng mới của chúng tôi được liệt kê là /dev/sdb/dev/sdc . Chúng cũng là ổ 32 GB, nhưng chúng không được định dạng và chúng không được gắn kết.

Hồ bơi, RAID 0, RAID 1

Để sử dụng các rives cứng mới, chúng tôi thêm chúng vào một hồ bơi . Bạn có thể thêm bao nhiêu ổ đĩa vào một nhóm tùy thích. Có hai cách để làm điều này. Bạn có thể định cấu hình nhóm để có thể sử dụng tất cả không gian lưu trữ của mỗi ổ cứng trong cấu hình RAID 0 hoặc bạn có thể định cấu hình chúng để nhóm chỉ cung cấp lượng không gian lưu trữ của ổ cứng nhỏ nhất trong nhóm, trong cấu hình RAID 1.

Ưu điểm của RAID 0 là không gian. Nhưng cấu hình được ưu tiên — và rất được khuyến khích — là RAID 1. RAID 1 phản chiếu dữ liệu trên tất cả các ổ đĩa trong nhóm. Điều đó có nghĩa là bạn có thể gặp lỗi ổ cứng và hệ thống tệp và dữ liệu của bạn vẫn an toàn và máy tính của bạn vẫn hoạt động. Bạn có thể thay thế ổ đĩa bị lỗi và thêm ổ đĩa mới vào nhóm của mình.

Ngược lại, với RAID 0, một lỗi ổ cứng duy nhất khiến hệ thống của bạn không thể hoạt động cho đến khi bạn thay thế ổ đĩa bị lỗi và thực hiện khôi phục từ các bản sao lưu của mình.

Bạn càng có nhiều ổ đĩa trong nhóm RAID 1 thì nó càng mạnh mẽ. Tối thiểu bạn cần cho RAID 1 là hai ổ đĩa. Lỗi ở một trong hai ổ sẽ là một sự bất tiện, nhưng không phải là một thảm họa. Nhưng việc hỏng cả hai ổ cứng cùng một lúc tất nhiên sẽ là một vấn đề lớn hơn. Vì vậy, câu trả lời dường như là gộp càng nhiều ổ cứng càng tốt.

Quảng cáo

Nhưng tất nhiên, trong thực tế, có giới hạn về số lượng ổ đĩa bạn muốn — hoặc có thể đủ khả năng — phân bổ cho một nhóm duy nhất. Nếu bạn có tám ổ cứng dự phòng, việc thiết lập hai nhóm RAID 1 bốn ổ có lẽ là cách sử dụng phần cứng tốt hơn so với một nhóm tám ổ. Và hãy nhớ rằng nhóm RAID 1 chỉ có thể cung cấp khả năng lưu trữ của ổ cứng nhỏ nhất trong nhóm, vì vậy hãy luôn cố gắng sử dụng các ổ đĩa có cùng kích thước trong một nhóm duy nhất.

Tạo nhóm RAID 1

Chúng tôi đã xác định ổ cứng mới của mình là /dev/sdb/dev/sdc . Để tạo một nhóm ZFS RAID 1, chúng tôi sử dụng lệnh sau:

sudo zpool tạo nhân bản cloudavvyit / dev / sdb / dev / sdc

Các thành phần của lệnh là:

  • sudo : Chúng tôi đang thay đổi cấu hình hệ thống nên chúng tôi cần sử dụng sudo để nhận các đặc quyền root.
  • zpool : Đây là lệnh quản lý nhóm ZFS.
  • create : Đây là hành động chúng tôi muốn zpool thực hiện cho chúng tôi.
  • cloudavvyit : Đây là tên của pool mà chúng tôi muốn tạo.
  • mirror : Chúng tôi muốn dữ liệu của mình được phản chiếu trên tất cả các ổ đĩa, cung cấp cho chúng tôi một nhóm RAID 1. Bỏ qua tùy chọn “mirror” sẽ tạo ra một nhóm RAID 0.
  • / dev / sdb : Ổ cứng đầu tiên của chúng tôi.
  • / dev / sdc : Ổ cứng thứ hai của chúng tôi.

Thay thế “cloudavvyit” bằng tên bạn muốn gọi nhóm của mình và thay thế /dev/sdb/dev/sdc bằng số nhận dạng của ổ cứng mới của bạn.

Adding the new hard drives to a new RAID 1 pool

Tạo một hồ bơi là một chút chống cao trào. Nếu mọi việc suôn sẻ, bạn không được phép quay lại dấu nhắc lệnh. Chúng ta có thể sử dụng hành động status zpool để xem trạng thái của nhóm mới của chúng ta.

sudo zpool trạng thái đám mâyavvyit

Checking the status of the new pool

Nhóm mới của chúng tôi đã được tạo, nó đang trực tuyến, hai ổ đĩa mới của chúng tôi đang ở trong nhóm và không có lỗi. Tất cả đều có vẻ tuyệt vời. Nhưng hồ bơi ở đâu? Hãy xem lsblk sẽ chỉ cho chúng ta nơi nó đã được gắn kết.

lsblk -o name, size, fstype, type, mountpoint

Status of the new hard drives in the ZFS pool

Chúng ta có thể thấy rằng các ổ cứng mới /dev/sdb/dev/sdc ta đã được phân vùng với hai phân vùng, nhưng không có điểm gắn kết nào được liệt kê cho chúng. Hồ bơi không được gắn như ổ cứng thông thường. Ví dụ: không có mục nhập nào trong /etc/fstab cho các nhóm ZFS. Theo mặc định, một điểm gắn kết được tạo trong thư mục gốc. Nó có cùng tên với hồ bơi.

ls /

The ZFS pool mount point in the root directory

Quảng cáo

Nếu bạn muốn tạo điểm gắn kết ở một nơi khác, hãy sử dụng -m (điểm gắn kết) khi bạn tạo nhóm và cung cấp đường dẫn đến nơi bạn muốn điểm gắn kết được tạo. Bạn cũng có thể đặt tên khác cho điểm gắn kết.

sudo zpool create -m / path / to / mount-point-name cloudavvyit mirror / dev / sdb / dev / sdc

Cung cấp cho người dùng quyền truy cập vào Pool

Pool tồn tại, nhưng chỉ người dùng root mới có thể lưu trữ dữ liệu trong đó. Tất nhiên, đó không phải là những gì chúng ta cần. Chúng tôi muốn những người dùng khác có thể truy cập vào hồ bơi.

Để đạt được điều này, chúng tôi sẽ:

  • Tạo một thư mục trong pool.
  • Tạo một nhóm mới.
  • Đặt nhóm mới làm chủ sở hữu nhóm của thư mục.
  • Thêm người dùng cần truy cập bộ nhớ dữ liệu vào nhóm mới.

Đề án này cung cấp tính linh hoạt tuyệt vời. Chúng ta có thể tạo nhiều thư mục lưu trữ dữ liệu tùy theo nhu cầu, với các nhóm khác nhau sở hữu chúng. Cung cấp cho người dùng quyền truy cập vào các khu vực lưu trữ khác nhau cũng đơn giản như thêm họ vào các nhóm thích hợp.

Chúng tôi sẽ sử dụng groupadd để tạo một nhóm người dùng. Nhóm của chúng tôi được gọi là “csavvy1”. Sau đó, chúng tôi sẽ sử dụng usermod để thêm một người dùng có tên là “dave” vào nhóm mới. -a (nối thêm) thêm nhóm mới vào danh sách các nhóm hiện có mà người dùng đang ở trong đó. Nếu không có tùy chọn này, người dùng sẽ bị xóa khỏi tất cả các nhóm hiện có và được thêm vào nhóm mới. Điều đó sẽ gây ra sự cố, vì vậy hãy đảm bảo bạn sử dụng tùy chọn -a

sudo groupadd csavvy1
sudo usermod -a -G csavvy1 dave

Creating a user group and adding a user to it

Để tư cách thành viên nhóm mới của họ có hiệu lực, người dùng phải đăng xuất và đăng nhập lại.

Bây giờ chúng ta sẽ tạo một thư mục trong pool, được gọi là “data1”.

sudo mkdir / cloudavvyit / data1
Quảng cáo

Lệnh chgrp cho phép chúng ta đặt chủ sở hữu nhóm của thư mục.

sudo chgrp csavvy1 / cloudavvyit / data1

Cuối cùng, chúng tôi sẽ thiết lập các quyền của nhóm bằng chmod . “S” là bit đặc biệt của SGID. Nó có nghĩa là các tệp và thư mục được tạo trong thư mục “data1” sẽ kế thừa chủ sở hữu nhóm của thư mục này.

sudo chmod g + rwsx / cloudavvyit / data1 /

Creating a directory and setting its group ownership and permissions

Người dùng của chúng tôi đã đăng xuất và đăng nhập lại. Hãy thử tạo một tệp trong thư mục lưu trữ dữ liệu mới trong nhóm RAID 1 ZFS mới của chúng tôi.

touch /cloudsavvyit/data1/new-file.txt

Và hãy xem nó đã được tạo ra.

ls / cloudavvyit / data1 -lh

Creating a new file in the data storage directory of the ZFS pool

Sự thành công. Điều gì sẽ xảy ra nếu chúng tôi cố gắng tạo một tệp khác bên ngoài vùng lưu trữ data1 của chúng tôi?

touch /cloudsavvyit/new-file2.txt

The user cannot create files outside of their allocated data storage area

Điều này không thành công như mong đợi. Quyền của chúng tôi đang hoạt động. Người dùng của chúng tôi chỉ có thể thao tác các tệp trong thư mục lưu trữ dữ liệu mà anh ta đã được cấp quyền truy cập.

LIÊN QUAN: Cách sử dụng SUID, SGID và Sticky Bits trên Linux

Phá hủy một hồ bơi

Hãy cẩn thận với lệnh này. Đảm bảo rằng bạn có bản sao lưu trước khi tiếp tục. Nếu bạn chắc chắn rằng bạn thực sự muốn và bạn đã xác minh rằng bạn có các bản sao dữ liệu khác trong nhóm, bạn có thể hủy nhóm bằng lệnh sau:

sudo zpool phá hủy đám mây
Quảng cáo

Thay thế “cloudavvyit” bằng tên của pool mà bạn sẽ phá hủy.

Bạn chỉ có một ổ cứng?

Nếu bạn chỉ có một ổ cứng hoặc nếu máy tính của bạn có nhiều ổ cứng nhưng kích thước của chúng thay đổi quá nhiều để tạo thành một nhóm hữu ích, bạn vẫn có thể sử dụng ZFS. Bạn sẽ không nhận được phản chiếu RAID, nhưng các cơ chế chống tham nhũng và bảo vệ dữ liệu tích hợp vẫn là những tính năng đáng giá và thuyết phục.

Nhưng hãy nhớ rằng, không có hệ thống tệp nào — có hoặc không có phản chiếu RAID — có nghĩa là bạn có thể bỏ qua các bản sao lưu.

LIÊN QUAN: Sao lưu so với Dự phòng: Sự khác biệt là gì?

7 Docker Anti-Patterns You Need to Avoid

7 mẫu chống Docker bạn cần tránh

0ea95d67

Cách định cấu hình mod_evasive cho Apache DDoS Protection

How to Copy Directories Recursively with scp

Cách sao chép thư mục đệ quy với scp

How to Check Disk Space Usage for Docker Images & Containers

Cách kiểm tra mức sử dụng dung lượng đĩa cho hình ảnh & vùng chứa Docker

How to Use ConfigMaps For Kubernetes Configuration

Cách sử dụng bản đồ cấu hình cho cấu hình Kubernetes

How to Copy Directories Recursively with scp

Cách tự động hóa đăng nhập SSH nếu bạn phải sử dụng mật khẩu

Dịch từ: https://www.cloudsavvyit.com/14357/how-to-install-and-configure-zfs-on-ubuntu/

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây