Saya sedang mencoba OpenZFS yang dibundel pada Ubuntu 16.04 Xenial.
Saat membuat kumpulan, saya selalu merujuk drive dengan serial mereka di /dev/disk/by-id/
(atau /dev/disk/gpt
di FreeBSD) untuk ketahanan. Drive tidak selalu dalam urutan yang sama /dev
ketika mesin reboot, dan jika Anda memiliki drive lain di mesin, pool mungkin gagal untuk me-mount dengan benar.
Misalnya, menjalankan zpool status
pada kotak 14,04 saya mendapatkan ini:
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
Tetapi ketika saya membuat kolam baru pada 16,04 dengan ini (disingkat):
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_[..]
Saya mendapatkan ini dengan 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
Sepertinya zpool mengikuti symlink, daripada mereferensikannya.
Apakah ada cara untuk memaksa zpool pada 16,04 untuk menghormati referensi drive saya saat membuat kumpulan? Atau sebagai alternatif, apakah kekhawatiran saya tentang apa yang dilakukannya di sini salah tempat?
Pembaruan: Penanganan masalah
Saya menemukan utas untuk zfsonlinux di Github yang menyarankan solusi. Buat zpool Anda dengan /dev/sdX
perangkat terlebih dahulu, lalu lakukan ini:
$ sudo zpool export tank
$ sudo zpool import -d /dev/disk/by-id -aN
Saya masih lebih suka untuk dapat melakukan ini dengan inisial zpool create
meskipun jika memungkinkan.
zfs export
danzfs import -d
akan tetap bekerja. BTW, kecuali Anda benar - benar membutuhkan setiap byte ruang, gunakan dua pasangan cermin daripada raidz. kinerja raidz lebih baik dari raid-5 tetapi masih jauh lebih buruk daripada raid-10 atau pasangan cermin zfs. itu juga lebih mudah untuk memperluas kumpulan yang terdiri dari pasangan cermin, cukup tambahkan dua disk sekaligus ... dengan raidz, Anda harus mengganti masing-masing drive dengan drive yang lebih besar, dan hanya ketika Anda telah mengganti semuanya maka Anda akan kolam renang memiliki lebih banyak ruang tersedia.zfs send
untuk menyalin data saya ke kumpulan baru. Sebenarnya, raid-z adalah OK untuk kotak mythtv saya di mana kinerja tidak kritis kecuali saya menjalankan 6 atau 8 pekerjaan transcode sekaligus. Mengubah pasangan cermin akan sangat terlihat di kolam tempat/home
direktori saya tinggal.Jawaban:
Sekali-sekali,
zpool import -d /dev/disk/by-id
tidak berhasil.Saya perhatikan ini di lebih dari satu lingkungan. Saya memiliki skrip impor yang, selain melakukan beberapa logika ajaib dan menunjukkan perangkat ZFS yang terlampir secara fisik, juga melakukan hal berikut:
Kali kedua, bahkan tanpa
-d
sakelar, impor oleh ID perangkat meskipun itu bukan kali pertama dengan perintah eksplisit.Mungkin saja ini hanya karena bug ZFS selama rentang waktu beberapa minggu atau bulan (satu atau dua tahun lalu), dan ini tidak lagi diperlukan. Saya kira saya seharusnya telah mengajukan laporan bug, tapi itu sepele untuk dikerjakan.
sumber
Saya tahu utas ini agak basi, tetapi ada jawaban. Anda perlu memperbarui file cache Anda setelah Anda mengimpor. Contoh ini menunjukkan lokasi default untuk file cache.
sumber