Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Disk quotas cho phép quản trị viên Windows kiểm soát và giới hạn lượng không gian đĩa mà người dùng sử dụng trên hệ thống tệp của server và trạm làm việc. Windows Server hỗ trợ hai loại disk quotas: File Server Resource Manager quotas và NTFS quotas. Mặc dù FSRM quotas linh hoạt và tiện lợi hơn, trong một số trường hợp NTFS quotas có thể dùng hiệu quả. Ví dụ, để giới hạn kích thước thư mục roaming profile (nhưng không phải User Profile Disks) và thư mục home được redirect trên RDS host, thư mục cá nhân người dùng trên FTP server và site IIS, v.v. Trong bài này, chúng tôi sẽ hướng dẫn cách cấu hình NTFS disk quotas cho người dùng Windows.

Hiểu về NTFS Disk Quotas trong Windows

Bạn có thể dùng disk quotas Windows để giới hạn kích thước tối đa của tệp và thư mục cho mỗi người dùng để họ không tiêu thụ hết không gian đĩa với dữ liệu của mình. Disk quotas có sẵn trong cả phiên bản server và desktop Windows.

Các tính năng chính và hạn chế của NTFS quotas:

  • Quotas chỉ có thể áp dụng cho toàn bộ volume (phân vùng) định dạng NTFS. Loại quota này không hoạt động trên ổ ReFS;
  • Quotas áp dụng cho tất cả người dùng lưu trữ dữ liệu trên phân vùng này. Bạn không thể áp dụng quota cho một nhóm người dùng hoặc thư mục riêng biệt. Trong trường hợp này tốt hơn dùng FSRM;
  • Quyền sở hữu tệp và thư mục được xác định bằng cách kiểm tra bản ghi Owner trong security descriptor NTFS;
  • Mặc định, Windows quét phân vùng bật disk quotas và tính tổng kích thước tệp của mỗi người dùng mỗi giờ một lần;
  • Khi dùng nén NTFS, kích thước tệp gốc (trước nén) được tính.

Có các kịch bản sau cho việc sử dụng NTFS disk quotas:

  • Giám sát sử dụng đĩa — xem thống kê sử dụng không gian đĩa của người dùng trên server;
  • Giám sát và thông báo — ngoài kịch bản đầu tiên, khi quota bị vượt quá, sự kiện được ghi trong Event Viewer với thông tin username và mức sử dụng quota;
  • Kiểm soát sử dụng đĩa — nếu quota bị vượt quá, người dùng không thể lưu tệp mới.

Bật Disk Quotas trên Windows 10/Windows Server 2016

Xét trường hợp cấu hình NTFS quotas trên ổ chứa dữ liệu người dùng trên Windows Server 2016. Trong tất cả các phiên bản Windows trước (bắt đầu từ Windows 2003), NTFS disk quotas được cấu hình theo cách giống nhau.

Mở cửa sổ thuộc tính ổ đĩa bạn muốn bật quotas, đi đến tab Quota. Sau đó nhấp Show Quota Settings:

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Để bật quotas cho volume này, tích Enable quota management.

Các tùy chọn sau có thể được tích tùy thuộc vào kịch bản sử dụng quota:

  • Deny disk space to users exceeding quota limit – ngăn người dùng vượt quá giới hạn quota ghi vào đĩa;
  • Limit disk space to — đặt giới hạn tổng kích thước tệp cho một người dùng;
  • Log event when a user exceeds their quota limit – ghi sự kiện trong Event Viewer nếu người dùng vượt quá giới hạn quota;
  • Log event when a user exceeds their warning level – ghi sự kiện khi đạt ngưỡng cảnh báo quota.

Không khuyến khích bật tùy chọn "Deny disk space to users exceeding quota limit" ngay lập tức. Tốt hơn là ước lượng mức sử dụng đĩa hiện tại của người dùng. Trong ví dụ của chúng tôi, chúng ta muốn giới hạn mỗi người dùng 1 GB không gian đĩa trên server.

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Lưu thay đổi (Apply). Sau một thời gian (tùy thuộc vào kích thước đĩa và số lượng tệp), Windows sẽ tính tổng sử dụng không gian đĩa của mỗi người dùng.

Nhấp vào nút Quota Entries. Bạn sẽ thấy bảng kết quả hiển thị quotas và kích thước không gian hiện tại được dùng bởi mỗi người dùng (có tệp trên hệ thống tệp). Ở đây bạn có thể thấy ngay người dùng nào đã vượt quá disk quotas của họ.

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Mặc định, cùng quota được đặt cho tất cả người dùng. Từ cửa sổ Quota Entries, bạn có thể tạo, tăng hoặc vô hiệu hóa cài đặt quota tùy chỉnh cho người dùng cụ thể.

Để tắt NTFS disk quotas cho tài khoản người dùng cụ thể, mở thuộc tính (Properties) của mục trong bảng quota và tích "Do not limit disk usage".

Quan trọng. Bạn phải tắt quotas cho tài khoản hệ thống NT Service\TrustedInstaller và NT AUTHORITY\SYSTEM, nếu không Windows có thể không hoạt động đúng.

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Từ cửa sổ danh sách quota, bạn có thể export cài đặt quota của mình rồi import và áp dụng cho ổ đĩa hoặc máy tính khác.

Nếu bạn muốn hiển thị danh sách tệp được tính trong quota của người dùng cụ thể, bạn cần chọn mục menu Delete.

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Hộp thoại này cho phép thay đổi chủ sở hữu tệp cụ thể (Take ownership), xóa hoặc di chuyển tệp.

Sau khi bạn sắp xếp soft quotas ở chế độ audit, bạn có thể bật tùy chọn Deny disk space to users exceeding quota limit. Điều này sẽ bật chế độ hard disk quotas. Bây giờ người dùng không thể vượt quá không gian đĩa được cấp. Lưu ý rằng kích thước ổ đĩa trong phiên người dùng hiển thị dựa trên disk quotas hiện có. Trong ví dụ này, 876 MB trong 1 GB quota còn trống cho tài khoản của tôi trên ổ C:\.

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Nếu giới hạn quota bị vượt quá, người dùng nhận thông báo sau:

There is not enough space on …. xx MB is needed to copy this item. Delete or move files so you have enough space.

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Cùng lúc đó, sự kiện với EventID 37 và nguồn Ntfs được ghi vào Event Viewer:

A user hit their quota limit on volume C:.

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Cấu hình Disk Quotas với cài đặt Group Policy

Bạn có thể quản lý cài đặt disk quota trên máy tính và server trong miền dùng Group Policies. Cài đặt quota nằm trong phần GPO: Computer Configuration → Administrative Templates → System → Disk Quotas. Để bật disk quotas tương tự như thảo luận trên, đặt các cài đặt sau trong GPO của bạn:

  • Enable Disk Quotas: Enable
  • Enforce Disk Quota Limit: Enable
  • Default Quota Limit And Warning Level: Enable (Default quota limit/warning level: 1 Gb)
  • Log Event When Quota Limit Exceeded: Enable
  • Apply Policy To Removable Media: Enable (nếu cần áp dụng quota cho removable media, bao gồm USB flash drive)

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Còn lại là gán GPO này cho OU với máy tính/server cần áp dụng disk quotas và chờ cập nhật cài đặt group policy.

Disk quotas cấu hình qua GPO được áp dụng cho tất cả ổ đĩa của máy tính. Bạn không thể cấu hình loại trừ cho người dùng cụ thể.

Quản lý Disk Quotas bằng Command Prompt/PowerShell

NTFS quotas cũng có thể quản lý từ command prompt. Để làm vậy, lệnh fsutil quota được dùng.

Để bật soft quota cho ổ đĩa, dùng lệnh:

fsutil quota track E:

Để bật hard NTFS quota, chạy:

fsutil quota enforce E:

Để tắt hoàn toàn disk quotas, dùng lệnh:

fsutil quota disable E:

Để lấy cài đặt quota hiện tại cho ổ chỉ định, chạy:

fsutil quota query e:

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Lấy danh sách người dùng đã vượt quá disk quotas của họ:

fsutil quota violations

Để thay đổi ngưỡng quota cho người dùng cụ thể, dùng lệnh:

fsutil quota modify E: 2000000000 100000000 corp\aabrams

Kích thước quota chỉ định bằng byte (2 GB trong ví dụ này). Giá trị đầu tiên là kích thước tối đa dữ liệu người dùng trên ổ (hard quota), giá trị thứ hai là ngưỡng cảnh báo (warning level).

Tìm tần suất cập nhật disk quotas (giây):

fsutil behavior query quotanotify

Mặc định, quotas cập nhật mỗi giờ một lần.

Cách bật và cấu hình Disk Quotas cho người dùng trong Windows

Không có cmdlet PowerShell tích hợp sẵn để quản lý NTFS disk quotas. Tuy nhiên, chúng có thể quản lý dùng lớp WMI Win32_DiskQuota. Ví dụ, script PowerShell sau sẽ hiển thị thông tin về quota người dùng hiện tại.


$strCom = "."
$colItems = get-wmiobject -class "Win32_DiskQuota" -namespace "root\CIMV2" -computername $strCom
foreach ($objItem in $colItems) {
write-host "Quota usage: " $objItem.DiskSpaceUsed
write-host "Quota Hard Limit: " $objItem.Limit
write-host "Drive: " $objItem.QuotaVolume
write-host "Status: " $objItem.Status
write-host "Username: " $objItem.User
write-host "Quota Warning Limit: " $objItem.WarningLimit
}