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
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:
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 ( tank
là 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 tank
bằ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 zpool
và zfs
, 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ế -a
bằng tên của nhóm, tank
); điều -d /.zfs
nà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ẻ!