Tôi đang dùng thử OpenZFS kèm theo trên Ubuntu 16.04 Xenial.
Khi tạo nhóm, tôi luôn tham chiếu các ổ đĩa theo sê-ri của chúng trong /dev/disk/by-id/
(hoặc /dev/disk/gpt
trên FreeBSD) để có khả năng phục hồi. Các ổ đĩa không phải lúc nào cũng theo thứ tự /dev
khi máy khởi động lại và nếu bạn có các ổ đĩa khác trong máy thì nhóm có thể không lắp đúng.
Ví dụ: chạy zpool status
trên hộp 14.04 tôi nhận được điều này:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-Hitachi_HDS722020ALA330_[..] ONLINE 0 0 0
ata-Hitachi_HDS722020ALA330_[..] ONLINE 0 0 0
ata-Hitachi_HDS722020ALA330_[..] ONLINE 0 0 0
ata-Hitachi_HUA722020ALA330_[..] ONLINE 0 0 0
Nhưng khi tôi tạo một nhóm mới vào ngày 16.04 với điều này (viết tắt):
zpool create pool raidz \
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..] \
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_[..]
Tôi nhận được điều này với zpool status
:
NAME STATE READ WRITE CKSUM
tank ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
sdf ONLINE 0 0 0
sde ONLINE 0 0 0
sdd ONLINE 0 0 0
sda ONLINE 0 0 0
Có vẻ như zpool đã theo các liên kết tượng trưng, thay vì tham khảo chúng.
Có cách nào để buộc zpool vào ngày 16.04 tôn trọng các tham chiếu ổ đĩa của tôi khi tạo một nhóm không? Hoặc cách khác, là những hiểu lầm của tôi về những gì nó làm ở đây bị đặt sai chỗ?
Cập nhật: Giải pháp thay thế
Tôi tìm thấy một chủ đề cho zfsonlinux trên Github gợi ý cách giải quyết. Tạo zpool của bạn với /dev/sdX
các thiết bị trước, sau đó làm điều này:
$ sudo zpool export tank
$ sudo zpool import -d /dev/disk/by-id -aN
Tôi vẫn muốn có thể làm điều này với ban đầu zpool create
mặc dù nếu có thể.
zfs send
để sao chép dữ liệu của mình sang nhóm mới. Trên thực tế, raid-z là ổn đối với hộp huyền thoại của tôi khi hiệu suất không quan trọng trừ khi tôi đang chạy 6 hoặc 8 công việc chuyển mã cùng một lúc. Thay đổi thành các cặp được nhân đôi sẽ rất đáng chú ý trên hồ bơi nơi /home
thư mục của tôi sống.
zfs export
vàzfs import -d
sẽ vẫn hoạt động. BTW, trừ khi bạn thực sự cần mỗi byte không gian, hãy sử dụng hai cặp được nhân đôi thay vì raidz. Hiệu suất của raidz tốt hơn so với raid-5 nhưng vẫn kém hơn nhiều so với các cặp nhân đôi raid-10 hoặc zfs. Việc mở rộng một nhóm được tạo thành từ các cặp được nhân đôi cũng dễ dàng hơn, chỉ cần thêm hai đĩa cùng một lúc ... với raidz, bạn phải thay thế mỗi ổ đĩa bằng các ổ đĩa lớn hơn và chỉ khi bạn thay thế tất cả chúng thì bạn mới thay thế hồ bơi có nhiều không gian có sẵn.