Linux Yöneticisi - Kota Yönetimi

CentOS disk kotaları her ikisi de etkinleştirilebilir; sistem yöneticisini uyarmak ve disk kapasitesi aşılmadan önce bir kullanıcıya daha fazla disk depolama erişimini reddetmek. Bir disk dolduğunda, diskte ne olduğuna bağlı olarak, tüm sistem kurtarılıncaya kadar çığlık atarak durabilir.

CentOS Linux'ta Kota Yönetimini etkinleştirmek temelde 4 adımlı bir işlemdir -

  • Step 1 - / etc / fstab içindeki gruplar ve kullanıcılar için kota yönetimini etkinleştirin.

  • Step 2 - Dosya sistemini yeniden bağlayın.

  • Step 3 - Kota veritabanı oluşturun ve disk kullanım tablosu oluşturun.

  • Step 4 - Kota politikaları atayın.

/ Etc / fstab içinde Kota Yönetimini etkinleştirin

Öncelikle / etc / fstab dosyamızı yedeklemek istiyoruz -

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

Şu anki çalışma dizininde artık bilinen / etc / fstab çalışmamızın bir kopyasına sahibiz .

# 
# /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

Kullanıcı ve gruplara kotaların uygulanacağı hacim veya Etiket için / etc / fstab'ın seçenekler bölümünde aşağıdaki değişiklikleri yaptık .

  • usrquota
  • grpquota

Gördüğünüz gibi kullanıyoruz xfsdosya sistemi. Xfs kullanırken ek manuel adımlar vardır./home/ ile aynı diskte. Daha fazla araştırma, çekirdek düzeyinde bir bağlama seçeneği olan noquota için / için ayarlandığını gösteriyor . Çekirdek önyükleme seçeneklerimizi yeniden yapılandırmalıyız.

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

[root@localhost rdc]#

XFS Dosya Sistemleri için Çekirdek Önyükleme Seçeneklerini Yeniden Yapılandırma

Bu adım yalnızca iki koşul altında gereklidir -

  • Kotaları etkinleştirdiğimiz disk / bölüm xfs dosya sistemini kullanıyor
  • Çekirdek, önyükleme sırasında noquota parametresini / etc / fstab'a ilettiğinde

Step 1 - / etc / default / grub'un yedeğini alın.

cp /etc/default/grub ~/

Step 2- / etc / default / grub'u değiştirin .

Varsayılan dosya burada.

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"

Aşağıdaki satırı değiştirmek istiyoruz -

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

-e

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

Note- Bu değişiklikleri birebir kopyalamamız önemlidir. Grub.cfg'yi yeniden yapılandırdıktan sonra, yapılandırmada herhangi bir hata yapılırsa sistemimiz önyükleme yapamayacaktır. Lütfen eğitimin bu bölümünü üretim dışı bir sistemle deneyin.

Step 3 - Çalışma grub.cfg dosyanızı yedekleyin

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

Yeni bir grub.cfg oluşturun

[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]#

Yeniden başlat

[root@localhost rdc]#reboot

Tüm değişiklikler kesin olsaydı, xfs dosya sistemine kota ekleme imkanına sahip olmamamız gerekirdi .

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

Biz geçti usrquota ve grpquota grub yoluyla parametreleri.

Şimdi, / etc / fstab dosyasını aynı fiziksel diske / since / home'u içerecek şekilde düzenleyin .

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

Şimdi kota veritabanlarını etkinleştirelim.

[root@localhost rdc]# quotacheck -acfvugM

Kotaların etkinleştirildiğinden emin olun.

[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]#

Dosya Sistemini Yeniden Bağlayın

Bölüm veya disk aktif olarak önyüklenen bölümden ayrı ise, yeniden başlatmadan yeniden bağlanabiliriz. Kota, kök dizininde / önyüklenen bir diskte / bölümde yapılandırılmışsa, işletim sistemini yeniden başlatmamız gerekebilir. Yeniden bağlamayı zorlamak ve değişiklikleri uygulamak, dosya sistemini yeniden bağlama ihtiyacı değişebilir.

[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 ~]$

Gördüğümüz gibi, LVM hacimleri kullanımda. Bu yüzden yeniden başlatmak çok kolay. Bu, / home'u yeniden bağlayacak ve / etc / fstab yapılandırma değişikliklerini etkin yapılandırmaya yükleyecektir .

Kota Veritabanı Dosyaları Oluşturun

CentOS artık / home üzerindeki disk kotalarıyla çalışabilir. Tam kota desteğini etkinleştirmek için,quotacheck komut.

quotacheck iki dosya oluşturacak -

  • aquota.user
  • aquota.group

Bunlar, kota etkin diskler / bölümler için kota bilgilerini depolamak için kullanılır.

Yaygın teklif denetimi anahtarları aşağıdadır.

Değiştirmek Aksiyon
-u Kullanıcı kotalarını kontrol eder
-g Grup kotalarını kontrol eder
-c Etkin kotalara sahip her dosya sistemi için kotalar etkinleştirilmelidir
-v Ayrıntılı çıktı görüntüler

Kullanıcı Başına Kota Sınırları Ekleyin

Bunun için edquota komutunu ve ardından kullanıcı adını kullanacağız -

[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

Her sütuna bakalım.

  • Filesystem - Başvurulan kullanıcı için dosya sistemi kotalarıdır

  • blocks - Kullanıcının şu anda her dosya sisteminde kaç blok kullandığı

  • soft- Yumuşak limit için bloklar ayarlayın. Esnek sınır, kullanıcının belirli bir süre için kota taşımasına olanak tanır

  • hard- Sabit bir sınır için bloklar ayarlayın. Kesin sınır, izin verilen toplam kotadır

  • inodes - Kullanıcının şu anda kaç tane inode kullandığı

  • soft - Yumuşak inode sınırı

  • hard - Sabit inode sınırı

Bir kullanıcı olarak mevcut kotamızı kontrol etmek için -

[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 ~]$

Aşağıda, sabit kota sınırı aşıldığında kullanıcıya verilen bir hata verilmiştir.

[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]$

Gördüğümüz gibi, bu kullanıcının disk kotası içindeyiz. Bir soft limit uyarısı ayarlayalım. Bu şekilde, kullanıcı, kota sınırları sona ermeden önce önceden bildirim alır. Deneyimlerden, işe başladıklarında son kullanıcı şikayetleri alacaksınız ve gerçekten işe koyulmaları için 45 dakika dosyaları temizlemeniz gerekecek.

Yönetici olarak, kota kullanımını kontrol edebiliriz. repquota komut.

[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]#

Gördüğümüz gibi, kullanıcı centosları sabit blok kotalarını aştı ve artık / home üzerinde daha fazla disk alanı kullanamaz .

- +, dosya sisteminde sabit bir kotanın aşıldığını gösterir.

Kontenjanları planlarken biraz matematik yapmak gerekiyor. Bir Yöneticinin bilmesi gerekenler: Sistemde kaç kullanıcı var? Kullanıcılar / gruplar arasında ne kadar boş alan tahsis edilir? Dosya sisteminde kaç bayt bir blok oluşturur?

Kotaları, boş disk alanıyla ilgili olarak bloklar açısından tanımlayın. Dosya sisteminde en kötü senaryoda kalacak "güvenli" bir boş alan arabelleği bırakmanız önerilir: tüm kotalar aynı anda aşılır. Bu, özellikle sistem tarafından günlükleri yazmak için kullanılan bir bölümdedir.