Administrator systemu Linux - zarządzanie limitami
Przydziały dysku CentOS można włączyć zarówno; ostrzeganie administratora systemu i odmawianie użytkownikowi dalszego dostępu do pamięci dyskowej przed przekroczeniem pojemności dysku. Kiedy dysk jest pełny, w zależności od tego, co się na nim znajduje, cały system może się zatrzymać aż do odzyskania.
Włączanie zarządzania limitami w CentOS Linux jest w zasadzie procesem 4-etapowym -
Step 1 - Włącz zarządzanie limitami dla grup i użytkowników w / etc / fstab.
Step 2 - Ponownie podłącz system plików.
Step 3 - Utwórz bazę danych Quota i wygeneruj tabelę użycia dysku.
Step 4 - Przypisz zasady dotyczące limitów.
Włącz zarządzanie limitami w / etc / fstab
Najpierw chcemy wykonać kopię zapasową naszego pliku / etc / fstab -
[root@centosLocal centos]# cp -r /etc/fstab ./
Mamy teraz kopię naszego znanego roboczego / etc / fstab w bieżącym katalogu roboczym.
#
# /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
Wprowadziliśmy następujące zmiany w sekcji opcji pliku / etc / fstab dla wolumenu lub etykiety, do której mają być stosowane przydziały dla użytkowników i grup.
- usrquota
- grpquota
Jak widać, używamy xfssystem plików. Podczas korzystania z xfs wymagane są dodatkowe czynności ręczne./homeznajduje się na tym samym dysku co /. Dalsze badanie pokazuje / jest ustawione na noquota , czyli opcję montowania na poziomie jądra. Musimy ponownie skonfigurować opcje rozruchu jądra.
root@localhost rdc]# mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost rdc]#
Ponowna konfiguracja opcji rozruchu jądra dla systemów plików XFS
Ten krok jest konieczny tylko pod dwoma warunkami -
- Gdy dysk / partycja, na której włączamy limity, używa systemu plików xfs
- Gdy jądro przekazuje parametr noquota do / etc / fstab podczas uruchamiania
Step 1 - Zrób kopię zapasową / etc / default / grub.
cp /etc/default/grub ~/
Step 2- Zmodyfikuj / etc / default / grub .
Oto plik domyślny.
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"
Chcemy zmodyfikować następujący wiersz -
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
do
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv
=cl/swap rhgb quiet rootflags=usrquota,grpquota"
Note- Ważne jest, abyśmy skopiowali te zmiany dosłownie. Po ponownej konfiguracji grub.cfg, nasz system nie uruchomi się, jeśli wystąpią jakiekolwiek błędy w konfiguracji. Wypróbuj tę część samouczka na systemie nieprodukcyjnym.
Step 3 - Utwórz kopię zapasową działającego pliku grub.cfg
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
Utwórz nowy plik grub.cfg
[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]#
Restart
[root@localhost rdc]#reboot
Gdyby wszystkie modyfikacje były precyzyjne, nie mielibyśmy możliwości dodawania kwot do systemu plików xfs .
[rdc@localhost ~]$ mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[rdc@localhost ~]$
Przekazaliśmy parametry usrquota i grpquota za pośrednictwem grub.
Teraz ponownie wyedytuj / etc / fstab, aby uwzględnić / od / homena tym samym dysku fizycznym.
/dev/mapper/cl-root/xfs
defaults,usrquota,grpquota 0 0
Teraz włączmy bazy danych kwot.
[root@localhost rdc]# quotacheck -acfvugM
Upewnij się, że przydziały są włączone.
[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]#
Ponownie podłącz system plików
Jeśli partycja lub dysk jest oddzielony od partycji, która jest aktywnie uruchamiana, możemy ponownie zamontować bez ponownego uruchamiania. Jeśli limit został skonfigurowany na dysku / partycji uruchomionej w katalogu głównym /, może być konieczne ponowne uruchomienie systemu operacyjnego. Wymuszenie ponownego zamontowania i zastosowanie zmian może różnić się w zależności od potrzeby ponownego zamontowania systemu plików.
[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 ~]$
Jak widać, woluminy LVM są w użyciu. Więc łatwo jest po prostu zrestartować. Spowoduje to ponowne zamontowanie / home i załadowanie zmian konfiguracyjnych / etc / fstab do aktywnej konfiguracji.
Utwórz pliki bazy danych kwot
CentOS może teraz pracować z przydziałami dyskowymi w / home. Aby włączyć obsługę pełnego limitu, musimy uruchomićquotacheck Komenda.
quotacheck utworzy dwa pliki -
- aquota.user
- aquota.group
Są one używane do przechowywania informacji o przydziałach dla dysków / partycji z włączonymi przydziałami.
Poniżej przedstawiono typowe przełączniki quotacheck.
Przełącznik | Akcja |
---|---|
-u | Sprawdza limity użytkowników |
-sol | Sprawdza limity grupowe |
-do | Przydziały powinny być włączone dla każdego systemu plików z włączonymi limitami |
-v | Wyświetla szczegółowe dane wyjściowe |
Dodaj limity przydziałów na użytkownika
W tym celu użyjemy polecenia edquota, po którym nastąpi nazwa użytkownika -
[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
Spójrzmy na każdą kolumnę.
Filesystem - Jest to limity systemu plików dla użytkownika, do którego zastosowano
blocks - Ile bloków aktualnie używa użytkownik w każdym systemie plików
soft- Ustaw bloki dla miękkiego limitu. Miękki limit umożliwia użytkownikowi przenoszenie kwoty na określony czas
hard- Ustaw bloki na twardy limit. Twardy limit to całkowity dopuszczalny limit
inodes - Ile i-węzłów aktualnie używa użytkownik
soft - Miękki limit i-węzłów
hard - Twardy limit i-węzłów
Aby sprawdzić aktualny limit jako użytkownik -
[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 ~]$
Poniżej znajduje się błąd wyświetlany użytkownikowi po przekroczeniu sztywnego limitu.
[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]$
Jak widać, jesteśmy blisko przydziału dyskowego tego użytkownika. Ustawmy ostrzeżenie o miękkim limicie. W ten sposób użytkownik zostanie powiadomiony z wyprzedzeniem przed wygaśnięciem limitów. Z doświadczenia wynika, że użytkownicy końcowi zgłaszają skargi, gdy przychodzą do pracy i muszą poświęcić 45 minut na czyszczenie plików, aby faktycznie zabrać się do pracy.
Jako administrator możemy sprawdzić wykorzystanie limitu za pomocą repquota Komenda.
[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]#
Jak widać, użytkownik centos przekroczył swój twardy przydział bloków i nie może już używać więcej miejsca na dysku w / home .
- + oznacza, że twardy limit został przekroczony w systemie plików.
Planując limity, trzeba trochę matematyki. Administrator powinien wiedzieć: Ilu użytkowników jest w systemie? Ile wolnego miejsca przydzielić użytkownikom / grupom? Ile bajtów tworzy blok w systemie plików?
Zdefiniuj limity w postaci bloków w odniesieniu do wolnego miejsca na dysku. Zaleca się pozostawienie „bezpiecznego” buforu wolnego miejsca w systemie plików, który pozostanie w najgorszym przypadku: wszystkie limity zostaną przekroczone jednocześnie. Dotyczy to zwłaszcza partycji używanej przez system do zapisywania dzienników.