搜索

第 5 章 调整事务日志记录

download PDF
每个目录服务器包含一个事务日志,负责编写它所管理的所有数据库的操作。每当执行修改等目录数据库操作时,服务器都会为该 LDAP 操作调用的所有数据库操作创建一个数据库事务。这包括更新条目索引文件中的条目数据,并更新所有属性索引。如果所有操作都成功,服务器会提交事务,将操作写入事务日志,并验证整个事务是否已写入到磁盘。如果其中任何 这些操作失败,服务器会回滚事务,并且丢弃所有操作。在服务器上,这种方法以原子方式保证更新操作是 原子 的。整个操作会永久成功,且不可避免,或者失败。
目录服务器(通过内部托管线程)将事务日志的内容刷新到实际数据库索引文件中,并检查事务日志是否需要修剪。
如果服务器遇到失败(如关机),并正常关闭,则有关最近目录更改的信息仍由事务日志保存。服务器重启时,目录会自动检测到错误条件,并使用数据库事务日志来恢复数据库。
虽然数据库事务日志和数据库恢复是无需干预的自动过程,但建议您调优一些数据库事务日志属性来优化性能。
警告
事务日志记录属性仅适用于系统修改和诊断。这些设置应该只在红帽技术支持的指导下修改。设置这些属性和其他配置属性不一致,可能会导致目录不稳定。

5.1. 将数据库目录移到 9 月磁盘或分区中

要实现更高的性能,在快速驱动器中存储目录服务器数据库和事务日志,如非易失性内存 express(NVMe)驱动器或 SSD。
例如,如果您已在运行了目录服务器实例,并希望将 /dev/nvme0n1p1 分区挂载到 /var/lib/dirsrv/slapd-instance_name/db/ 目录中:
  1. 停止实例:
    # systemctl stop dirsrv@instance_name
  2. /dev/nvme0n1p1 分区挂载到临时目录。例如:
    # mount /dev/nvme0n1p1 /mnt/
  3. /var/lib/dirsrv/slapd-instance_name/db/ 目录的内容复制到临时挂载点:
    # mv /var/lib/dirsrv/slapd-instance_name/db/* /mnt/
  4. 卸载临时目录:
    # umount /mnt/
  5. 如果 /var/lib/dirsrv/slapd-instance_name/db/ 也是一个单独的挂载点,卸载该目录:
    # umount /var/lib/dirsrv/slapd-instance_name/db/
  6. 更新 /etc/fstab 文件,以便在系统引导时自动将 /dev/nvme0n1p1 分区挂载到 /var/lib/dirsrv/slapd-instance_name/db/。详情请查看 Red Hat System Administrator 指南中的对应 部分。
  7. 挂载文件系统。如果您将条目添加到 /etc/fstab 中:
    # mount /var/lib/dirsrv/slapd-instance_name/db/
  8. 如果 SELinux 在 enforcing 模式下运行,请恢复 SELinux 上下文:
    # restorecon -Rv /var/lib/dirsrv/slapd-instance_name/db/
  9. 启动实例:
    # systemctl start dirsrv@instance_name
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.