附录 A. 将 NFS 共享用于内容存储

您的环境需要足够的硬盘空间才能履行内容存储。在某些情况下,使用 NFS 共享来存储此内容非常有用。本附录演示了如何将 NFS 共享挂载到 Satellite 服务器的内容管理组件上。

重要

/var/lib/pulp 文件系统使用高带宽、低延迟存储。Red Hat Satellite 有很多 I/O 密集型操作,因此高延迟、低带宽存储可能会遇到性能下降的问题。

流程

  1. 创建 NFS 共享。本例使用 nfs.example.com:/Satellite/pulp 的共享。确保此共享为 Satellite 服务器及其 apache 用户提供适当的权限。
  2. 在 Satellite 服务器上停止 Satellite 服务:

    # satellite-maintain service stop
  3. 确保 Satellite 服务器安装了 nfs-utils 软件包:

    # satellite-maintain packages install nfs-utils
  4. 您需要将 /var/lib/pulp 的现有内容复制到 NFS 共享。首先,将 NFS 共享挂载到临时位置:

    # mkdir /mnt/temp
    # mount -o rw nfs.example.com:/Satellite/pulp /mnt/temp

    /var/lib/pulp 的现有内容复制到临时位置:

    # cp -r /var/lib/pulp/* /mnt/temp/.
  5. 设置共享上所有文件的权限,以使用 pulp 用户。
  6. 卸载临时存储位置:

    # umount /mnt/temp
  7. 删除 /var/lib/pulp 的现有内容:

    # rm -rf /var/lib/pulp/*
  8. 编辑 /etc/fstab 文件并添加以下行:

    nfs.example.com:/Satellite/pulp    /var/lib/pulp   nfs    rw,hard,intr,context="system_u:object_r:pulpcore_var_lib_t:s0"

    这使得挂载在系统重启后保持不变。确保包含 SELinux 上下文。

  9. 启用挂载:

    # mount -a
  10. 确认 NFS 共享挂载到 var/lib/pulp

    # df
    Filesystem                         1K-blocks     Used Available Use% Mounted on
    ...
    nfs.example.com:/Satellite/pulp 309506048 58632800 235128224  20% /var/lib/pulp
    ...

    另外,确认现有内容存在于 var/lib/pulp 上的挂载中:

    # ls /var/lib/pulp
  11. 在 Satellite 服务器上启动 Satellite 服务:

    # satellite-maintain service start

Satellite 服务器现在使用 NFS 共享来存储内容。运行内容同步,以确保 NFS 共享按预期工作。更多信息请参阅 第 6.6 节 “同步软件仓库”