Haruskah saya membuat ZFS zpool dengan seluruh disk atau partisi?

14

Saya membuat zpool pada mesin FreeBSD. Saat membuat zpool, saya mengamati dua kasus ini:

  1. Jika saya ambil raw disksdan buat zpoolmaka saya bisa membentuk zpool dan mereka bekerja dengan sempurna.

  2. Jika saya memformat disk menggunakan gpartdalam freebsd-zfsformat dan kemudian membuat zpool maka mereka juga bekerja dengan sempurna.

Apa yang saya bingung, adalah pendekatan mana yang lebih baik untuk pembuatan zpool?

shivams
sumber

Jawaban:

8

Lebih baik menggunakan seluruh disk dengan ZFS, bila memungkinkan.
Tidak perlu dipartisi dalam use case Anda.

putih
sumber
Apa yang Anda maksud dengan your use case. Bisakah Anda memberikan beberapa kasus di mana partisi mungkin berguna?
shivams
Partisi tidak berguna di ZFS kecuali Anda memiliki konfigurasi esoterik atau menggunakan solusi SSD tertentu atau melakukan sesuatu yang aneh dengan perangkat ZIL dan L2ARC . Dan meskipun begitu, yang terbaik adalah menggunakan seluruh perangkat / disk.
ewwhite
Tetapi mengapa lebih baik menggunakan seluruh disk?
leetNightshade
1
@leetNightshade Karena tidak ada banyak titik partisi disk saat Anda menggunakan ZFS dengan sistem file mana yang tidak memerlukan partisi sendiri. Selain itu, ketika ZFS "memiliki" disk, ia dapat mengaktifkan cache tulis disk untuk mendapatkan kinerja yang lebih baik. Lihat solarisinternals.com/wiki/index.php/…
jlliagre
1
@Grogi Ada bukti bagus untuk mendukungnya?
leetNightshade
5

Gunakan satu slice / partisi yang didedikasikan untuk ZFS per disk fisik dan biarkan beberapa ruang tidak terpartisi. Dengan begitu jika Anda perlu mengganti drive dan penggantinya 10 sektor lebih kecil, Anda masih dapat melakukannya ( http://www.freebsddiary.org/zfs-with-gpart.php ).

Itulah yang Solaris lakukan secara otomatis, itulah yang dilakukan FreeNAS ( https://forums.freenas.org/index.php?threads/zfs-on-partitioned-disks.37079/ ) dan itulah yang dilakukan ZoL ketika Anda memberikan seluruh disk - itu akan mempartisi ...

Overhead untuk menerjemahkan posisi pada partisi ke posisi pada perangkat yang sebenarnya dapat diabaikan. Jadi, begitu partisi disejajarkan dengan benar dengan batas sektor fisik, tidak ada alasan untuk berperilaku berbeda dari perangkat blok keseluruhan.

Dengan Zool, satu-satunya perbedaan yang saya ketahui adalah Zool akan mengubah scheduler disk noopketika seluruh disk diberikan ke vdev. Tidak ada yang menghentikan Anda dari pengaturan secara manual.

Ada beberapa yang tidak ... Jangan membuat lebih banyak partisi untuk ZFS per disk dan jika Anda memutuskan untuk mengabaikan saran di atas, jangan pernah membuat vdev dari mereka di zpool yang sama. Ini pada dasarnya akan mematikan kinerja, karena ZFS akan mengiris data antara vdevs dan iops berurutan akan berubah menjadi seek-nightmare ...

Grogi
sumber
Bisakah Anda memberi lebih banyak perhatian pada perilaku zfs tentang mencari-mimpi buruk dengan irisan disk yang dibagikan / digunakan?
satch_boogie
Skenario paling sederhana - Anda membangun kumpulan dari dua vdevs, masing-masing partisi pada harddisk yang sama. Sekarang, Anda ingin menulis sepotong data yang cukup besar yang membentang di kedua vdevs. Meskipun secara berurutan menulis data, drive harus mencari di antara dua lokasi terpisah untuk menyimpannya.
Grogi
Apakah perilaku ini sama jika Pool_A menggunakan (sda1, sdb1, sdc3) dan Pool_B menggunakan (sda2, sdb2, sdc3)
satch_boogie
Anda tidak harus menulis kepada mereka secara bersamaan ... Jika Anda memiliki vdev dalam satu kolam, tidak ada yang dapat Anda lakukan ...
Grogi
0

di kepala saya pertanyaan ini muncul karena keraguan jika saya terlambat dapat menunjuk, apa yang ada di disk itu ... jadi ketika Anda membuat kumpulan pada seluruh drive (ya, dengan opsi -f, jika diperlukan), zpool praktis membuat tabel partisi gpt dan partisi Solaris, seperti ini:

(fdisk -l ...)
...
Disklabel type: gpt
Disk identifier: 4CBE587E-23AF-8E4B-A7F0-B44AD6083171

Device          Start        End    Sectors  Size Type
/dev/sdd1        2048 3907010559 3907008512  1,8T Solaris /usr & Apple ZFS
/dev/sdd9  3907010560 3907026943      16384    8M Solaris reserved 1

jadi benar-benar tidak perlu membuat partisi secara manual ...

Taras Filatov
sumber
Saya tidak mempertimbangkan apa yang solaris lakukan praktik terbaik di freebsd. Sebagai contoh jika mirror Anda dapat mengganti disk dengan yang lebih besar dan memperluas ukuran pool on the fly dengan satu perintah atau bahkan secara otomatis jika dikonfigurasi seperti itu.
cstamas