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ố usrquotagrpquota 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ý.