Zfs / zpool có thể được thiết lập trong đĩa định dạng LVM không


2

Tôi có thiết lập Ubuntu 14.04 với LVM trên đĩa 500 GB trên máy tính xách tay của mình. Tôi muốn thiết lập / playaround với zfs / zpool. Cách tiếp cận tốt nhất cho việc này mà không làm mất dữ liệu của tôi

Câu trả lời:


2

Cho rằng bạn chỉ muốn "chơi xung quanh" với ZFS, tùy chọn dễ nhất có lẽ là nhóm hỗ trợ tệp. Một giải pháp thay thế sẽ là tạo một hoặc nhiều khối logic bên trong LVM và sử dụng các khối đó.

Một trong những điểm hay của ZFS là bạn có thể cung cấp cho nó bất cứ thứ gì có thể lưu trữ dữ liệu ở dạng có khả năng I / O ngẫu nhiên và nó sẽ "chỉ hoạt động". Trong môi trường sản xuất, bạn thường muốn cung cấp cho ZFS toàn bộ đĩa (hoặc một số toàn bộ đĩa) và để nó xử lý phân vùng, v.v., nhưng để thử mọi thứ và cảm nhận về cách ZFS hoạt động, nhóm hỗ trợ tệp gần như luôn luôn hoàn hảo đầy đủ

Trên thực tế, đôi khi tôi khuyên bạn nên có một nhóm hỗ trợ tệp giống với bố cục lưu trữ đầy đủ có sẵn, bởi vì nó cho phép bạn kiểm tra một cách an toàn các thay đổi khác nhau và quan sát kết quả trước khi cam kết với chúng. Những sai lầm trong việc thay đổi nhóm ZFS có thể tốn kém.

Để tạo nhóm hỗ trợ tệp, trước tiên hãy tạo một tập hợp các tệp có kích thước phù hợp. Tôi sẽ tạo một nhóm raidz1 bốn thiết bị trong đó mỗi thiết bị (tệp) là 2 GB, vì vậy:

sudo mkdir /.zfs
sudo dd if=/dev/zero of=/.zfs/disk1 bs=1M count=2048
sudo dd if=/dev/zero of=/.zfs/disk2 bs=1M count=2048
sudo dd if=/dev/zero of=/.zfs/disk3 bs=1M count=2048
sudo dd if=/dev/zero of=/.zfs/disk4 bs=1M count=2048
sudo chmod 0700 /.zfs

Điều này cung cấp cho chúng tôi bốn tệp trong /.zfs, được đặt tên là đĩa1 đến đĩa4 tương ứng. Mỗi tệp sẽ có kích thước 2 GiB, khi tính toán chi phí raidz1 cho chúng tôi dung lượng lưu trữ có thể sử dụng dưới 6 GiB (trong raidz1, một trong những thiết bị được sử dụng cho dữ liệu chẵn lẻ nên không có sẵn để sử dụng).

Sau đó tạo nhóm ( tanklà tên ví dụ tùy chỉnh cho nhóm ZFS):

sudo zpool create tank raidz /.zfs/disk1 /.zfs/disk2 /.zfs/disk3 /.zfs/disk4

Điều này nói là tạo một nhóm có tên tankbằng cách sử dụng mặc định và thiết lập một vdev trong nhóm đó với bốn tệp chúng ta vừa tạo. Nhóm sẽ tự động được nhập sau khi được tạo và hệ thống tệp gốc của nó sẽ được gắn vào /tank. Bạn có thể quan sát kết quả bằng cách sử dụng sudo zpool status, cái này sẽ in một cái gì đó rất giống với:

  pool: tank
 state: ONLINE
  scan: none requested
config:

    NAME             STATE     READ WRITE CKSUM
    tank             ONLINE       0     0     0
      raidz1-0       ONLINE       0     0     0
        /.zfs/disk1  ONLINE       0     0     0
        /.zfs/disk2  ONLINE       0     0     0
        /.zfs/disk3  ONLINE       0     0     0
        /.zfs/disk4  ONLINE       0     0     0

errors: No known data errors

Chúng tôi có thể xác nhận kích thước thô của hồ bơi bằng cách sử dụng sudo zpool list:

NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
tank  7,94G   120K  7,94G         -     0%     0%  1.00x  ONLINE  -

và dung lượng lưu trữ được sử dụng và có sẵn bằng cách sử dụng sudo zfs list:

NAME   USED  AVAIL  REFER  MOUNTPOINT
tank  74,8K  5,84G  25,4K  /tank

Cả hai lệnh này đều có nhiều tùy chọn để kiểm soát những gì được in và làm thế nào; xem trang người đàn ông cho zpoolzfs, tương ứng.

Bây giờ bạn có thể lưu tệp vào / bể và thường bị bẩn tay với ZFS. Để xuất nhóm (được khuyến nghị trước khi tắt máy), sudo zpool export tank(hoặc sudo zpool export -ađể xuất tất cả các nhóm hiện đang nhập). Để nhập lại nhóm, sudo zpool import -d /.zfs -a(hoặc thay thế -abằng tên của nhóm, tank); điều -d /.zfsnày có thể cần thiết bởi vì ZFS thường không tìm trong thư mục đó cho các thiết bị. Bạn có thể thêm các lệnh này vào tập lệnh khởi động / tắt hệ thống nếu muốn.

Chúc vui vẻ!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.