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.