Giới thiệu
Trong lab này, chúng ta sẽ khám phá lệnh quotaon
của Linux và các ứng dụng thực tế của nó để quản lý hạn ngạch đĩa. Lab bao gồm giới thiệu về quản lý hạn ngạch đĩa, bật hạn ngạch đĩa trên một hệ thống file và giám sát và quản lý hạn ngạch đĩa của người dùng. Chúng ta sẽ học cách thiết lập và cấu hình quản lý hạn ngạch đĩa, cũng như cách giám sát và quản lý việc sử dụng đĩa của người dùng trên hệ thống Linux. Lab cung cấp các hướng dẫn từng bước và các ví dụ thực tế để giúp bạn hiểu và áp dụng quản lý hạn ngạch đĩa một cách hiệu quả.
Giới thiệu về Quản lý Hạn ngạch Đĩa
Trong bước này, chúng ta sẽ khám phá khái niệm quản lý hạn ngạch đĩa trong Linux. Hạn ngạch đĩa là một hệ thống cho phép các systemadmin giới hạn lượng không gian đĩa mà một người dùng hoặc nhóm có thể sử dụng trên một hệ thống file.
Đầu tiên, hãy kiểm tra mức sử dụng đĩa hiện tại trên hệ thống file:
df -h
Ví dụ đầu ra:
Filesystem Size Used Avail Use% Mounted on
overlay 39G 16G 22G 42% /
tmpfs 64M 0 64M 0% /dev
tmpfs 16G 0 16G 0% /sys/fs/cgroup
shm 64M 0 64M 0% /dev/shm
/dev/sda1 39G 16G 22G 42% /
tmpfs 16G 0 16G 0% /run
tmpfs 16G 0 16G 0% /var/run
tmpfs 16G 0 16G 0% /var/lib/docker
overlay 39G 16G 22G 42% /var/lib/docker/overlay2
tmpfs 16G 0 16G 0% /sys/fs/cgroup
Đầu ra hiển thị mức sử dụng đĩa hiện tại trên hệ thống file. Trong ví dụ này, hệ thống file root (/
) đang sử dụng 42% dung lượng đĩa khả dụng.
Tiếp theo, hãy bật quản lý hạn ngạch đĩa trên hệ thống file root:
sudo apt-get update
sudo apt-get install -y quota
sudo quotacheck -cug /
sudo quotaon -a
Lệnh quotacheck
quét một hệ thống file, xây dựng một bảng về mức sử dụng đĩa hiện tại và lưu trữ nó trong bộ nhớ kernel của hệ thống file. Lệnh quotaon
bật quản lý hạn ngạch đĩa trên hệ thống file được chỉ định.
Bây giờ, hãy xác minh rằng quản lý hạn ngạch đĩa đã được bật:
sudo quotaon -a
Ví dụ đầu ra:
/: quotas turned on
Đầu ra xác nhận rằng quản lý hạn ngạch đĩa đã được bật trên hệ thống file root (/
).
Bật Hạn ngạch Đĩa trên một Hệ thống File
Trong bước này, chúng ta sẽ học cách bật hạn ngạch đĩa trên một hệ thống file cụ thể.
Đầu tiên, hãy tạo một thư mục mới và gắn nó như một hệ thống file riêng biệt:
sudo mkdir /data
sudo mount -t tmpfs tmpfs /data
Bây giờ, hãy bật quản lý hạn ngạch đĩa trên hệ thống file /data
:
sudo quotacheck -cug /data
sudo quotaon /data
Lệnh quotacheck
quét hệ thống file /data
, xây dựng một bảng về mức sử dụng đĩa hiện tại và lưu trữ nó trong bộ nhớ kernel của hệ thống file. Lệnh quotaon
bật quản lý hạn ngạch đĩa trên hệ thống file /data
.
Hãy xác minh rằng quản lý hạn ngạch đĩa đã được bật trên hệ thống file /data
:
sudo quotaon -a
Ví dụ đầu ra:
/: quotas turned on
/data: quotas turned on
Đầu ra xác nhận rằng quản lý hạn ngạch đĩa đã được bật trên cả hệ thống file root (/
) và hệ thống file /data
.
Tiếp theo, hãy đặt giới hạn hạn ngạch đĩa cho một người dùng. Trong ví dụ này, chúng ta sẽ sử dụng người dùng labex
:
sudo edquota labex
Thao tác này sẽ mở trình chỉnh sửa hạn ngạch, nơi bạn có thể đặt giới hạn mềm và giới hạn cứng cho mức sử dụng đĩa của người dùng. Ví dụ:
Disk quotas for user labex (uid 1000):
Filesystem blocks soft hard inodes soft hard
/data 0 5000 6000 0 0 0
Trong ví dụ này, giới hạn mềm cho hệ thống file /data
được đặt thành 5000 blocks và giới hạn cứng được đặt thành 6000 blocks.
Giám sát và Quản lý Hạn ngạch Đĩa của Người dùng
Trong bước cuối cùng này, chúng ta sẽ học cách giám sát và quản lý hạn ngạch đĩa của người dùng.
Đầu tiên, hãy kiểm tra mức sử dụng hạn ngạch đĩa hiện tại cho người dùng labex
:
sudo repquota /data
Ví dụ đầu ra:
*** Report for user quotas on device /data
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
---------------------------------------------------------------------
labex -- 0 5000 6000 0 0 0
Lệnh repquota
hiển thị mức sử dụng hạn ngạch đĩa hiện tại cho hệ thống file được chỉ định. Trong ví dụ này, người dùng labex
đã sử dụng 0 blocks trong giới hạn mềm 5000 block và giới hạn cứng 6000 block trên hệ thống file /data
.
Bây giờ, hãy mô phỏng một tình huống trong đó người dùng labex
vượt quá hạn ngạch đĩa của họ:
dd if=/dev/zero of=/data/bigfile.txt bs=1M count=6000
Lệnh này tạo một file 6000 MB trong thư mục /data
, file này sẽ vượt quá hạn ngạch đĩa của người dùng labex
.
Hãy kiểm tra lại mức sử dụng hạn ngạch đĩa:
sudo repquota /data
Ví dụ đầu ra:
*** Report for user quotas on device /data
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
---------------------------------------------------------------------
labex * 6000 5000 6000 1day 0 0 0
Đầu ra cho thấy rằng người dùng labex
đã vượt quá giới hạn mềm là 5000 blocks và hiện đang trong thời gian ân hạn là 1 ngày để giảm mức sử dụng đĩa của họ.
Để quản lý hạn ngạch đĩa của người dùng, bạn có thể sử dụng các lệnh sau:
sudo edquota labex ## Edit the user's disk quota limits
sudo quota -v labex ## Display the user's current disk quota usage
sudo quota -l labex ## Display the user's disk quota limits
Lệnh edquota
cho phép bạn sửa đổi giới hạn hạn ngạch đĩa của người dùng, trong khi lệnh quota
cho phép bạn xem mức sử dụng và giới hạn hạn ngạch đĩa hiện tại của người dùng.
Tóm tắt
Trong lab này, đầu tiên chúng ta đã khám phá khái niệm quản lý hạn ngạch đĩa trong Linux, cho phép các systemadmin giới hạn lượng không gian đĩa mà một người dùng hoặc nhóm có thể sử dụng trên một hệ thống file. Sau đó, chúng ta đã học cách bật quản lý hạn ngạch đĩa trên hệ thống file root bằng cách cài đặt các gói cần thiết, chạy lệnh quotacheck
để xây dựng một bảng về mức sử dụng đĩa hiện tại và bật quản lý hạn ngạch đĩa bằng lệnh quotaon
. Cuối cùng, chúng ta đã học cách bật quản lý hạn ngạch đĩa trên một hệ thống file riêng biệt bằng cách tạo một thư mục mới, gắn nó như một hệ thống file riêng biệt và bật quản lý hạn ngạch đĩa trên hệ thống file đó.