Saya mencoba menginstal zfs pada debian 9.1, namun saya mengalami beberapa kesalahan.
Instalasi pertama saya hanya dari zfs-dkms namun saya membaca di internet bahwa juga spl-dkms diperlukan untuk menjalankan zfs-dkms.
Langkah saya adalah mengubah sumber saya . Daftar menambahkan contrib tidak bebas sebagai berikut:
/etc/apt/sources.list
deb http://ftp.nl.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.nl.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main contrib non-free
deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free
# stretch-updates, previously known as 'volatile'
deb http://ftp.nl.debian.org/debian/ stretch-updates main contrib non-free
deb-src http://ftp.nl.debian.org/debian/ stretch-updates main contrib non-free
Melakukan pembaruan apt-get klasik dan kemudian mencoba menginstal zfs dengan yang berikut:
apt-get install spl-dkms
dan hanya setelahnya
apt-get install zfs-dkms
Akibatnya, saya memiliki kesalahan ini:
root@debian:/etc/apt# apt-get install zfs-dkms
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libnvpair1linux libuutil1linux libzfs2linux libzpool2linux zfs-zed zfsutils-linux
...
DKMS: install completed.
Setting up libzpool2linux (0.6.5.9-5) ...
Setting up libzfs2linux (0.6.5.9-5) ...
Setting up zfsutils-linux (0.6.5.9-5) ...
Created symlink /etc/systemd/system/zfs-mount.service.wants/zfs-import-cache.service â /lib/systemd/system/zfs-import-cac
Created symlink /etc/systemd/system/zfs.target.wants/zfs-import-cache.service â /lib/systemd/system/zfs-import-cache.serv
Created symlink /etc/systemd/system/zfs-share.service.wants/zfs-mount.service â /lib/systemd/system/zfs-mount.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-mount.service â /lib/systemd/system/zfs-mount.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-share.service â /lib/systemd/system/zfs-share.service.
Created symlink /etc/systemd/system/multi-user.target.wants/zfs.target â /lib/systemd/system/zfs.target.
zfs-import-scan.service is a disabled or a static unit, not starting it.
Job for zfs-mount.service failed because the control process exited with error code.
See "systemctl status zfs-mount.service" and "journalctl -xe" for details.
zfs-mount.service couldn't start.
Job for zfs-share.service failed because the control process exited with error code.
See "systemctl status zfs-share.service" and "journalctl -xe" for details.
zfs-share.service couldn't start.
Setting up zfs-zed (0.6.5.9-5) ...
Created symlink /etc/systemd/system/zed.service â /lib/systemd/system/zfs-zed.service.
Created symlink /etc/systemd/system/zfs.target.wants/zfs-zed.service â /lib/systemd/system/zfs-zed.service.
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Membaca jurnalctl -xe seperti yang disarankan saya dapatkan:
root@debian:/etc/apt# journalctl -xe
Aug 02 23:13:13 debian systemd[1]: zfs-share.service: Main process exited, code=exited, status=1/FAILURE
Aug 02 23:13:13 debian systemd[1]: Failed to start ZFS file system shares.
-- Subject: Unit zfs-share.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit zfs-share.service has failed.
--
-- The result is failed.
Aug 02 23:13:13 debian systemd[1]: zfs-share.service: Unit entered failed state.
Aug 02 23:13:13 debian systemd[1]: zfs-share.service: Failed with result 'exit-code'.
Aug 02 23:13:13 debian systemd[1]: Starting Mount ZFS filesystems...
-- Subject: Unit zfs-mount.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit zfs-mount.service has begun starting up.
Aug 02 23:13:13 debian zfs[81481]: The ZFS modules are not loaded.
Aug 02 23:13:13 debian zfs[81481]: Try running '/sbin/modprobe zfs' as root to load them.
Aug 02 23:13:13 debian systemd[1]: zfs-mount.service: Main process exited, code=exited, status=1/FAILURE
Aug 02 23:13:13 debian systemd[1]: Failed to start Mount ZFS filesystems.
-- Subject: Unit zfs-mount.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit zfs-mount.service has failed.
--
-- The result is failed.
Aug 02 23:13:13 debian systemd[1]: zfs-mount.service: Unit entered failed state.
Aug 02 23:13:13 debian systemd[1]: zfs-mount.service: Failed with result 'exit-code'.
Aug 02 23:13:13 debian systemd[1]: Starting ZFS file system shares...
-- Subject: Unit zfs-share.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit zfs-share.service has begun starting up.
Aug 02 23:13:13 debian systemd[81483]: zfs-share.service: Failed at step EXEC spawning /usr/bin/rm: No such file or direc
-- Subject: Process /usr/bin/rm could not be executed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- The process /usr/bin/rm could not be executed and failed.
--
-- The error number returned by this process is 2.
Ada apa di sini? Saya melewatkan sesuatu yang lain? Bagaimana paket zfs-linux terkait dengan instalasi zfs?
Apa cara yang benar untuk menginstal zfs di debian 9?
dkms status | grep zfs
?Jawaban:
Jawaban aktual oleh @cas baik tetapi ada beberapa koreksi untuk diterapkan.
Jadi mari kita instal instalasi baru Debian 9 dan mengasumsikan bahwa repositori contrib non-free juga tidak diaktifkan.
Langkah 0 - Aktifkan repositori kontribus non-bebas
Saya dulu
sed
mencari dan mengganti kata main di dalamnya/etc/apt/sources.list
Langkah 1 - Instalasi ZFS
Karena perbaikan terakhir
spl-dkms
benar dilihat sebagaizfs-dkms
ketergantungan sehingga itu dipanggil kembali secara otomatis dan tidak perlu menginstalnya secara manual sebelumnyazfs-dkms
. Link simbolik diperlukan karena bug di dalam distribusi zfs di Debian, yang tidak mencarirm
biner di posisi yang tepat.Langkah 2 - ZFS Restart
Pada titik ini zfs-dkms terinstal tetapi ada kesalahan
journalctl -xe
; untuk memulai zfs dengan benar gunakan:Langkah 3 - ANDA HARUS MENCIPTAKAN SETIDAKNYA ZPOOL
Pada titik ini saya menemukan bahwa ANDA harus membuat zpool sebelum reboot jika tidak, zfs tidak akan memuat modul yang tepat jika tidak ada zpool. Ini semacam mekanisme penghematan sumber daya (tetapi bahkan dalam kasus ini ini masih akan memasukkan kesalahan ke dalam
journalctl -xe
)https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864348
Jika Anda melewatkan bagian ini, Anda harus mulai dari Langkah 2
Misalnya, dengan menggunakan contoh yang disediakan oleh @cas, Anda dapat membuat zpool berbasis file ini atau secara langsung membuat yang berbasis disk.
kemudian setelah
reboot
semuanya akan berfungsi tanpa ada kesalahan dalamjournalctl -xe
sumber
Sedikit variasi untuk saya di Debian 9.4 - setelah penambahan sumber Apt:
Gunung TIDAK hadir mendesah - menemukan bahwa ada yang ada
/var/jeff
dengan konten - memindahkan itu keluar dari jalan dan melakukanreboot
...Setelah reboot:
Hore - semua hadir dan dilindungi sedikit-busuk :)
sumber
/dev/disk/by-id/?
daripada/dev/sd?
perangkat. Baik menggunakan nama id saat membuat kumpulan, atau memperbaikinya nanti denganzpool export <pool>
diikuti olehzpool import -d /dev/disk/by-id/ <pool>
. Nama-nama ini, tidak seperti / dev / sd *, AKAN bertahan di seluruh reboot. Juga, jika Anda memiliki printer label, Anda dapat mencetak label dengan versi pendek dari nama perangkat by-id (biasanya ada bagian nomor seri dari nama yang membuat label yang bagus, pendek, unik) dan label drive untuk membuatnya. mudah diidentifikasi jika mereka perlu diganti.lsblk -f
sebelum bermain-main dengan perangkat keras drive - untuk server produksi kami alat hdd blink Dell berguna dalam menghubungkan os saat ini. alias ke unit fisik :) - Saya pikir / dev / disk / by-id lebih berguna untuk sistem pemasangan lain yang tidak memiliki konsistensi bawaan ZFS - mis. fstab.zpool
perintah sepertistatus
danlist
, yang dapat dengan mudah disalin-tempel ke perintah zpool offline / detach / replace / etc / perintah yang diperlukan.sda
tidak memberitahumu sesuatu yang berguna.ata-ST4000VN008-2DR166_ZDH35XXX
mengidentifikasi persis jenis drive itu dan nomor serinya. Anda masih bisa mendapatkan (saat ini) nama dev pendek jika Anda pernah ingin mereka menggunakan-L
pilihan denganzpool list
,zpool status
, dll (dalam pengalaman saya, sebagian besar berguna denganzpool list -L -v
).Saya baru saja membuat VM stretch baru untuk menguji ini. Pemasangan minimal (hanya ssh dan alat sistem standar), edit sources.list untuk menambahkan contrib dan tidak bebas, lalu:
Anda mungkin juga ingin menginstal secara manual
zfsutils-linux
. Itu harus diinstal secara otomatis ketika Anda menginstalzfs-dkms
tetapi dependensi dapat bervariasi untuk rilis Debian yang berbeda dan untuk versi berbeda dari paket Debian ZoL:Sepertinya ada bug dalam file unit systemd untuk
zfs-share
. Itu mencoba untuk menjalankan/usr/bin/rm
bukannya/bin/rm
.Perbaikan cepat adalah menjalankan
ln -s /bin/rm /usr/bin
, atau sebagai alternatif:dan kemudian restart layanan zfs:
CATATAN: Saya berlari secara manual
modprobe zfs
sebelum memulai kembali salah satu layanan zfs. Saya tidak yakin apakah mereka akan melakukannya secara otomatis atau tidak, jadi Anda mungkin perlu melakukannya juga.BTW, Anda mungkin juga ingin
apt-get install zfs-initramfs
, untuk memastikan bahwa zf dimuat selama initramfs.Saya menguji apakah ini berfungsi dengan:
Zpool berfungsi dan / tank diautomatiskan setelah reboot.
Kesimpulan: berfungsi sekarang.
BTW, VM ini menggunakan ZFS zvol yang dibuat di
sid
sistem utama saya sebagai disk-nya. Saya membuat snapshot jika segera setelah instalasi awal, sebelum menginstal spl-dkms dan zfs-dkms sehingga saya dapat dengan cepat mengembalikan dan memulai lagi jika ada masalah besar.Saya pertama kali membuat zvol dengan hanya 1GB dan perlu meningkatkannya nanti untuk memiliki ruang yang cukup untuk build-essential, linux-header-amd64 dll:
pengaturan
compression=lz4
pada tangki di VM mungkin lebih buruk daripada tidak berguna - zvol sudah memiliki kompresi lz4 di atasnya.sumber