Linux-admin-quota-management
Linux Admin-クォータ管理
CentOSディスククォータは両方とも有効にできます。ディスク容量を超える前に、システム管理者に警告し、ユーザーへのディスクストレージアクセスを拒否します。 ディスクがいっぱいになると、ディスクの内容に応じて、システム全体が回復するまで悲鳴を上げることがあります。
CentOS Linuxでクォータ管理を有効にするのは、基本的に4つのステップのプロセスです-
- *ステップ1 *-/etc/fstabでグループとユーザーのクォータ管理を有効にします。
- *ステップ2 *-ファイルシステムを再マウントします。
- *ステップ3 *-クォータデータベースを作成し、ディスク使用量テーブルを生成します。
- *ステップ4 *-クォータポリシーを割り当てます。
===/etc/fstabでクォータ管理を有効にします
まず、/etc/fstab filenをバックアップします-
[root@centosLocal centos]# cp -r/etc/fstab ./
現在、現在の作業ディレクトリに_known working_/etc/fstabのコピーがあります。
#
#/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
ユーザーまたはグループにクォータが適用されるボリュームまたはラベルの_/etc/fstab_のオプションセクションで、次の変更を行いました。
- usrquota
- grpquota
ご覧のとおり、 _ xfs_ ファイルシステムを使用しています。 xfsを使用する場合、追加の手動手順が必要です。 /home は/と同じディスク上にあります。 さらに調査すると、カーネルレベルのマウントオプションである_noquota_に/が設定されていることがわかります。 カーネルブートオプションを再構成する必要があります。
root@localhost rdc]# mount | grep '/'
/dev/mapper/cl-root on/type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost rdc]#
XFSファイルシステムのカーネルブートオプションの再構成
このステップは、2つの条件下でのみ必要です-
- クォータを有効にしているディスク/パーティションがxfsファイルシステムを使用している場合
- カーネルがブート時にnoquotaパラメーターを/etc/fstabに渡すとき
- ステップ1 *-/etc/default/grubのバックアップを作成します。
cp/etc/default/grub ~/
- ステップ2 *-_/etc/default/grub_を変更します。
これがデフォルトのファイルです。
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"
私たちは次の行を変更したい-
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
to
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv
=cl/swap rhgb quiet rootflags=usrquota,grpquota"
注-これらの変更を逐語的にコピーすることが重要です。 grub.cfgを再構成した後、構成でエラーが発生した場合、システムの起動に失敗します。 非実動システムでチュートリアルのこの部分を試してください。
- ステップ3 *-作業中のgrub.cfgをバックアップします
cp/boot/grub2/grub.cfg/boot/grub2/grub.cfg.bak
新しい_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]#
リブート
[root@localhost rdc]#reboot
すべての変更が正確だった場合、_xfs_ファイルシステムにクォータを追加できるようにする必要はありません。
[rdc@localhost ~]$ mount | grep '/'
/dev/mapper/cl-root on/type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[rdc@localhost ~]$
_usrquota_および_grpquota_パラメーターをgrub経由で渡しました。
ここで、/etc/fstab_を再度編集して、同じ物理ディスク/homeon_から/を含めます。
/dev/mapper/cl-root/xfs
defaults,usrquota,grpquota 0 0
それでは、クォータデータベースを有効にしましょう。
[root@localhost rdc]# quotacheck -acfvugM
クォータが有効になっていることを確認してください。
[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]#
ファイルシステムを再マウントする
パーティションまたはディスクがアクティブに起動されたパーティションから分離されている場合、再起動せずに再マウントできます。 ルートディレクトリ/で起動されたディスク/パーティションにクォータが設定されている場合、オペレーティングシステムの再起動が必要になる場合があります。 再マウントを強制して変更を適用すると、ファイルシステムを再マウントする必要が異なる場合があります。
[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 ~]$
ご覧のとおり、LVMボリュームが使用されています。 したがって、再起動するのは簡単です。 これにより、/home_が再マウントされ、/etc/fstab_構成の変更がアクティブな構成にロードされます。
クォータデータベースファイルを作成する
CentOSは/homeのディスククォータを操作できるようになりました。 フルクォータのサポートを有効にするには、 quotacheck コマンドを実行する必要があります。
quotacheckは2つのファイルを作成します-
- aquota.user
- aquota.group
これらは、クォータが有効なディスク/パーティションのクォータ情報を保存するために使用されます。
一般的なquotacheckスイッチは次のとおりです。
| Switch | Action |
|---|---|
| -u | Checks for user quotas |
| -g | Checks for group quotas |
| -c | Quotas should be enabled for each file system with enables quotas |
| -v | Displays verbose output |
ユーザーごとにクォータ制限を追加する
このために、edquotaコマンドを使用し、その後にユーザー名を続けます-
[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
各列を見てみましょう。
- ファイルシステム-適用されるユーザーのファイルシステムのクォータです
- blocks -ユーザーが各ファイルシステムで現在使用しているブロック数
- soft -ソフト制限のブロックを設定します。 ソフト制限により、ユーザーは所定の期間のクォータを保持できます
- hard -ハード制限のブロックを設定します。 ハード制限は、総許容クォータです
- inodes -ユーザーが現在使用しているiノードの数
- soft -ソフトiノードの制限
- hard -ハードiノードの制限
ユーザーとして現在のクォータを確認するには-
[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 ~]$
以下は、ハードクォータの制限を超えたときにユーザーに表示されるエラーです。
[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]$
ご覧のとおり、このユーザーのディスククォータ内にあります。 ソフト制限警告を設定しましょう。 これにより、ユーザーはクォータ制限が切れる前に事前に通知されます。 経験から、エンドユーザーが仕事を始めると、実際に仕事を始めるためにファイルを消去するのに45分を費やす必要があると、エンドユーザーから苦情が寄せられます。
管理者は、 repquota コマンドでクォータの使用状況を確認できます。
[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]#
ご覧のとおり、ユーザーcentosはハードブロッククォータを超えているため、_/home_のディスクスペースを使用できなくなりました。
-+は、ファイルシステムでハードクォータを超えたことを示します。
クォータを計画するときは、少し計算する必要があります。 管理者が知っておく必要があるのは:システム上に何人のユーザーがいるのか? ユーザー/グループ間でどのくらいの空き領域を割り当てる必要がありますか? ファイルシステム上のブロックを構成するバイト数は?
空きディスク領域に関連するブロックの観点からクォータを定義します。最悪のシナリオであるファイルシステムに空き領域の「安全な」バッファを残すことをお勧めします。すべてのクォータを同時に超過します。 これは特に、システムがログを書き込むために使用するパーティションで発生します。