2.3. GFS2 中的 SELinux

在 GFS2 中使用 Security Enhanced Linux(SELinux)会导致性能小。为了避免这种性能损失,您可能会选择在 GFS2 中不使用 SELinux,即使其所在的系统中的 SELinux 处于 enforcing 模式。挂载 GFS2 文件系统时,您可以使用 context 选项(如 mount(8)man page 所述)确定 SELinux 不会尝试读每个文件系统项中的 seclabel 元素。SELinux 会假设文件系统中的所有内容都被 context 挂载选项提供的 seclabel 元素进行标记。这也将加快处理速度,因为它避免了可能包含 seclabel 元素的扩展属性块的另一个磁盘。

例如:在采用 enforcing 模式的 SELinux 的系统中,如果文件系统将要包含 Apache 内容,您可以使用以下 mount 命令挂载 GFS2 文件系统。这个标签将应用于整个文件系统,它会保留在内存中,不会被写入磁盘。

# mount -t gfs2 -o context=system_u:object_r:httpd_sys_content_t:s0 /dev/mapper/xyz/mnt/gfs2

如果您不确定文件系统是否包含 Apache 内容,您可以使用标签 public_content_rw_tpublic_content_t,或者定义一个新标签并为其定义策略。

请注意,在一个 Pacemaker 集群中,应该一直使用 Pacemaker 管理 GFS2 文件系统。您可在创建 GFS2 文件系统资源时指定挂载选项。