Tôi xây dựng một máy chủ tệp FreeBSD tại nhà bằng cách sử dụng ZFS.
Đó là AMD X2 3200+ với RAM 3GB. Nó có một PCI Express Gig-E. Ổ đĩa khởi động là 400GB cũ và tôi có 4 ổ 750 GB Seagte (một ổ có phiên bản phần sụn khác nhau, chỉ trong trường hợp).
Khởi động từ ZFS sẽ rất tốt (nó sẽ giúp cài đặt đơn giản hơn), nhưng tôi đã sử dụng các hướng dẫn ZFSOnRoot để thiết lập ổ đĩa Root / OS với ZFS (nếu tất cả các phân vùng là ZFS, thì nó không cần phải thực hiện fsck khi khởi động để kiểm tra các hệ thống tập tin UFS). Lý do bạn muốn điều này là sau đó bạn có thể thiết lập tất cả các phân vùng của mình (/ var, / usr, / tmp, v.v.) với các tùy chọn khác nhau theo yêu cầu (chẳng hạn như noatime và async cho / usr / obj, sẽ tăng tốc kernel biên dịch), nhưng tất cả chúng sẽ chia sẻ không gian từ một nhóm chung. Sau đó, bạn có thể thiết lập một ổ dữ liệu và cung cấp cho mỗi người dùng một phân vùng của riêng họ (với các trích dẫn và cài đặt khác nhau). Sau đó, bạn có thể chụp ảnh nhanh (chi phí thấp trên ZFS).
My home server has a df that looks like:
/dev/ad0s1a 1.9G 744M 1.1G 41% /
devfs 1.0K 1.0K 0B 100% /dev
dozer/data 1.8T 62G 1.7T 3% /data
dozer/home 1.7T 9.6G 1.7T 1% /home
dozer/home/walterp 1.9T 220G 1.7T 11% /home/walterp
tank/tmp 352G 128K 352G 0% /tmp
tank/usr 356G 4.4G 352G 1% /usr
tank/var 354G 2.2G 352G 1% /var
Hiệu suất khôn ngoan, sao chép tập tin là thực sự nhanh chóng. Một điều mà tôi cần lưu ý là tôi đã sử dụng ZFS trên các hệ thống AMD64 FreeBSD có 3-4GB và nó hoạt động tốt, nhưng từ khi đọc, tôi lo lắng về việc chạy nó trên hệ thống i386 có 2GB hoặc ít bộ nhớ
Tôi đã hết các cổng SATA trên bo mạch chủ, vì vậy tôi chưa thử thêm bất kỳ ổ đĩa mới nào. Thiết lập ban đầu rất đơn giản, một lệnh để tạo RAIDZ và sau đó là lệnh tạo / home, được định dạng trong vài giây (IIRC). Tôi vẫn đang sử dụng phiên bản ZFS (v6) cũ hơn, vì vậy nó có một số hạn chế (Nó không yêu cầu ổ đĩa có kích thước bằng nhau, nhưng không giống như Dropbo, nếu bạn có 3 ổ 750 GB và ổ 1TB, kết quả cuối cùng sẽ như thể bạn có 4 ổ đĩa 750 GB).
Một trong những lý do lớn mà tôi đã sử dụng ZFS với RAIDZ là tổng kiểm tra từ đầu đến cuối. Cern đã xuất bản một bài báo ghi lại một bài kiểm tra mà họ đã thực hiện khi phát hiện hơn 200 lỗi đọc không đáng có trong khi chạy thử nghiệm R / W trong khoảng thời gian vài tuần (ECC trong các ổ đĩa bán lẻ dự kiến sẽ bị lỗi mỗi 12TB khi đọc). Tôi muốn dữ liệu trên máy chủ của tôi là chính xác. Tôi gặp sự cố nghiêm trọng do mất điện (ai đó đã làm quá tải UPS bằng cách cắm máy sưởi không gian vào nó), nhưng khi hệ thống có thể hoạt động trở lại, ZFS đã quay lại nhanh chóng, không gặp sự cố fsck tiêu chuẩn.
Tôi thích nó, vì sau đó tôi có thể thêm CUPS vào Samba để có được một máy chủ in. Tôi đã thêm bộ đệm DNS và có thể thêm phần mềm khác tùy thích (Tôi đang suy nghĩ về việc thêm giám sát SNMP vào máy tính để bàn tại nhà để đo mức sử dụng băng thông). Đối với những gì tôi đã chi cho hệ thống, tôi chắc chắn rằng tôi có thể mua một hộp NAS giá rẻ, nhưng sau đó tôi sẽ không có hộp Unix 64 bit cục bộ để chơi. Nếu bạn thích FreeBSD tôi muốn nói hãy đi với nó. Nếu bạn thích Linux, thì tôi muốn giới thiệu một giải pháp Linux. Nếu bạn không muốn thực hiện bất kỳ quản trị nào, đó là khi tôi sẽ sử dụng hộp NAS độc lập.
Trong đợt nâng cấp phần cứng tiếp theo của tôi, tôi dự định nâng cấp phần cứng và sau đó cài đặt phiên bản FreeBSD hiện tại, có ZFS v13. V13 rất tuyệt vì tôi có một đĩa RAM được sao lưu bằng pin mà tôi có thể sử dụng cho nhật ký ZIL (điều này làm cho tiếng hét được ghi lại). Nó cũng hỗ trợ sử dụng SSD để tăng tốc máy chủ tệp (thông số kỹ thuật trên Máy chủ tệp Sun mới rất ngọt và họ lấy chúng từ hệ thống ZFS sử dụng SSD để giúp hệ thống hoạt động rất nhanh).
EDIT: (Không thể để lại ý kiến nào). Tôi đã làm theo nhiều hướng dẫn tại http://www.ish.com.au/solutions/articles/freebsdzfs . Một thay đổi lớn tồn tại trong 7.X kể từ khi những hướng dẫn đó được viết là 7.2 xuất hiện và nếu bạn có trên 2 GB, bạn không cần phải thêm ba dòng sau vào /boot/loader.conf:
vm.kmem_size_max="1024M"
vm.kmem_size="1024M"
vfs.zfs.arc_max="100M"
Các hướng dẫn cũng giải thích cách tạo gương và cách đưa hệ thống trở lại chế độ phục hồi (gắn kết với ZFS). Sau khi chơi với hướng dẫn của anh ấy một hoặc hai lần, sau đó tôi đã sử dụng Hướng dẫn quản trị ZFS từ Sun http://opensolaris.org/os/community/zfs/docs/zfsadmin.pdf để hiểu rõ hơn về ZFS là gì. Để tạo kho dữ liệu của mình, tôi đã sử dụng một phiên bản sửa đổi của lệnh trên trang 91 để tạo nhóm ZFS. Đây là FreeBSD, tôi đã phải thực hiện một thay đổi nhỏ:
zpool create dozer raidz /dev/ad4 /dev/ad6 /dev/ad8 /dev/ad10
Trường hợp ad4-ad10 được tìm thấy bằng cách thực hiện dmesg | grep 'ata. * Master', đây là tên của các ổ đĩa cứng SATA trên hệ thống sẽ được sử dụng cho phân vùng dữ liệu lớn. Trên bo mạch chủ của tôi, ba cổng ata đầu tiên (ad0-3) trong đó có 4 cổng PATA và sau đó vì mỗi cổng SATA là một bản gốc, không có số cũ.
Để tạo hệ thống tập tin, tôi chỉ cần làm:
zfs create dozer/data
zfs set mountpoint=/data dozer/tank
Lệnh thứ hai là bắt buộc vì tôi đã tắt các điểm gắn kết mặc định cho các chia sẻ.