Quản trị viên Linux - Quản lý hạn ngạch
Hạn ngạch đĩa CentOS có thể được bật cả hai; cảnh báo cho quản trị viên hệ thống và từ chối truy cập thêm vào ổ lưu trữ cho người dùng trước khi dung lượng ổ đĩa bị vượt quá. Khi một đĩa đầy, tùy thuộc vào những gì nằm trên đĩa, toàn bộ hệ thống có thể ngừng hoạt động cho đến khi được khôi phục.
Bật quản lý hạn ngạch trong CentOS Linux về cơ bản là một quy trình 4 bước -
Step 1 - Bật quản lý hạn ngạch cho các nhóm và người dùng trong / etc / fstab.
Step 2 - Đếm lại hệ thống tập tin.
Step 3 - Tạo cơ sở dữ liệu hạn ngạch và tạo bảng sử dụng đĩa.
Step 4 - Chỉ định chính sách hạn ngạch.
Bật Quản lý hạn ngạch trong / etc / fstab
Đầu tiên, chúng tôi muốn sao lưu / etc / fstab filen -
[root@centosLocal centos]# cp -r /etc/fstab ./
Bây giờ chúng ta có một bản sao của / etc / fstab đang làm việc đã biết của chúng ta trong thư mục làm việc hiện tại.
#
# /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
Chúng tôi đã thực hiện các thay đổi sau đây trong phần tùy chọn của / etc / fstab đối với tập hoặc Nhãn đối với nơi áp dụng hạn ngạch cho người dùng và nhóm.
- usrquota
- grpquota
Như bạn có thể thấy, chúng tôi đang sử dụng xfshệ thống tập tin. Khi sử dụng xfs, có thêm các bước thủ công./homenằm trên cùng một đĩa với /. Điều tra thêm cho thấy / được đặt cho noquota , là một tùy chọn gắn ở mức hạt nhân. Chúng ta phải cấu hình lại các tùy chọn khởi động hạt nhân của mình.
root@localhost rdc]# mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost rdc]#
Định cấu hình lại các tùy chọn khởi động nhân cho hệ thống tệp XFS
Bước này chỉ cần thiết với hai điều kiện -
- Khi đĩa / phân vùng chúng tôi đang bật hạn ngạch, đang sử dụng hệ thống tệp xfs
- Khi hạt nhân truyền tham số noquota tới / etc / fstab tại thời điểm khởi động
Step 1 - Sao lưu / etc / default / grub.
cp /etc/default/grub ~/
Step 2- Sửa đổi / etc / default / grub .
Đây là tệp mặc định.
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"
Chúng tôi muốn sửa đổi dòng sau:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
đến
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv
=cl/swap rhgb quiet rootflags=usrquota,grpquota"
Note- Điều quan trọng là chúng tôi sao chép nguyên văn những thay đổi này. Sau khi chúng tôi định cấu hình lại grub.cfg, hệ thống của chúng tôi sẽ không khởi động được nếu có bất kỳ lỗi nào trong cấu hình. Vui lòng thử phần này của hướng dẫn trên hệ thống phi sản xuất.
Step 3 - Sao lưu grub.cfg đang làm việc của bạn
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
Tạo grub.cfg mới
[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]#
Khởi động lại
[root@localhost rdc]#reboot
Nếu tất cả các sửa đổi đều chính xác, chúng tôi sẽ không có khả năng thêm hạn ngạch vào hệ thống tệp xfs .
[rdc@localhost ~]$ mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[rdc@localhost ~]$
Chúng tôi đã chuyển các tham số usrquota và grpquota qua grub.
Bây giờ, một lần nữa chỉnh sửa / etc / fstab để bao gồm / since / home trên cùng một đĩa vật lý.
/dev/mapper/cl-root/xfs
defaults,usrquota,grpquota 0 0
Bây giờ hãy kích hoạt cơ sở dữ liệu hạn ngạch.
[root@localhost rdc]# quotacheck -acfvugM
Đảm bảo rằng Hạn ngạch được bật.
[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]#
Nhắc lại hệ thống tệp
Nếu phân vùng hoặc đĩa tách biệt với phân vùng được khởi động tích cực, chúng tôi có thể gắn lại mà không cần khởi động lại. Nếu hạn ngạch được định cấu hình trên đĩa / phân vùng được khởi động trong thư mục gốc /, chúng tôi có thể cần khởi động lại hệ điều hành. Buộc điều chỉnh lại và áp dụng các thay đổi, nhu cầu gắn lại hệ thống tệp có thể khác nhau.
[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 ~]$
Như chúng ta có thể thấy, khối lượng LVM đang được sử dụng. Vì vậy, thật đơn giản chỉ cần khởi động lại. Thao tác này sẽ remount / home và tải các thay đổi cấu hình / etc / fstab thành cấu hình hoạt động.
Tạo tệp cơ sở dữ liệu hạn ngạch
CentOS hiện có khả năng làm việc với hạn ngạch đĩa trên / tại nhà. Để bật hỗ trợ hạn ngạch đầy đủ, chúng tôi phải chạyquotacheck chỉ huy.
quotacheck sẽ tạo hai tệp -
- aquota.user
- aquota.group
Chúng được sử dụng để lưu trữ thông tin hạn ngạch cho các đĩa / phân vùng đã bật hạn ngạch.
Sau đây là các công tắc trích dẫn phổ biến.
Công tắc điện | Hoạt động |
---|---|
-u | Kiểm tra hạn ngạch người dùng |
-g | Kiểm tra hạn ngạch nhóm |
-c | Hạn ngạch phải được bật cho mỗi hệ thống tệp với hạn ngạch cho phép |
-v | Hiển thị đầu ra dài dòng |
Thêm giới hạn hạn ngạch cho mỗi người dùng
Đối với điều này, chúng tôi sẽ sử dụng lệnh edquota, theo sau là tên người dùng -
[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
Hãy xem xét từng cột.
Filesystem - Đây là hạn ngạch hệ thống tệp cho người dùng được áp dụng cho
blocks - Người dùng hiện đang sử dụng bao nhiêu khối trên mỗi hệ thống tệp
soft- Đặt khối cho một giới hạn mềm. Giới hạn mềm cho phép người dùng thực hiện hạn ngạch trong một khoảng thời gian nhất định
hard- Đặt khối cho một giới hạn cứng. Giới hạn cứng là tổng hạn ngạch cho phép
inodes - Người dùng hiện đang sử dụng bao nhiêu inodes
soft - Giới hạn inode mềm
hard - Giới hạn inode cứng
Để kiểm tra hạn ngạch hiện tại của chúng tôi với tư cách là người dùng -
[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 ~]$
Sau đây là một lỗi được đưa ra cho người dùng khi giới hạn hạn ngạch cứng đã vượt quá.
[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]$
Như chúng ta có thể thấy, chúng tôi nằm trong hạn ngạch đĩa của người dùng này. Hãy đặt cảnh báo giới hạn mềm. Bằng cách này, người dùng sẽ có thông báo trước trước khi giới hạn hạn ngạch hết hạn. Theo kinh nghiệm, bạn sẽ nhận được những lời phàn nàn của người dùng cuối khi họ bắt đầu làm việc và cần dành 45 phút xóa tệp để thực sự bắt đầu làm việc.
Với tư cách là Quản trị viên, chúng tôi có thể kiểm tra việc sử dụng hạn ngạch với repquota chỉ huy.
[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]#
Như chúng ta có thể thấy, centos người dùng đã vượt quá hạn ngạch khối cứng của họ và không thể sử dụng thêm dung lượng đĩa trên / home nữa.
- + biểu thị một hạn ngạch cứng đã bị vượt quá trên hệ thống tệp.
Khi lập kế hoạch hạn ngạch, cần phải thực hiện một phép toán nhỏ. Điều mà một Quản trị viên cần biết là: Có bao nhiêu người dùng trên hệ thống? Có bao nhiêu không gian trống để phân bổ giữa những người dùng / nhóm? Có bao nhiêu byte tạo nên một khối trên hệ thống tệp?
Xác định hạn ngạch về khối liên quan đến không gian đĩa trống. Bạn nên để lại một bộ đệm "an toàn" cho không gian trống trên hệ thống tệp sẽ vẫn còn trong trường hợp xấu nhất: tất cả hạn ngạch đồng thời bị vượt quá. Điều này đặc biệt là trên một phân vùng được hệ thống sử dụng để ghi nhật ký.