CentOS操作系统提供多种功能以限制用户的资源使用,帮助网站主机和服务器管理员在共享服务器上公平分配资源,并创建分级账户系统。如果没有配额,某些用户可能会无意或故意地使用超过其公平份额的资源,进而影响其他用户的网站性能。在Hostease的服务器上,我们也可以利用这些功能来确保资源的合理分配。

什么是Inode?

Inode是索引节点的缩写,是存储文件系统元数据的信息,包括每个文件的位置。每个文件和目录都有一个inode,包含所有者详情、权限、文件大小、文件类型以及指向其数据的指针。尽管不同文件系统的内容和结构有所不同,但inode在所有Unix文件系统中都起着类似的作用。

由于每个文件都有一个inode,实施inode配额相当于限制文件数量。Inode配额并不控制用户在其主目录中可以存储的数据量,而是限制文件数量,而不是大小。

在过去,inode配额很重要,因为每个文件系统在磁盘卷格式化时都有一个固定数量。如果用户生成太多文件,可能会用完所有的inodes,导致无法创建新文件。这在电子邮件服务器上尤为常见,因为收件箱中通常会包含许多小文件。然而,自2014年CentOS 7发布开始,默认文件系统是XFS,动态分配inodes,因此不会耗尽inodes。

但是,文件数量过多会带来其他问题。它们会降低硬盘性能,并增加内存消耗。此外,每个inode会消耗少量磁盘空间,XFS上的默认大小为512字节。在极少数情况下,用户可能生成大量文件,导致磁盘卷被inodes填满,无法存储数据。这通常发生在错误的脚本自动生成大量小文件或空文件时,但这是需要防范的风险。

在cPanel中显示Inode使用情况

可以通过统计侧边栏的文件使用功能,通知cPanel用户他们的inode限制。在Hostease的服务器上,我们也可以利用这一功能,确保用户了解其资源使用情况。它显示已用和可用的inodes,允许用户在接近限制时管理文件数量。

默认情况下,文件使用功能未显示,但服务器管理员可以在WHM中激活它。在WHM侧边栏菜单中,选择“Server Configuration”下的“Tweak Settings”。在搜索框中输入“inode”,并启用“在cPanel统计栏中显示文件使用信息(inode计数)”选项。

如何管理 Inode 配额和控制 Inode 使用情况_服务器

减少Inode使用

接近inode配额限制的cPanel用户,可以通过删除文件来释放inodes。Inode配额有两种类型:软配额和硬配额。如果超过软配额,仍然可以创建文件。如果超过硬配额,将无法创建文件。许多主机账户功能需要生成文件。如果达到硬限制,将无法添加新网页、接收电子邮件、安装软件或执行许多其他常见任务。

在Hostease的Linux虚拟主机上,可以通过以下方法删除文件,来减少inode使用:

进入cPanel面板的文件管理器中,删除不需要的未使用的文件。

移除旧备份或者占用过大的备份。

清理网站程序中的缓存,因为缓存往往会创建大量小文件。

为XFS文件系统创建Inode配额

cPanel和WHM不包含inode管理界面,但服务器管理员可以使用操作系统内置工具分配用户配额。

要使用inode配额,文件系统必须使用“userquota”、“uqouta”或“quota”选项挂载。要验证配额是否已激活和执行,可以打开WHM终端界面并运行以下命令:

less /etc/fstab

这将显示文件系统配置选项。找到要应用配额的XFS文件系统,验证上述选项之一是否存在。Hostease的虚拟主机默认激活配额,因此应已配置。

例如,执行上述命令后可以看到,挂载在根目录的卷有uqouta选项,意味着可以执行inode配额。如果没有看到类似选项,需要使用WHM的初始配额设置功能激活配额。

如何管理 Inode 配额和控制 Inode 使用情况_服务器_02

在WHM中,导航到“Server Configuration”下的“Initial Quota Setup”。点击“继续”按钮。根据文件系统的大小,启用配额可能需要一些时间。一旦启用配额,必须重新启动服务器。

如何管理 Inode 配额和控制 Inode 使用情况_服务器_03

如果更喜欢在命令行激活配额,可以以root身份运行以下命令:

/scripts/initquotas

/scripts/fixquotas

reboot

要验证配额是否已激活,重新运行“less /etc/fstab”命令,检查相关卷现在是否有配额选项。

接下来,需要对用户应用配额。可以使用以下命令以root身份运行:

xfs_quota -x -c 'limit -u isoft=100000 ihard=150000 cpanel1' /

此命令为用户“cpanel1”在挂载在“/”的文件系统上设置100,000个inode的软限制和150,000个inode的硬限制。在实际主机场景中,通常不会使用“/”分区存储用户数据,因此请确保将“/”替换为正确的文件系统挂载点。

一旦设置了inode配额,cPanel用户将可以在统计侧边栏的文件使用部分看到限制。它显示限制和已用inode的百分比。

如何管理 Inode 配额和控制 Inode 使用情况_服务器管理_04

自动化Inode配额

手动方法适用于少数用户,但在多数用户的虚拟主机服务器上会变得繁琐。因此,cPanel提供了标准化挂钩,可以在cPanel和WHM执行操作时触发脚本,如创建新主机账户。使用挂钩和自定义代码,可以在创建账户或发生许多其他事件时自动应用inode和其他配额。在Hostease的服务器上安装cPanel的环境中,利用这些自动化工具可以极大提升管理效率。