Admin Linux - Manajemen Kuota

Kuota disk CentOS dapat diaktifkan keduanya; memperingatkan administrator sistem dan menolak akses penyimpanan-disk lebih lanjut ke pengguna sebelum kapasitas disk terlampaui. Saat disk penuh, bergantung pada apa yang ada di disk, seluruh sistem dapat berhenti menderu hingga pulih.

Mengaktifkan Manajemen Kuota di CentOS Linux pada dasarnya adalah proses 4 langkah -

  • Step 1 - Aktifkan manajemen kuota untuk grup dan pengguna di / etc / fstab.

  • Step 2 - Pasang kembali sistem file.

  • Step 3 - Buat database Kuota dan buat tabel penggunaan disk.

  • Step 4 - Tetapkan kebijakan kuota.

Aktifkan Manajemen Kuota di / etc / fstab

Pertama, kami ingin membuat cadangan file / etc / fstab kami -

[root@centosLocal centos]# cp -r /etc/fstab ./

Kami sekarang memiliki salinan / etc / fstab kerja kami yang diketahui di direktori kerja saat ini.

# 
# /etc/fstab 
# Created by anaconda on Sat Dec 17 02:44:51 2016 
# 
# Accessible filesystems, by reference, are maintained under '/dev/disk' 
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
# 
/dev/mapper/cl-root        /         xfs     defaults                      0 0
UUID = 4b9a40bc-9480-4     /boot     xfs     defaults                      0 0

/dev/mapper/cl-home        /home     xfs     defaults,usrquota,grpquota    0 0

/dev/mapper/cl-swap        swap      swap    defaults                      0 0

Kami membuat perubahan berikut di bagian opsi / etc / fstab untuk volume atau Label di mana kuota akan diterapkan untuk pengguna dan grup.

  • usrquota
  • grpquota

Seperti yang Anda lihat, kami menggunakan xfsberkas sistem. Saat menggunakan xfs ada langkah manual tambahan yang terlibat./homeada di disk yang sama dengan /. Penyelidikan lebih lanjut menunjukkan / disetel untuk noquota , yang merupakan opsi pemasangan tingkat kernel. Kita harus mengkonfigurasi ulang opsi boot kernel kita.

root@localhost rdc]# mount | grep ' / ' 
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)

[root@localhost rdc]#

Konfigurasi Ulang Opsi Boot Kernel untuk Sistem File XFS

Langkah ini hanya diperlukan dalam dua kondisi -

  • Saat disk / partisi tempat kami mengaktifkan kuota, menggunakan sistem file xfs
  • Ketika kernel mengirimkan parameter noquota ke / etc / fstab saat boot

Step 1 - Buat cadangan / etc / default / grub.

cp /etc/default/grub ~/

Step 2- Modifikasi / etc / default / grub .

Ini adalah file defaultnya.

GRUB_TIMEOUT=5 
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" 
GRUB_DEFAULT=saved 
GRUB_DISABLE_SUBMENU=true 
GRUB_TERMINAL_OUTPUT="console" 
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet" 
GRUB_DISABLE_RECOVERY="true"

Kami ingin mengubah baris berikut -

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"

untuk

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv 
=cl/swap rhgb quiet rootflags=usrquota,grpquota"

Note- Penting untuk menyalin perubahan ini secara verbatim. Setelah kami mengkonfigurasi ulang grub.cfg, sistem kami akan gagal untuk boot jika ada kesalahan yang dibuat dalam konfigurasi. Silakan, coba bagian tutorial ini tentang sistem non-produksi.

Step 3 - Cadangkan grub.cfg kerja Anda

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak

Buat grub.cfg baru

[root@localhost rdc]# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ... 
Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64 
Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img 
Found linux image: /boot/vmlinuz-0-rescue-dbba7fa47f73457b96628ba8f3959bfd 
Found initrd image: /boot/initramfs-0-rescuedbba7fa47f73457b96628ba8f3959bfd.img 
done

[root@localhost rdc]#

Mulai ulang

[root@localhost rdc]#reboot

Jika semua modifikasi tepat, kita seharusnya tidak memiliki ketersediaan untuk menambahkan kuota ke sistem file xfs .

[rdc@localhost ~]$ mount | grep ' / ' 
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
 
[rdc@localhost ~]$

Kami telah melewati parameter usrquota dan grpquota melalui grub.

Sekarang, edit lagi / etc / fstab untuk memasukkan / sejak / home pada disk fisik yang sama.

/dev/mapper/cl-root/xfs
defaults,usrquota,grpquota        0 0

Sekarang mari aktifkan database kuota.

[root@localhost rdc]# quotacheck -acfvugM

Pastikan Kuota diaktifkan.

[root@localhost rdc]# quotaon -ap 
group quota on / (/dev/mapper/cl-root) is on 
user quota on / (/dev/mapper/cl-root) is on 
group quota on /home (/dev/mapper/cl-home) is on 
user quota on /home (/dev/mapper/cl-home) is on 
[root@localhost rdc]#

Pasang kembali Sistem File

Jika partisi atau disk terpisah dari partisi yang di-boot secara aktif, kita dapat memasang ulang tanpa perlu melakukan boot ulang. Jika kuota telah dikonfigurasi pada disk / partisi yang di-boot di direktori root /, kami mungkin perlu melakukan boot ulang sistem operasi. Memaksa remount dan menerapkan perubahan, kebutuhan untuk memasang kembali filesystem mungkin berbeda-beda.

[rdc@localhost ~]$ df 
Filesystem              1K-blocks     Used      Available      Use%     Mounted on
/dev/mapper/cl-root     22447404      4081860   18365544       19%         /
devtmpfs                903448        0         903448         0%          /dev
tmpfs                   919308        100       919208         1%          /dev/shm
tmpfs                   919308        9180      910128         1%          /run
tmpfs                   919308        0         919308         0%          /sys/fs/cgroup
/dev/sda2               1268736       176612    1092124        14%         /boot
/dev/mapper/cl-var      4872192       158024    4714168        4%          /var
/dev/mapper/cl-home     18475008      37284     18437724       1%          /home
tmpfs                   183864        8         183856         1%          /run/user/1000

[rdc@localhost ~]$

Seperti yang bisa kita lihat, volume LVM sedang digunakan. Jadi mudah untuk hanya reboot. Ini akan memasang kembali / home dan memuat perubahan konfigurasi / etc / fstab ke dalam konfigurasi aktif.

Buat File Database Kuota

CentOS sekarang mampu bekerja dengan kuota disk di / home. Untuk mengaktifkan dukungan kuota penuh, kita harus menjalankanquotacheck perintah.

quotacheck akan membuat dua file -

  • aquota.user
  • aquota.group

Ini digunakan untuk menyimpan informasi kuota untuk disk / partisi yang mendukung kuota.

Berikut ini adalah sakelar cek-kuot yang umum.

Beralih Tindakan
-u Memeriksa kuota pengguna
-g Memeriksa kuota grup
-c Kuota harus diaktifkan untuk setiap sistem file dengan mengaktifkan kuota
-v Menampilkan keluaran verbose

Tambahkan Batas Kuota Per Pengguna

Untuk ini, kami akan menggunakan perintah edquota, diikuti dengan nama pengguna -

[root@localhost rdc]# edquota centos

Disk quotas for user centos (uid 1000):  
Filesystem                   blocks       soft       hard     inodes     soft     hard 
/dev/mapper/cl-root              12          0          0         13        0        0  
/dev/mapper/cl-home            4084          0          0        140        0        0

Mari kita lihat setiap kolom.

  • Filesystem - Ini adalah kuota sistem file untuk pengguna yang diterapkan

  • blocks - Berapa banyak blok yang saat ini digunakan pengguna di setiap sistem file

  • soft- Atur blok untuk batas lunak. Batas lunak memungkinkan pengguna untuk membawa kuota untuk jangka waktu tertentu

  • hard- Atur blok untuk batas keras. Batas keras adalah total kuota yang diperbolehkan

  • inodes - Berapa banyak inode yang sedang digunakan pengguna

  • soft - Batas inode lunak

  • hard - Batas inode yang keras

Untuk memeriksa kuota kami saat ini sebagai pengguna -

[centos@localhost ~]$ quota 
Disk quotas for user centos (uid 1000):  
Filesystem             blocks     quota      limit grace    files   quota   limit   grace 
/dev/mapper/cl-home    6052604    56123456   61234568       475     0       0       [centos@localhost ~]$

Berikut adalah kesalahan yang diberikan kepada pengguna ketika batas kuota telah terlampaui.

[centos@localhost Downloads]$ cp CentOS-7-x86_64-LiveKDE-1611.iso.part ../Desktop/

cp: cannot create regular file ‘../Desktop/CentOS-7-x86_64-LiveKDE-
1611.iso.part’: Disk quota exceeded

[centos@localhost Downloads]$

Seperti yang bisa kita lihat, kita hampir mencapai kuota disk pengguna ini. Mari kita atur peringatan batas lunak. Dengan cara ini, pengguna akan mendapatkan pemberitahuan terlebih dahulu sebelum batas kuota berakhir. Dari pengalaman, Anda akan mendapatkan keluhan pengguna akhir saat mereka mulai bekerja dan perlu menghabiskan 45 menit untuk membersihkan file agar benar-benar mulai bekerja.

Sebagai Administrator, kami dapat memeriksa penggunaan kuota dengan file repquota perintah.

[root@localhost Downloads]# repquota  /home  
                    Block limits                            File limits  
User            used     soft     hard     grace       used     soft     hard     grace 
----------------------------------------------------------------------------------------
root      --       0         0        0                   3        0        0        
centos    -+ 6189824  56123456 61234568                 541      520      540      6days 

[root@localhost Downloads]#

Seperti yang bisa kita lihat, centos pengguna telah melebihi kuota hard block mereka dan tidak dapat lagi menggunakan ruang disk di / home .

- + menunjukkan bahwa hard quota telah terlampaui pada sistem file.

Saat merencanakan kuota, perlu dilakukan sedikit penghitungan. Apa yang perlu diketahui oleh Administrator adalah: Berapa banyak pengguna di sistem? Berapa banyak ruang kosong untuk dialokasikan di antara pengguna / grup? Berapa banyak byte yang membentuk satu blok pada sistem file?

Tentukan kuota dalam hal blok sebagai terkait dengan ruang disk kosong. Direkomendasikan untuk meninggalkan buffer "aman" dari ruang kosong di sistem file yang akan tetap berada dalam skenario kasus terburuk: semua kuota terlampaui secara bersamaan. Ini terutama pada partisi yang digunakan oleh sistem untuk menulis log.