ZFS

Tutorial Langsung ZFS DigitalOcean

Tutorial Langsung ZFS DigitalOcean

OpenZFS: Panduan praktis menggunakan DigitalOcean

Anda mungkin pernah mendengar beberapa kali bahwa ZFS adalah sistem file kelas perusahaan yang dimaksudkan untuk menangani data dalam jumlah besar dalam susunan yang rumit. Tentu, ini akan membuat setiap pendatang baru berpikir bahwa mereka tidak boleh (atau tidak bisa) mencoba-coba teknologi seperti itu.

Tidak ada yang bisa lebih jauh dari kebenaran. ZFS adalah salah satu dari sedikit perangkat lunak di luar sana yang berfungsi. Di luar kotak, tanpa penyesuaian apa pun, ia melakukan semua hal yang diiklankannya - Dari pemeriksaan integritas data hingga konfigurasi RAIDZ. Ya, ada opsi penyesuaian yang tersedia, dan seseorang dapat mempelajarinya jika diperlukan. Tetapi untuk pemula, defaultnya bekerja dengan sangat baik.

Satu-satunya batasan yang mungkin Anda temui adalah perangkat keras. Menempatkan banyak disk dalam berbagai konfigurasi berarti Anda memiliki banyak disk yang tergeletak di sekitar! Di situlah DigitalOcean (DO) datang untuk menyelamatkan.

Catatan: Jika Anda sudah familiar dengan DO dan cara mengatur kunci SSH, Anda dapat langsung melompat ke bagian ZFS dari diskusi. Apa yang ditunjukkan oleh dua bagian berikutnya adalah cara mengatur VM di DigitalOcean dan memasang perangkat blok ke dalamnya dengan

Pengantar DigitalOcean

Sederhananya, DigitalOcean adalah penyedia layanan cloud tempat Anda dapat menjalankan mesin virtual untuk menjalankan aplikasi Anda. Anda mendapatkan jumlah bandwidth yang gila dan semua penyimpanan SSD untuk menjalankan aplikasi Anda your. Ini ditargetkan untuk pengembang dan bukan operator, itulah sebabnya UI jauh lebih sederhana dan lebih mudah dipahami.

Selain itu, mereka mengenakan biaya per jam, yang berarti Anda dapat mengerjakan berbagai konfigurasi ZFS selama beberapa jam, menghapus semua VM dan penyimpanan setelah Anda puas, dan tagihan Anda tidak akan melebihi beberapa dolar.

Kami akan menggunakan dua fitur di DigitalOcean untuk tutorial ini:

  1. Droplet: Droplet adalah kata mereka untuk mesin virtual, menjalankan sistem operasi dengan IP publik statis. Pilihan OS kami adalah Ubuntu 16.04 LTS.
  2. Blok Penyimpanan: Penyimpanan blok mirip dengan disk yang dilampirkan ke komputer Anda. Kecuali, di sini Anda dapat memutuskan ukuran dan jumlah disk yang Anda inginkan.

Daftar ke DigitalOcean jika Anda belum melakukannya.

Untuk masuk ke Mesin Virtual Anda ada dua cara, satu adalah dengan menggunakan konsol (yang kata sandinya dikirim ke email Anda) atau Anda dapat menggunakan opsi kunci SSH.

Pengaturan SSH Dasar

MacOS dan pengguna UNIX lainnya yang memiliki terminal di desktop mereka dapat menggunakannya untuk SSH ke dalam tetesan mereka (klien SSH diinstal secara default di semua hampir semua Unice) dan pengguna Windows mungkin ingin mengunduh Git Bash.

Setelah Anda berada di terminal Anda, masukkan perintah berikut:

$mkdir -p ~/.ssh
$cd ~/.ssh
$ssh-keygen -y -f NamaKeyAnda

Ini akan menghasilkan dua file di ~/.ssh direktori, satu bernama YourKeyName yang Anda butuhkan untuk tetap aman dan pribadi sepanjang waktu. Ini adalah kunci pribadi Anda. Ini akan mengenkripsi pesan sebelum Anda mengirimnya ke server, dan itu akan mendekripsi pesan yang dikirim oleh server kepada Anda kembali. Seperti namanya, kunci pribadi dimaksudkan untuk dirahasiakan setiap saat.

File lain dibuat bernama NamaKunci Anda.pub dan ini adalah kunci publik Anda yang akan Anda berikan ke DigitalOcean saat Anda membuat Droplet. Ini menangani enkripsi dan dekripsi pesan di server, seperti halnya kunci pribadi pada mesin lokal Anda.

Membuat Tetesan pertama Anda

Setelah mendaftar untuk DO, Anda siap untuk membuat Droplet pertama Anda.  Ikuti langkah-langkah di bawah ini:

1. Klik tombol buat di sudut kanan atas dan pilih Tetesan kecil pilihan.

2. Halaman berikutnya akan membiarkan Anda memutuskan spesifikasi Droplet Anda. Kami akan menggunakan Ubuntu.

3. Pilih ukuran, bahkan opsi $5/bln berfungsi untuk eksperimen kecil.

4. Pilih pusat data yang terdekat dengan Anda, untuk latensi rendah. Anda dapat melewatkan sisa opsi tambahan.

Catatan: Jangan tambahkan volume apa pun sekarang. Kami akan menambahkannya nanti demi kejelasan.

5. Klik Kunci SSH baru dan salin semua konten NamaKunci Anda.pub ke dalamnya dan beri nama. Sekarang tinggal klik Membuat dan Tetesan Anda siap digunakan.

6. Dapatkan alamat IP Droplet Anda dari dasbor.

7. Sekarang Anda dapat SSH, sebagai pengguna root, ke dalam Droplet Anda, dari terminal Anda menggunakan perintah:

$ssh [email protected] -aku ~/.ssh/NamaKunci Anda

Jangan salin perintah di atas karena alamat IP Anda akan berbeda. Jika semuanya bekerja dengan benar, Anda akan menerima pesan selamat datang di terminal Anda dan Anda akan masuk ke server jarak jauh Anda.

Menambahkan Penyimpanan Blok

Untuk mendapatkan daftar perangkat penyimpanan blok di VM Anda, di terminal gunakan perintah:

$lsblk

Anda akan melihat hanya satu disk yang dipartisi menjadi tiga perangkat blok. Ini adalah instalasi OS dan kami tidak akan bereksperimen dengan mereka. Kami membutuhkan lebih banyak perangkat penyimpanan untuk itu.

Untuk itu, buka dasbor DigitalOcean Anda, klik Cmakan tombol seperti yang Anda lakukan pada langkah pertama dan pilih opsi volume. Lampirkan ke Droplet Anda dan beri nama yang sesuai. Tambahkan tiga volume seperti itu dengan mengulangi langkah ini dua kali lagi.

Sekarang jika Anda kembali ke terminal Anda dan ketik lsblk, Anda akan melihat entri baru ke daftar ini. Pada tangkapan layar di bawah, ada 3 disk baru yang akan kami gunakan untuk menguji ZFS.

Sebagai langkah terakhir, sebelum masuk ke ZFS, Anda harus terlebih dahulu memberi label pada disk Anda di bawah skema GPT. ZFS bekerja paling baik dengan skema GPT, tetapi penyimpanan blok yang ditambahkan ke tetesan Anda memiliki label MBR. Perintah berikut memperbaiki masalah dengan menambahkan label GPT ke perangkat blok Anda yang baru terpasang.

$ sudo parted /dev/sda mklabel gpt

Catatan: Itu tidak mempartisi perangkat blok, itu hanya menggunakan utilitas 'terpisah' untuk memberikan ID Unik Global (GUID) ke perangkat blok. GPT adalah singkatan dari GUID Partition Table dan itu melacak setiap disk atau partisi dengan label GPT di atasnya.

Ulangi hal yang sama untuk sdb dan SDC.

Sekarang kami siap untuk mulai menggunakan OpenZFS dengan drive yang cukup untuk bereksperimen dengan pengaturan yang berbeda.

Zpools dan VDEVs

Untuk memulai membuat Zpool pertama Anda. Anda harus memahami apa itu perangkat Virtual dan apa tujuannya.

Perangkat Virtual (atau Vdev) dapat berupa disk tunggal atau pengelompokan disk yang diekspos sebagai satu perangkat ke zpool. Misalnya, tiga perangkat 100GB yang dibuat di atas sda, sdb dan sdc semua bisa menjadi vdev sendiri dan Anda dapat membuat zpool, bernama tangki, dari itu yang akan memiliki kapasitas penyimpanan gabungan 3 disk yaitu 300GB
Pertama instal ZFS untuk Ubuntu 16.04:

$apt menginstal zfs
$zpool buat tangki sda sdb sdc
tangki status $zpool

Data Anda tersebar di tiga disk, secara merata, dan jika salah satu disk gagal, semua data Anda hilang your. Seperti yang Anda lihat di atas, disk adalah vdev itu sendiri.

Tetapi Anda juga dapat membuat zpool di mana ketiga disk saling mereplikasi, yang dikenal sebagai mirroring.

Pertama hancurkan kolam yang dibuat sebelumnya:

$zpool menghancurkan tank

Untuk membuat vdev yang dicerminkan, kami akan menggunakan kata kunci cermin:

$zpool membuat cermin tangki sda sdb sdc

Sekarang, jumlah total penyimpanan yang tersedia hanya 100 GB (gunakan daftar zpool untuk melihat itu) tetapi sekarang kita dapat menahan hingga dua drive kegagalan di vdev cermin-0.

Saat Anda kehabisan ruang dan ingin menambahkan lebih banyak penyimpanan ke kolam Anda, Anda harus membuat tiga volume lagi di DigitalOcean dan ulangi langkah-langkah di Menambahkan Penyimpanan Blok lakukan dengan 3 perangkat blok lainnya yang akan muncul sebagai vdev cermin-1. Anda dapat melewati langkah ini untuk saat ini, ketahuilah bahwa itu bisa dilakukan.

$zpool tambahkan cermin tangki sde sdf sdg

Terakhir, ada konfigurasi raidz1 yang dapat digunakan untuk mengelompokkan tiga disk atau lebih di setiap vdev dan dapat bertahan dari kegagalan 1 disk per vdev dan memberikan total penyimpanan yang tersedia sebesar 200GB.

$zpool menghancurkan tank
$zpool buat tank raidz1 sda sdb sdc

Sementara daftar zpool menunjukkan kapasitas bersih dari penyimpanan mentah, daftar zfs dan df -h perintah menunjukkan penyimpanan zpool yang sebenarnya tersedia. Jadi, selalu merupakan ide bagus untuk memeriksa penyimpanan yang tersedia menggunakan daftar zfs perintah.

Kami akan menggunakan ini untuk membuat kumpulan data.

Kumpulan data dan pemulihan

Secara tradisional, kami biasa memasang sistem file seperti /home, /usr dan /temp ke dalam partisi yang berbeda dan ketika kami kehabisan ruang, kami harus menambahkan symlink ke perangkat penyimpanan tambahan yang ditambahkan ke sistem.

Dengan zpool menambahkan Anda dapat menambahkan disk ke kumpulan yang sama dan terus bertambah sesuai kebutuhan Anda. Anda kemudian dapat membuat kumpulan data, yang merupakan istilah zfs untuk sistem file, seperti /usr/home dan banyak lainnya yang kemudian hidup di zpool dan membagikan semua penyimpanan yang tersedia untuk mereka.

Untuk membuat kumpulan data zfs di kumpulan tangki gunakan perintah:

$zfs membuat tangki/set data1
daftar $zfs

Seperti disebutkan sebelumnya, kumpulan raidz1 dapat menahan kegagalan hingga satu disk. Jadi mari kita uji itu.

$ zpool tangki offline sda

Sekarang kolam sedang offline, tetapi tidak semuanya hilang. Kami dapat menambahkan volume lain, SD, menggunakan DigitalOcean dan memberinya label gpt seperti sebelumnya.

Bacaan lebih lanjut

Kami mendorong Anda untuk mencoba ZFS dan berbagai fiturnya sebanyak yang Anda inginkan, di waktu luang Anda. Pastikan untuk menghapus semua volume dan tetesan, setelah Anda selesai, untuk menghindari tagihan tak terduga di akhir bulan.

Anda dapat mempelajari lebih lanjut tentang terminologi ZFS di sini.

Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...
Alat Berguna untuk Gamer Linux
Jika Anda suka bermain game di Linux, kemungkinan besar Anda telah menggunakan aplikasi dan utilitas seperti Wine, Lutris, dan OBS Studio untuk mening...