OpenZFS: Panduan menggunakan DigitalOcean
Anda mungkin pernah mendengar berkali-kali bahawa ZFS adalah sistem fail kelas perusahaan yang bertujuan untuk mengendalikan sejumlah besar data dalam tatasusunan yang rumit. Secara semula jadi, ini akan membuat mana-mana pendatang baru berfikir bahawa mereka tidak seharusnya (atau tidak dapat) bermain-main dengan teknologi seperti itu.
Tidak ada yang lebih jauh dari kebenaran. ZFS adalah salah satu daripada beberapa perisian di luar sana yang hanya berfungsi. Di luar kotak, tanpa penyesuaian, ia melakukan semua perkara yang diiklankan - Dari pemeriksaan integriti data hingga konfigurasi RAIDZ. Ya, ada pilihan penyesuaian yang tersedia, dan seseorang dapat menyelidikinya jika diperlukan. Tetapi untuk pemula, lalai berfungsi dengan baik.
Batasan yang mungkin anda hadapi adalah perkakasan. Meletakkan beberapa cakera dalam pelbagai konfigurasi bermakna anda mempunyai banyak cakera yang boleh digunakan! Di situlah DigitalOcean (DO) datang untuk menyelamatkan.
Catatan: Sekiranya anda sudah biasa dengan DO dan cara mengatur kunci SSH, anda boleh melangkau terus ke bahagian perbincangan ZFS. Apa yang ditunjukkan oleh dua bahagian seterusnya adalah cara menyediakan VM di DigitalOcean dan melampirkan peranti blok dengannya
Pengenalan DigitalOcean
Secara sederhana, DigitalOcean adalah penyedia perkhidmatan awan di mana anda boleh memutar mesin maya agar aplikasi anda dapat berjalan. Anda mendapat jumlah lebar jalur yang tidak waras dan semua storan SSD untuk menjalankan aplikasi anda. Ia disasarkan kepada pembangun dan bukan pengendali, sebab itulah UI jauh lebih mudah dan senang difahami.
Selain itu, ia dikenakan setiap jam, yang bermaksud anda boleh mengerjakan pelbagai konfigurasi ZFS selama beberapa jam, menghapus semua VM dan storan setelah anda berpuas hati, dan bil anda tidak akan melebihi lebih dari beberapa dolar.
Kami akan menggunakan dua ciri di DigitalOcean untuk tutorial ini:
- Titisan-titisan: Titisan adalah kata mereka untuk mesin maya, menjalankan sistem operasi dengan IP awam yang statik. OS pilihan kami adalah Ubuntu 16.04 LTS.
- Penyimpanan Sekatan: Penyimpanan blok serupa dengan cakera yang dilekatkan ke komputer anda. Kecuali, di sini anda dapat menentukan saiz dan bilangan cakera yang anda mahukan.
Daftar ke DigitalOcean jika anda belum melakukannya.
Untuk log masuk ke Mesin Maya anda ada dua cara, salah satunya ialah menggunakan konsol (yang mana kata laluan akan dihantar melalui e-mel kepada anda) atau anda boleh menggunakan pilihan kunci SSH.
Penyediaan SSH asas
MacOS dan pengguna UNIX lain yang mempunyai terminal di desktop mereka dapat menggunakannya untuk SSH ke dalam titisannya (klien SSH dipasang secara lalai pada semua hampir semua Unices) dan pengguna Windows mungkin ingin memuat turun Git Bash.
Setelah anda berada di terminal, masukkan arahan berikut:
$ mkdir -p ~ /.ssh$ cd ~ /.ssh
$ ssh-keygen -y -f YourKeyName
Ini akan menghasilkan dua fail dalam ~ /.ssh direktori, yang bernama YourKeyName yang anda perlukan untuk menjaga keselamatan dan privasi sepanjang masa. Ini adalah kunci peribadi anda. Ia akan menyulitkan mesej sebelum anda menghantarnya ke pelayan, dan akan menyahsulitkan mesej yang dihantar oleh pemutus kepada anda. Seperti namanya, kunci peribadi dimaksudkan untuk dirahsiakan setiap saat.
Fail lain dibuat bernama NamaKamu.pub dan ini adalah kunci awam anda yang akan anda berikan kepada DigitalOcean semasa anda membuat Droplet. Ia menangani penyulitan dan penyahsulitan mesej di pelayan, seperti kunci peribadi pada mesin tempatan anda.
Membuat Titisan pertama anda
Setelah mendaftar untuk DO anda sudah bersedia untuk membuat Titisan pertama anda. Ikuti langkah berikut:
1. Klik pada butang buat di sudut kanan atas dan pilih Titisan pilihan.
2. Halaman seterusnya akan membolehkan anda menentukan spesifikasi Droplet anda. Kami akan menggunakan Ubuntu.
3. Pilih ukuran, walaupun pilihan $ 5 / bln berfungsi untuk percubaan kecil.
4. Pilih pusat data yang paling dekat dengan anda, untuk latensi rendah. Anda boleh melangkau pilihan tambahan yang lain.
Catatan: Jangan tambahkan jilid sekarang. Kami akan menambahkannya kemudian demi kejelasan.
5. Klik pada Kekunci SSH baru dan salin semua kandungan NamaKamu.pub ke dalamnya dan beri nama. Sekarang klik sahaja Buat dan Titisan anda selamat digunakan.
6. Dapatkan alamat IP Droplet anda dari papan pemuka.
7. Sekarang anda boleh SSH, sebagai pengguna root, ke Droplet anda, dari terminal anda menggunakan arahan:
$ ssh root @ 138.68.97.47 -i ~ /.ssh / NamaKamuJangan menyalin arahan di atas kerana alamat IP anda akan berbeza. Sekiranya semuanya berfungsi dengan betul, anda akan menerima mesej selamat datang di terminal anda dan anda akan log masuk ke pelayan jauh anda.
Menambah Penyimpanan Blok
Untuk mendapatkan senarai peranti penyimpanan blok di VM anda, di terminal gunakan arahan:
$ lsblk
Anda hanya akan melihat satu cakera yang dipartisi menjadi tiga blok peranti. Ini adalah pemasangan OS dan kami tidak akan bereksperimen dengannya. Kami memerlukan lebih banyak peranti storan untuk itu.
Untuk itu pergi ke papan pemuka DigitalOcean anda klik Csemula butang seperti yang anda lakukan pada langkah pertama dan pilih pilihan kelantangan. Lekatkannya ke Titisan Anda dan beri nama yang sesuai. Tambahkan tiga jilid seperti itu dengan mengulangi langkah ini dua kali lagi.
Sekarang jika anda kembali ke terminal anda dan taipkan lsblk, anda akan melihat entri baru ke senarai ini. Dalam tangkapan skrin di bawah, terdapat 3 cakera baru yang akan kita gunakan untuk menguji ZFS.
Sebagai langkah terakhir, sebelum masuk ke ZFS, anda harus melabel disk anda terlebih dahulu di bawah skema GPT. ZFS berfungsi paling baik dengan skema GPT, tetapi penyimpanan blok yang ditambahkan ke titisan anda mempunyai label MBR di atasnya. Perintah berikut menyelesaikan masalah dengan menambahkan label GPT ke peranti blok anda yang baru dilampirkan.
$ sudo berpisah / dev / sda mklabel gptCatatan: Ia tidak membahagi peranti blok, ia hanya menggunakan utiliti 'berpisah' untuk memberikan ID Unik Dunia (GUID) ke peranti blok. GPT bermaksud Jadual Partisi GUID dan ia menjejaki setiap cakera atau partisi dengan label GPT di atasnya.
Ulangi perkara yang sama untuk sdb dan sdc.
Sekarang kita sudah bersedia untuk menggunakan OpenZFS dengan pemacu yang cukup untuk bereksperimen dengan susunan yang berbeza.
Zpool dan VDEV
Untuk memulakan dengan membuat Zpool pertama anda. Anda harus memahami apa itu peranti Maya dan apa tujuannya.
Peranti Maya (atau Vdev) boleh menjadi cakera tunggal atau sekumpulan cakera yang terdedah sebagai satu peranti ke zpool. Sebagai contoh, ketiga-tiga peranti 100GB yang dibuat di atas sda, sdb dan sdc semuanya boleh menjadi vdev mereka sendiri dan anda boleh membuat zpool, bernama tangki, daripadanya yang akan mempunyai kapasiti penyimpanan 3 cakera yang digabungkan iaitu 300GB
Pasang ZFS pertama untuk Ubuntu 16.04:
$ zpool buat tangki sda sdb sdc
tangki status $ zpool
Data anda tersebar di ketiga-tiga cakera, secara merata, dan jika ada yang gagal, semua data anda akan hilang. Seperti yang anda lihat di atas, cakera adalah vdev itu sendiri.
Tetapi anda juga boleh membuat zpool di mana ketiga disk saling meniru, yang dikenali sebagai mirroring.
Hancurkan kolam pertama yang dibuat sebelumnya:
$ zpool memusnahkan tangkiUntuk membuat vdev bercermin kita akan menggunakan kata kunci cermin:
$ zpool buat tangki cermin sda sdb sdc
Sekarang, jumlah simpanan yang ada hanya 100 GB (penggunaan senarai zpool untuk melihatnya) tetapi sekarang kita dapat bertahan hingga dua pemacu kegagalan dalam vdev cermin-0.
Apabila anda kehabisan ruang dan ingin menambahkan lebih banyak storan ke kolam anda, anda perlu membuat tiga jilid lagi di DigitalOcean dan mengulangi langkah-langkah di Menambah Penyimpanan Blok lakukan dengan 3 lagi blok peranti yang akan muncul sebagai vdev cermin-1. Anda boleh melangkau langkah ini buat masa ini, ketahuilah bahawa ia boleh dilakukan.
$ zpool tambah tangki cermin sde sdf sdgTerakhir, terdapat konfigurasi raidz1 yang dapat digunakan untuk mengelompokkan tiga atau lebih cakera di setiap vdev dan dapat bertahan dari kegagalan 1 cakera per vdev dan memberikan jumlah penyimpanan 200GB yang tersedia.
$ zpool memusnahkan tangki$ zpool buat tangki menyerangz1 sda sdb sdc
Sementara senarai zpool menunjukkan kapasiti bersih simpanan mentah, senarai zfs dan df -h arahan menunjukkan penyimpanan sebenar zpool yang ada. Jadi, adalah idea yang baik untuk memeriksa storan yang ada menggunakan senarai zfs perintah.
Kami akan menggunakannya untuk membuat set data.
Set data dan pemulihan
Secara tradisional, kami biasa memasang sistem fail seperti / home, / usr dan / temp ke dalam partisi yang berlainan dan ketika kehabisan ruang seseorang harus menambahkan symlink ke peranti storan tambahan yang ditambahkan ke sistem.
Dengan zpool tambah anda boleh menambah cakera ke kolam yang sama dan ia terus berkembang mengikut keperluan anda. Anda kemudian boleh membuat set data, yang merupakan istilah zfs untuk sistem fail, seperti / usr / home dan banyak lagi yang kemudian tinggal di zpool dan berkongsi semua storan yang disediakan untuk mereka.
Untuk membuat set data zfs di kolam tangki gunakan arahan:
$ zfs membuat tangki / set data1senarai $ zfs
Seperti yang telah disebutkan sebelumnya, kumpulan raidz1 dapat menahan kegagalan hingga satu cakera. Oleh itu mari kita uji itu.
$ zpool tangki luar talian sda
Sekarang kolam di luar talian, tetapi tidak semua hilang. Kita boleh menambah jumlah lain, sdd, menggunakan DigitalOcean dan memberikannya label gpt seperti sebelumnya.
Bacaan lanjut
Kami menggalakkan anda untuk mencuba ZFS dan pelbagai ciri yang anda mahukan, pada masa lapang. Pastikan untuk menghapus semua jilid dan titisan, setelah selesai, untuk mengelakkan pengebilan yang tidak dijangka pada akhir bulan.
Anda boleh mengetahui lebih lanjut mengenai terminologi ZFS di sini.