Pengenalan kepada Sistem Fail Z (ZFS) untuk Linux
ZFS biasanya digunakan oleh pencipta data, pencinta NAS, dan geeks lain yang lebih memilih untuk meletakkan kepercayaan mereka pada sistem storan yang berlebihan daripada mereka sendiri dan bukan awan. Ia adalah sistem fail yang hebat untuk digunakan untuk menguruskan pelbagai cakera data dan menyaingi beberapa tetapan RAID yang paling besar.
Gambar oleh Kenny Louie.
Apakah ZFS dan Kenapa Saya Perlu Gunakannya?
Sistem fail Z adalah pengurus kelantangan logis bebas sumber terbuka yang dibina oleh Sun Microsystems untuk digunakan dalam sistem operasi Solaris mereka. Antara ciri yang paling menarik termasuk:
Skala tidak berkesudahan
Nah, tidak secara teknikal tidak berkesudahan, tetapi ia adalah sistem fail 128-bit yang mampu menguruskan zettabytes (satu bilion terabytes) data. Tidak kira berapa banyak ruang cakera keras yang anda miliki, ZFS akan sesuai untuk menguruskannya.
Integriti maksimum
Semua yang anda lakukan di dalam ZFS menggunakan checksum untuk memastikan integriti fail. Anda boleh yakin bahawa fail dan salinan berlebihan mereka tidak akan menemui rasuah data senyap. Juga, sementara ZFS sedang sibuk dengan senyap memeriksa data anda untuk integriti, ia akan melakukan pembaikan automatik pada bila-bila masa.
Drive pooling
Pencipta ZFS ingin anda memikirkannya sebagai serupa dengan cara komputer anda menggunakan RAM. Apabila anda memerlukan lebih banyak ingatan pada komputer anda, anda masukkan ke dalam tongkat lain dan anda selesai. Begitu juga dengan ZFS, apabila anda memerlukan lebih banyak ruang cakera keras, anda memasukkan satu lagi cakera keras dan anda sudah selesai. Tidak perlu menghabiskan masa pembahagian, pemformatan, permulaan, atau melakukan apa-apa lagi ke cakera anda - apabila anda memerlukan "kolam renang" yang lebih besar, tambah cakera.
RAID
ZFS mampu banyak peringkat RAID yang berbeza, sementara menyampaikan prestasi yang setanding dengan pengendali RAID perkakasan. Ini membolehkan anda menjimatkan wang, membuat persediaan lebih mudah, dan mempunyai akses kepada tahap RAID yang lebih baik yang ZFS telah bertambah baik.
Memasang ZFS
Oleh kerana kami hanya meliputi asas-asas dalam panduan ini, kami tidak akan memasang ZFS sebagai sistem fail root. Bahagian ini menganggap bahawa anda menggunakan ext4 atau beberapa sistem fail lain dan ingin menggunakan ZFS untuk beberapa pemacu keras sekunder. Berikut ialah arahan untuk memasang ZFS pada beberapa pengedaran Linux yang paling popular.
Solaris dan FreeBSD sepatutnya telah dipasang dengan ZFS dan sedia untuk digunakan.
Ubuntu:
$ sudo add-apt-repository ppa: zfs-native / stable
$ sudo apt-get update
$ sudo apt-get install ubuntu-zfs
Debian:
$ su -
# wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
# dpkg -i zfsonlinux_2 ~ wheezy_all.deb
# apt-get update
# apt-get install debian-zfs
RHEL / CentOS:
$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
$ sudo yum install zfs
Jika anda mempunyai beberapa pengedaran lain, lihat zfsonlinux.org dan klik pada pengedaran anda di bawah senarai "Paket" untuk arahan tentang cara memasang ZFS.
Semasa kami meneruskan panduan ini, kami akan menggunakan Ubuntu kerana ia seolah-olah menjadi pilihan # 1 untuk geeks Linux. Anda masih boleh mengikuti apa sahaja, kerana arahan ZFS tidak akan berubah mengikut pengagihan yang berbeza.
Pemasangan mengambil masa yang agak lama, tetapi apabila selesai, jalankan $ sudo zfs list
untuk memastikan ia dipasang dengan betul. Anda perlu mendapat output seperti ini:
Kami menggunakan pemasangan pelayan Ubuntu baru sekarang, dengan hanya satu cakera keras.
Konfigurasi ZFS
Kini, katakan kami meletakkan enam lagi cakera keras ke dalam komputer kami.
$ sudo fdisk -l | Kesalahan grep
akan menunjukkan kepada kami enam cakera keras yang baru kami pasang. Mereka kini tidak dapat digunakan kerana mereka tidak mengandungi apa-apa jenis jadual partition.
Seperti yang telah disebutkan sebelumnya, salah satu perkara yang menarik tentang ZFS ialah kita tidak perlu mengganggu partisyen (walaupun anda boleh jika anda mahu). Mari kita mulakan dengan mengambil tiga cakera keras kita dan meletakkannya di dalam kolam penyimpanan dengan menjalankan arahan berikut:
$ sudo zpool create -f geek1 / dev / sdb / dev / sdc / dev / sdd
zpool buat
adalah perintah yang digunakan untuk membuat kolam penyimpanan baru, -f
mengatasi apa-apa ralat yang berlaku (seperti jika cakera (s) sudah mempunyai maklumat tentangnya), geek1
adalah nama kolam simpanan, dan / dev / sdb / dev / sdc / dev / sdd
adalah pemacu keras yang kami letakkan di dalam kolam.
Selepas anda mencipta kolam anda, anda sepatutnya dapat melihatnya dengan df
perintah atau senarai sudo zfs
:
Seperti yang anda lihat, / geek1 telah dipasang dan sedia untuk digunakan.
Jika anda ingin melihat tiga cakera yang anda pilih untuk kolam anda, anda boleh lari status zpool sudo
:
Apa yang telah kami lakukan sejauh ini ialah mencipta kolam jalur dinamik 9 TB (berkesan, RAID 0). Sekiranya anda tidak biasa dengan apa yang dimaksudkan, bayangkan kami mencipta fail 3 KB pada / geek1. 1 KB secara automatik akan pergi ke sdb, 1 KB ke sdc, dan 1 KB ke sdd. Kemudian apabila kita pergi untuk membaca fail 3 KB, setiap cakera keras akan membentangkan 1 KB kepada kami, menggabungkan kelajuan tiga pemacu. Ini menjadikan data penulisan dan membaca cepat, tetapi juga bermakna kita mempunyai titik kegagalan tunggal. Jika hanya satu cakera keras gagal, kami akan kehilangan fail 3 KB kami.
Dengan mengandaikan bahawa melindungi data anda lebih penting daripada mengaksesnya dengan cepat, mari kita lihat pada pembuatan popular yang lain. Pertama, kami akan memadamkan zpool yang telah kami buat supaya kami dapat menggunakan cakera ini dalam persediaan yang lebih berlebihan:
$ sudo zpool memusnahkan geek1
Bam, zpool kami hilang. Kali ini, mari kita gunakan tiga cakera kami untuk membuat kolam RAID-Z. RAID-Z pada dasarnya adalah versi RAID 5 yang lebih baik, kerana ia menghindari "menulis lubang" dengan menggunakan copy-on-write. RAID-Z memerlukan sekurang-kurangnya tiga cakera keras, dan semacam kompromi antara RAID 0 dan RAID 1. Dalam kolam RAID-Z, anda masih akan mendapat kelajuan striping level blok tetapi juga akan mengagihkan pariti. Sekiranya cakera tunggal di dalam kolam anda mati, hanya ganti cakera itu dan ZFS secara automatik akan membina semula data berdasarkan maklumat pariti dari cakera yang lain. Untuk kehilangan semua maklumat di dalam kolam penyimpanan anda, dua cakera akan mati. Untuk membuat perkara lebih berlebihan, anda boleh menggunakan RAID 6 (RAID-Z2 dalam hal ZFS) dan mempunyai paritas ganda.
Untuk mencapai ini, kita boleh menggunakannya zpool buat
arahan seperti sebelum ini tetapi nyatakan raidz
selepas nama kolam:
$ sudo zpool create -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd
Seperti yang anda boleh lihat, df -h
menunjukkan bahawa kolam 9 TB kami telah dikurangkan kepada 6 TB, sejak 3 TB digunakan untuk memegang maklumat pariti. Dengan status zpool
Perintah, kita lihat bahawa kolam kami kebanyakannya sama seperti sebelumnya, tetapi menggunakan RAID-Z sekarang.
Untuk menunjukkan betapa mudahnya untuk menambah lebih banyak cakera ke kolam penyimpanan kami, mari tambahkan tiga cakera lain (9 TB lain) ke kolam penyimpanan geek1 kami sebagai konfigurasi RAID-Z yang lain:
$ sudo zpool add -f geek1 raidz / dev / sde / dev / sdf / dev / sdg
Kami berakhir dengan:
The Saga Continues ...
Kami hampir tidak mengikis permukaan ZFS dan keupayaannya, tetapi menggunakan apa yang telah anda pelajari dalam artikel ini, kini anda seharusnya dapat mencipta kolam penyimpanan data yang berlebihan. Semak kembali dengan kami untuk artikel masa depan mengenai ZFS, lihat halaman lelaki, dan cari sekitar untuk panduan niche yang tidak berkesudahan dan video Youtube yang meliputi fungsi ZFS.