ZFS

Pelayan NFS yang disokong OpenZFS Bahagian 1 - Membuat Pelayan

Pelayan NFS yang disokong OpenZFS Bahagian 1 - Membuat Pelayan
Sekiranya anda biasa dengan OpenZFS, anda tahu semua tentang antarmuka yang kaya dengan ciri, seni bina fleksibel, checksum yang boleh dipercayai dan mekanisme COW. Mungkin anda juga menginginkannya di desktop anda, tetapi anda tidak mahu memformat semula cakera dan partisi anda yang ada. Mungkin, anda masih menggunakan Windows 10, yang belum menyokong OpenZFS. Baiklah dalam catatan blog ini, saya akan membincangkan bagaimana anda boleh membuat Sistem Fail Rangkaian, atau NFS, berjalan di pelayan yang terpisah. Peranti NFS ini kemudian boleh dipasang di stesen kerja desktop anda. Dengan cara ini anda dapat memperoleh kebolehpercayaan dan ketahanan ZFS dengan keramahan OS Desktop kegemaran anda, kerana NFS tersedia di semua platform.

Saya akan memperincikan penciptaan titik pemasangan NFS pada klien Windows 10 dalam Bahagian 2 siri ini. Buat masa ini mari fokus pada pelayan Ubuntu yang menawarkan simpanan NFS dan pelanggan Ubuntu yang cuba menyambung ke sana.

Persediaan

Pelayan NFS saya akan berasaskan Ubuntu 18.04 LTS. Anda boleh menggunakan distro Linux kegemaran anda atau FreeBSD, atau OS lain yang menyokong OpenZFS. Sebab saya menggunakan Ubuntu 18.04 adalah bahawa ia cukup popular dan akan mengurangkan halangan masuk.

NFS sepatutnya hanya tersedia di LAN saya yang mempunyai subnet mask 255.255.255.0 dan 192.168.0.1 sebagai pintu masuk lalai. Dalam bahasa Inggeris biasa, ini bermaksud bahawa semua peranti yang disambungkan ke rangkaian rumah saya (WiFi dan Ethernet, et al) akan mempunyai alamat IP antara 192.168.0.2 hingga 192.168.0.254.

Pelayan NFS akan dikonfigurasi untuk membenarkan hanya peranti dengan alamat IP yang disebutkan di atas sahaja yang dapat mengakses pelayan NFS. Ini akan memastikan bahawa hanya peranti yang telah menyambung ke LAN saya yang mengakses fail saya dan dunia luar tidak dapat mengaksesnya. Sekiranya anda mempunyai persediaan 'Wifi terbuka' atau jika keselamatan di titik akhir penghala anda meragukan, ini tidak akan menjamin keselamatan.

Saya tidak akan mengesyorkan menjalankan NFS melalui internet awam tanpa langkah keselamatan tambahan.

Terakhir, arahan yang dijalankan di pelayan NFS mempunyai arahan, pelayan $ dan perintah yang akan dijalankan di sisi klien mempunyai pelanggan yang cepat $

Membuat kumpulan dan Dataset OpenZFS

1. Membuat zpool

Sekiranya anda sudah mempunyai zpool dan berjalan, langkau langkah ini. Pada pelayan NFS saya, yang menjalankan Ubuntu 18.04 pelayan LTS, saya mula-mula memasang OpenZFS.

pelayan $ sudo apt pasangkan zfsutils-linux

Seterusnya kami akan menyenaraikan semua peranti blok yang tersedia, untuk melihat cakera baru (dan partisi) yang menunggu untuk diformat dengan zfs.

$ lsblk
NAMA MAJ: MIN RM SAIZ RO JENIS MOUNTPOINT
gelung0 7: 0 0 89.Gelung 5M 1 / snap / inti / 6130
gelung1 7: 1 0 86.Gelung / snap / teras 9M 1/4917
gelung2 7: 2 0 91.Gelung 1M / snap / teras / 6259 1M
sda 8: 0 0 50G 0 cakera
├─sda1 8: 1 0 1M 0 bahagian
└─sda2 8: 2 0 50G 0 bahagian /
sdb 8:16 0 931G 0 cakera
sdc 8:32 0 931G 0 cakera
sr0 11: 0 1 1024M 0 rom

Contoh biasa ditunjukkan di atas, tetapi konvensyen penamaan anda mungkin sangat berbeza. Anda harus menggunakan pertimbangan anda sendiri, dan sangat berhati-hati mengenainya. Anda tidak mahu memformat cakera OS anda secara tidak sengaja. Sebagai contoh, partisi sda1 jelas mempunyai sistem fail root sebagai titik pemasangannya sehingga tidak bijak untuk menyentuhnya. Sekiranya anda menggunakan cakera baru, kemungkinan mereka tidak mempunyai titik pemasangan atau partition apa pun.

Setelah anda mengetahui nama peranti anda, kami akan menggunakan perintah buat zpool untuk memformat beberapa peranti blok ini (disebut sdb dan sdc) menjadi zpool dengan vdev tunggal yang terdiri daripada dua cakera cermin.

pelayan $ sudo zpool buat tangki cermin sdb sdc
pelayan $ sudo status tangki zpool
tangki status zpool
kolam: tangki
nyatakan: ONLINE
imbasan: tiada yang diminta
konfigurasi:
NAMA NEGERI BACA MENULIS CKSUM
tangki ONLINE 0 0 0
cermin-0 ONLINE 0 0 0
sdb ONLINE 0 0 0
sdc ONLINE 0 0 0
ralat: Tidak ada ralat data yang diketahui

Melangkah ke hadapan, anda boleh menambah cakera dalam set dua (disebut vdev) untuk mengembangkan ukuran zpool ini, cakera baru akan muncul sebagai cermin-1, cermin-2 dan lain-lain. Anda tidak perlu membuat zpool anda seperti yang saya lakukan, anda boleh menggunakan mirroring dengan lebih banyak disk, anda boleh menggunakan striping tanpa kelebihan tetapi prestasi yang lebih baik, atau anda boleh menggunakan RAIDZ. Anda boleh mengetahui lebih lanjut mengenainya di sini.

Pada penghujung hari, yang penting ialah kami telah membuat tangki bernama zpool. Setelah itu NFS yang dikongsi akan disiarkan. Mari buat set data yang akan dikongsi. Mula-mula pastikan kolam yang dinamakan 'tangki' dipasang. Titik pemasangan lalai adalah '/ tangki' .

pelayan $ sudo zfs mount tank
pelayan $ sudo zfs buat tangki / nfsshare #ciptakan set data baru di atas kolam

Menetapkan Kebenaran

Semasa berkongsi direktori NFS, superuser pada sistem pelanggan tidak mempunyai akses kepada apa-apa yang ada di bahagian tersebut. Walaupun pengguna sisi pelanggan mampu melakukan apa sahaja pada mesin pelanggan, pemasangan NFS secara teknikal bukan merupakan bahagian mesin pelanggan. Oleh itu, membenarkan operasi bagi pihak pengguna super-sisi yang dipetakan sebagai pelayan sisi pelayan boleh mengakibatkan masalah keselamatan. Secara lalai, NFS memetakan tindakan superuser sisi klien kepada sesiapa sahaja: pengguna dan kumpulan pengguna nogroup. Sekiranya anda bermaksud mengakses fail yang dipasang sebagai root, maka set data di pelayan NFS kami juga harus mempunyai kebenaran yang sama,

pelayan $ sudo chown tiada siapa: nogroup / tank / nfsshare

Pelayan NFS akan menjalankan apa-apa tindakan oleh root sisi klien sebagai pengguna tidak ada, jadi kebenaran di atas akan membolehkan operasi dijalankan.

Sekiranya anda menggunakan nama pengguna (biasa) yang lain, selalunya mudah untuk mempunyai pengguna dengan nama pengguna tepat yang sama di kedua-dua belah pihak.

Membuat bahagian NFS

Sebaik sahaja anda membuat Zpool, anda harus memasang pakej pelayan nfs dari pengurus pakej anda:

pelayan $ sudo apt pasang nfs-kernel-server

Secara tradisinya, pelayan NFS menggunakan / etc / export file untuk mendapatkan senarai pelanggan yang diluluskan dan fail yang akan mereka akses. Walau bagaimanapun, kami akan menggunakan ciri dalaman ZFS untuk mencapai yang sama.

Cukup gunakan arahan:

pelayan $ sudo zfs tetapkan sharenfs = "on" / tank / nfsshare

Sebelumnya, saya menyinggung hanya memberi akses kepada IP tertentu. Anda boleh melakukannya seperti berikut:

pelayan $ sudo zfs set sharenfs = "[dilindungi e-mel] / 24" tangki / nfsshare

'Rw' bermaksud kebenaran baca-tulis, dan diikuti oleh rangkaian IP. Pastikan nombor port 111 dan 2049 terbuka di firewall anda. Sekiranya anda menggunakan ufw, anda boleh memeriksanya dengan menjalankan:

status $ ufw pelayan

Buat nota IP pelayan anda di LAN, dengan menggunakan perintah ifconfig atau ip addr. Mari namakannya sebagai pelayan.ip

Pemasangan Sisi Pelanggan

Setelah bahagian dibuat, anda boleh memasangnya di mesin pelanggan anda, dengan menjalankan perintah:

pelanggan $ mount -t nfs pelayan.ip: / tank / nfsshare / mnt

Ini akan memasangkan folder NFS pada folder / mnt tetapi anda boleh dengan mudah memilih titik pemasangan lain pilihan anda.

Kesimpulannya

Perkongsian fail mungkin merupakan aspek terpenting dalam pentadbiran sistem. Ini meningkatkan pemahaman anda mengenai timbunan storan, rangkaian, izin pengguna dan hak istimewa. Anda akan dengan cepat menyedari betapa pentingnya Principle of Least Privilege - Maksudnya, hanya memberi pengguna akses paling minimum yang diperlukan untuk tugasnya.

Anda juga akan belajar mengenai interoperabiliti antara sistem operasi yang berbeza. Pengguna Windows boleh mengakses fail NFS, begitu juga pengguna Mac dan BSD. Anda tidak boleh membataskan diri anda pada satu OS ketika berurusan dengan rangkaian mesin yang semuanya mempunyai konvensi dan bahasa biasa mereka sendiri. Oleh itu, teruskan dan bereksperimen dengan bahagian NFS anda. Saya harap anda belajar sesuatu.

Cara Memasang dan Memainkan Doom di Linux
Pengenalan Doom Seri Doom berasal dari tahun 90an selepas pembebasan Doom yang asal. Ini adalah hit seketika dan sejak saat itu dan seterusnya siri pe...
Vulkan untuk Pengguna Linux
Dengan setiap kad grafik generasi baru, kami melihat pembangun permainan mendorong had kesetiaan grafik dan semakin dekat dengan fotorealisme. Tetapi ...
OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...