Cara Mengatur Kuota dan Reservasi ZFS

ZFS Quota dan Reservation digunakan untuk membatasi jumlah ruang disk yang dapat digunakan oleh sistem file ZFS tertentu dari kumpulan ZFS.

Kuota ZFS: Katakanlah Anda memiliki kumpulan ukuran ZFS10GB. Anda telah membuat sistem file ZFS di kumpulan itu. Jika Anda menetapkan kuota sebesar2 GBuntuk sistem file ZFS itu, maka sistem file ZFS hanya dapat menggunakan ruang disk 2 GB dari kumpulan. Itu tidak dapat menggunakan lebih dari itu bahkan jika ada ruang kosong yang tersedia di kolam renang.

Reservasi ZFS: Jika Anda menetapkan kuota sebesar2 GBuntuk sistem file ZFS, ZFS tidak akan langsung mengalokasikan 2 GB ruang disk untuk sistem file tersebut. Ruang disk akan dialokasikan sesuai kebutuhan hingga batas kuota tercapai. Bayangkan Anda memiliki banyak sistem file di kumpulan ZFS Anda, dan banyak user yang menulis kepada mereka. Mungkin ada saatnya batas kuota sistem file tidak tercapai, tetapi sistem file lain telah mengisi ruang disk kumpulan. Jadi, meskipun sistem file menggunakan kurang dari 2 GB ruang disk dari kumpulan, itu masih tidak akan menulis ke kumpulan karena kumpulan tidak memiliki ruang disk kosong.

Untuk mengatasi masalah ini, Anda dapat menggunakan reservasi ZFS. Anda dapat mengatur2 GBreservasi untuk sistem file ZFS Anda yang sangat istimewa, dan saat Anda mengatur reservasi, 2 GB ruang disk akan dialokasikan untuk sistem file dari kumpulan ZFS. Dengan cara ini, tidak peduli berapa banyak data yang disimpan sistem file lain di kumpulan itu, Anda masih akan memiliki ruang disk khusus yang tersedia untuk sistem file Anda, dan Anda masih dapat membuat file di sistem file itu bahkan jika kumpulan penuh (tidak memiliki ruang disk kosong).

Pada artikel ini, saya akan menunjukkan cara mengkonfigurasi kuota dan reservasi untuk sistem file ZFS. Jadi, mari kita mulai.

Daftar isi

  1. Membuat Kumpulan ZFS dan Sistem File
  2. Mengonfigurasi Kuota Sistem File ZFS
  3. Mengonfigurasi Reservasi Sistem File ZFS
  4. Mengonfigurasi Reservasi Sistem File ZFS Bersamaan dengan Kuota
  5. Menonaktifkan Reservasi Sistem File ZFS
  6. Menonaktifkan Kuota Sistem File ZFS
  7. Kesimpulan
  8. Referensi

Membuat Kumpulan ZFS dan Sistem File

Untuk bereksperimen dengan kuota dan reservasi ZFS, saya akan membuat pool ZFS pool1 dan 4 sistem file ZFS fs1, fs2, fs3, dan fs4 di kolam ZFS pool1. Jika Anda ingin mengikuti, Anda dapat melakukan hal yang sama.

Artikel ini akan menggunakan vdb dan vdc perangkat penyimpanan untuk membuat kumpulan ZFS pool1.

$ sudo lsblk -e7 -d

Untuk membuat kumpulan ZFS pool1 menggunakan vdb dan vdc perangkat penyimpanan, jalankan perintah berikut:

$ sudo zpool create -f pool1 vdb vdc

Kolam ZFS pool1 harus dibuat.

$ sudo zfs list

Buat sistem file fs1, fs2, fs3, dan fs4 di kolam ZFS pool1 dengan perintah berikut:

$ sudo zfs create pool1/fs1
$ sudo zfs create pool1/fs2
$ sudo zfs create pool1/fs3
$ sudo zfs create pool1/fs4

Sistem file ZFS fs1, fs2, fs3, dan fs4 harus dibuat di kumpulan ZFS pool1.

$ sudo zfs list

Mengonfigurasi Kuota Sistem File ZFS

Untuk mengatur kuota untuk sistem file ZFS, Anda harus mengonfigurasi quota dan refquota properti dari sistem file ZFS itu.

quota: Kuota akan ditetapkan untuk data, snapshot sistem file, dan kloning sistem file. Jadi, ukuran total data sistem file, snapshot sistem file, dan kloning sistem file Anda tidak boleh melebihi batas kuota.

Pendeknya,

berkas sistem data ukuran + sistem file snapshots ukuran + sistem file clones ukuran < quota membatasi

refquota: Batas kuota hanya ditetapkan untuk data sistem file, bukan untuk snapshot sistem file dan kloning sistem file.

Pendeknya,

berkas sistem data ukuran < refquota membatasi

Secara default, quota dan refquotaproperti tidak disetel pada sistem file ZFS apa pun. Jadi, data sistem file, snapshot sistem file, dan klon sistem file dari sistem file ZFS mana pun dapat menjangkau seluruh ukuran kumpulan ZFS.

Seperti yang Anda lihat, quota dan refquota properti diatur ke none pada sistem file ZFS fs1secara default. Hal yang sama untukfs2, fs3, dan fs4 sistem file juga.

$ sudo zfs get refquota,quota pool1/fs1

Untuk menetapkan kuota 2 GB untuk sistem file ZFS fs1, jalankan perintah berikut:

$ sudo zfs set quota=2G pool1/fs1

Seperti yang Anda lihat, kuota 2 GB diatur untuk sistem file ZFS fs1.

$ sudo zfs get quota pool1/fs1

Setelah 2 GB dari quota diatur untuk sistem file ZFS fs1, ruang disk yang tersedia (AVAIL) dari fs1 sistem file harus 2 GB alih-alih ruang disk yang tersedia di pool pool1 (8.72 GB dalam hal ini), seperti yang Anda lihat pada tangkapan layar di bawah ini.

$ sudo zfs list

Anda telah menetapkan kuota sebesar 2 GB untuk sistem file ZFS fs1. Jadi, Anda tidak dapat menyimpan lebih dari 2 GB data di sistem filefs1. Bayangkan membuat beberapa snapshot dan klon sistem file yang menghabiskan sekitar 1 GB ruang disk. Dalam hal ini, Anda hanya akan memiliki 1 GB ruang disk yang tersedia untuk data difs1berkas sistem. Jika snapshot dan kloning sistem file menggunakan sekitar 1,5 GB ruang disk, Anda hanya akan memiliki 500 MB ruang disk yang tersedia untuk data difs1berkas sistem. Itu masalah.

Kadang-kadang, Anda mungkin ingin mendedikasikan beberapa ruang disk untuk hanya menyimpan data pada sistem file ZFS Anda, sehingga snapshot dan klon sistem file tidak menggunakan semua ruang disk yang tersedia dari sistem file ZFS. Anda dapat mengaturrefquota properti untuk itu.

Katakanlah Anda ingin menetapkan kuota 2 GB untuk sistem file ZFS fs2 dan dedikasikan 1 GB ruang disk hanya untuk data. Dengan cara ini, Anda hanya dapat menggunakan1 GB ruang disk untuk menyimpan filesystem snapshots dan clones.

Mempersiapkan 2 GB kuota untuk sistem file ZFS fs2 sebagai berikut:

$ sudo zfs set quota=2G pool1/fs1

Seperti yang Anda lihat, 2 GB kuota diatur untuk sistem file ZFS fs2.

$ sudo zfs list

untuk mendedikasikan 1 GB ruang disk untuk menyimpan hanya data untuk sistem file ZFS fs2, mengatur refquota properti dari sistem file fs2 sebagai berikut:

$ sudo zfs set refquota=1G pool1/fs2

Seperti yang Anda lihat, refquota properti diatur ke 1 GB, dan quota properti diatur ke 2 GB pada sistem file ZFS fs2.

$ sudo zfs get refquota,quota pool1/fs2

Ruang disk ya
ng tersedia dari sistem file ZFS fs2 seharusnya 1 GB (1024 MB) – ukuran yang Anda lihat menggunakan refquota properti, seperti yang Anda lihat pada tangkapan layar di bawah ini.

$ sudo zfs list

Setelah kuota ditetapkan, mari kita lihat bagaimana ruang disk dialokasikan saat Anda membuat file pada sistem file ZFS fs1 dan fs2.

Membuat 200 MB mengajukan test.img di sistem file ZFS fs1 sebagai berikut:

$ sudo dd if=/dev/random of=/pool1/fs1/test.img bs=1M count=200 status=progress

Membuat 100 MB mengajukan test.img di sistem file ZFS fs2 sebagai berikut:

$ sudo dd if=/dev/random of=/pool1/fs2/test.img bs=1M count=100 status=progress

Seperti yang Anda lihat, fs1 menggunakan 200 MB ruang disk, dan fs2 menggunakan 100 MB ruang disk dari kumpulan pool1. Secara keseluruhan,300 MB ruang disk digunakan dari kumpulan pool1. Meskipun Anda telah menetapkan kuota untukfs1 dan fs2 sistem file, hanya ruang disk yang diperlukan yang dialokasikan untuk sistem file fs1 dan fs2 dari kolam pool1.

$ sudo zfs list

Jika Anda ingin menetapkan kuota hanya untuk data sistem file ZFS, bukan untuk snapshot dan kloning sistem file, maka setel hanya refquotaproperti pada sistem file ZFS yang Anda inginkan. Anda tidak perlu mengaturquotaProperti. Dengan cara ini, snapshot dan klon sistem file dapat menggunakan ruang disk sebanyak yang diperlukan dari kumpulan ZFS. Tetapi batas kuota hanya akan ditempatkan pad
a data yang Anda simpan di sistem file ZFS Anda.

Jika Anda tidak mengambil snapshot sistem file atau membuat klon sistem file, maka quota dan refquotabekerja dengan cara yang sama. Tidak masalah yang mana yang Anda gunakan.

Mengonfigurasi Reservasi Sistem File ZFS

Sebelumnya, Anda telah melihat bahwa ketika Anda menetapkan kuota pada sistem file ZFS, tidak ada ruang disk yang secara otomatis dialokasikan untuk sistem file tersebut dari kumpulan ZFS. Ruang disk dialokasikan saat file dibuat pada sistem file itu. Tidak ada masalah dengan itu. Tapi, ada kalanya Anda tidak menginginkan itu.

Dalam beberapa kasus, Anda mungkin ingin mendedikasikan beberapa ruang disk untuk sistem file ZFS tertentu dari kumpulan. Dengan cara ini, bahkan jika sistem file lain mengisi kumpulan, Anda masih akan memiliki ruang kosong di sistem file ZFS Anda. Inilah gunanya reservasi ZFS.

Untuk mengatur reservasi untuk sistem file ZFS, Anda harus mengonfigurasi reservation dan refreservation properti dari sistem file ZFS itu.

Reservasi: Ruang disk akan dicadangkan untuk data, snapshot sistem file, dan klon sistem file dari sistem file ZFS dari kumpulan ZFS.

refreservation: Ruang disk akan dicadangkan hanya untuk data sistem file ZFS dari kumpulan ZFS. Tidak ada ruang disk yang akan dicadangkan untuk snapshot sistem file dan klon sistem file.

Secara default, reservation dan refreservation properti tidak disetel pada sistem file ZFS apa pun. Jadi, ZFS tidak mengalokasikan ruang disk apa pun untuk data, snapshot sistem file, dan klon sistem file dari sistem file ZFS apa pun dari kumpulan ZFS.

Seperti yang Anda lihat, reservation dan refreservation properti diatur ke none pada sistem file ZFS fs3secara default. Hal yang sama untukfs1, fs2, dan fs4 sistem file juga.

$ sudo zfs get a reservation,refreservation pool1/fs3

Secara default, sistem file ZFS fs3 dan fs4 memiliki ruang disk kosong yang sama (8,43 GB) dengan kumpulan pool1.

$ sudo zfs list

Untuk memesan 2 GB ruang disk untuk sistem file ZFS fs3 (untuk data sistem file, snapshot, dan klon) dari kumpulan, atur reservation properti dari sistem file ZFS fs3 sebagai berikut:

$ sudo zfs set reservation=2G pool1/fs3

Seperti yang Anda lihat, reservation properti diatur ke 2 GB untuk sistem file ZFS fs3.

$ sudo zfs get reservation pool1/fs3

Perhatikan bahwa, segera setelah menyetel reservation properti untuk 2 GB untuk sistem file ZFS fs3, 2 GB digunakan dari kolam ZFS pool11. Juga, ruang disk yang tersedia untuk sistem file ZFSfs3 adalah 2 GB lebih dari kumpulan ZFS pool12.

$ sudo zfs list

Untuk memesan 1 GB ruang disk hanya untuk data (bukan untuk snapshot dan klon) dari sistem file ZFS fs4 dari kolam, atur refreservation properti dari sistem file ZFS fs4 sebagai berikut:

$ sudo zfs set refreservation=1G pool1/fs4

Itu refreservation properti harus disetel ke 1 GB untuk sistem file ZFS fs4, seperti yang Anda lihat pada tangkapan layar di bawah ini.

$ sudo zfs get refreservation pool1/fs4

Perhatikan bahwa, segera setelah menyetel refreservation properti untuk 1 GB untuk sistem file ZFS fs4, 1 GB di
gunakan dari sistem file ZFS fs41.1 GB juga digunakan dari kolam ZFS pool12, dan ruang disk yang tersedia dari sistem file ZFSfs4 adalah 1 GBlebih dari 3 dari kumpulan ZFSpool14.

$ sudo zfs list

Mengonfigurasi Reservasi Sistem File ZFS Bersamaan dengan Kuota

Anda dapat menggunakan reservasi bersama kuota pada sistem file ZFS juga. Mari kita lihat beberapa contoh.

Katakanlah Anda ingin menetapkan kuota 2 GB untuk sistem file ZFS fs3 dan cadangan 2 GB ruang disk untuk sistem file ZFS fs3 (untuk menyimpan data sistem file, snapshot, dan kloning) dari kumpulan ZFS.

Untuk melakukannya, atur quota dan reservation properti dari sistem file ZFS fs3 sebagai berikut:

$ sudo zfs set quota=2G reservation=2G pool1/fs3

Itu quota dan reservation properti dari sistem file ZFS fs3 harus disetel ke 2 GB, seperti yang Anda lihat pada tangkapan layar di bawah ini.

$ sudo zfs get quota,reservation pool1/fs3

Ruang disk yang tersedia dari sistem file ZFS fs3 harus disetel ke 2 GB. 2 GB ruang disk juga harus disediakan untuk sistem file ZFS fs3 dari kolam ZFS pool1.

$ sudo zfs list

Katakanlah Anda ingin menetapkan kuota 2 GB untuk sistem file ZFS fs4. Tapi, Anda hanya ingin mengizinkan1 GB ruang disk untuk menyimpan data sistem file dan lainnya 1 GBuntuk menyimpan snapshot dan klon sistem file. Juga, Anda ingin memesan1 GB ruang disk untuk menyimpan sistem file ZFS fs4 dari kolam ZFS.

Untuk melakukannya, atur quota, refquota, dan refreservation properti dari sistem file ZFS fs4 sebagai berikut:

$ sudo zfs set quota=2G refquota=1G refreservation=1G pool1/fs4

Itu quota properti dari sistem file ZFS fs4 harus disetel ke 2 GB, dan refquota dan refreservation properti harus disetel ke 1 GB, seperti yang Anda lihat pada tangkapan layar di bawah ini.

$ sudo zfs set quota,refquota,refreservation pool1/fs4

Ruang disk yang tersedia dari sistem file ZFS fs4 harus disetel ke 1 GB. 1 GB ruang disk juga harus disediakan untuk sistem file ZFS fs4 dari kolam ZFS pool1.

$ sudo zfs list

Katakanlah Anda ingin menetapkan kuota 2 GB untuk sistem file ZFS fs4. Tapi, Anda hanya ingin mengizinkan1 GB ruang disk untuk menyimpan data sistem file dan lainnya 1 GBuntuk menyimpan snapshot dan klon sistem file. Juga, Anda ingin memesan2 GB ruang disk untuk menyimpan data sistem file, snapshot, dan klon dan 1 GB ruang disk dari reservasi itu untuk menyimpan hanya sistem file ZFS fs4.

Untuk melakukannya, atur quota, refquota< /strong>, reservation, dan refreservation properti dari sistem file ZFS fs4 sebagai berikut:

$ sudo zfs set quota=2G refquota=1G reservation=2G refreservation=1G pool1/fs4

Seperti yang Anda lihat, quota dan reservation properti dari sistem file ZFS fs4 diatur ke 2 GB, dan refquota dan refreservation properti diatur ke 1 GB.

$ sudo zfs get quota,refquota,reservation,refreservation pool1/fs4

Sebelumnya, sistem file ZFS dicadangkan 1 GB ruang disk dari kumpulan pool1. Sekarang, itu sudah dipesan1 GBlagi. Secara keseluruhan,2 GB ruang disk dicadangkan untuk sistem file ZFS fs4 dari kolam ZFS pool1. Juga, batas kuota diatur untuk sistem file ZFSfs4.

$ sudo zfs list

Menonaktifkan Reservasi Sistem File ZFS

Anda dapat mengatur reservation dan refreservation properti dari sistem file ZFS untuk none atau 0 untuk menonaktifkan reservasi untuk sistem file ZFS itu.

Untuk menonaktifkan reservasi untuk sistem file ZFS fs4, mengatur reservation dan refreservation properti dari sistem file ZFS fs4 ke none sebagai berikut:

$ sudo zfs set reservation=none refreservation=none pool1/fs4

Reservasi harus dinonaktifkan untuk sistem file ZFS fs4.

$ sudo zfs get a reservation,refreservation pool1/fs4

Seperti yang Anda lihat, 2 GB ruang disk (4,49 GB hingga 2,29 GB sekarang) tidak dialokasikan dari kumpulan ZFS pool1 karena reservasi dinonaktifkan untuk sistem file ZFS fs4.

$ sudo zfs list

Menonaktifkan Kuota Sistem File ZFS

Anda dapat mengatur quota dan refquota properti dari sistem file ZFS untuk none atau 0 untuk menonaktifkan kuota untuk sistem file ZFS itu.

Untuk menonaktifkan kuota untuk sistem file ZFS fs4, mengatur quota dan refquota properti dari sistem file ZFS fs4 ke none sebagai berikut:

$ sudo zfs set quota=none refquota=none pool1/fs4

Kuota harus dinonaktifkan untuk sistem file ZFS fs4.

$ sudo zfs get quota,refquota pool1/fs4

Seperti yang Anda lihat, tidak ada batasan kuota yang ditetapkan untuk sistem file ZFS fs4 lagi.

$ sudo zfs list

Kesimpulan

Pada artikel ini, saya telah membahas fitur kuota dan reservasi dari sistem file ZFS. Saya telah menunjukkan kepada Anda cara mengonfigurasi kuota dan reservasi untuk sistem file ZFS. Saya juga telah menunjukkan kepada Anda cara menonaktifkan kuota dan reservasi dari sistem file ZFS.

Referensi

[1] Mengatur Kuota dan Reservasi ZFS (Panduan Administrasi Solaris ZFS)

Related Posts