使用 Oracle® Solaris 11.2 目录和命名服务:DNS 和 NIS

退出打印视图

更新时间: 2014 年 7 月
 
 

更改映射的主服务器

要更改选定映射的主服务器,必须先在新 NIS 主服务器上生成该映射。由于旧的主服务器名称以关键字-值对的形式出现在现有映射中(此对由 makedbm 自动插入),因此将该映射复制到新的主服务器或使用 ypxfr 将副本传送到新的主服务器是不够的。您必须将该关键字与新主服务器名重新关联。如果映射具有 ASCII 源文件,应将此文件复制到新的主服务器。

如何更改映射的主服务器

  1. 成为 NIS 主服务器的管理员。

    有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的 使用所指定的管理权限

  2. 更改目录。
    newmaster# cd /var/yp
  3. /var/yp/Makefile 中必须具有新映射的项,您才能指定要进行的映射。

    如果目前没有,现在请编辑 Makefile。对于此示例,请为名为 sites.byname 的映射添加一个项。

  4. 要更新映射或重新进行映射,请键入以下命令:
    newmaster# make sites.byname
  5. 如果旧的主服务器仍为 NIS 服务器,请远程登录 (ssh) 到该旧的主服务器并编辑 /var/yp/Makefile

    确保注释掉 Makefile 中创建 sites.byname 映射的部分,以便不再创建映射。

  6. 如果 sites.byname 仅作为 ndbm 文件存在,请在新的主服务器上重新创建映射。

    首先,通过使用 ypcat 命令反汇编 sites.byname 文件的副本。然后,通过 makedbm 运行反汇编的版本。

    newmaster# cd /var/yp
    newmaster# ypcat sites.byname | makedbm domain/sites.byname 

    在新的主服务器上创建映射后,必须向其他从属服务器发送新映射的副本。不要使用 yppush,因为其他从属服务器会试图从旧的主服务器(而不是新的主服务器)中获取新副本。解决此问题的一个典型方法是从新的主服务器向旧的主服务器传送一份映射的副本。为此,请在旧的主服务器上成为超级用户或承担等效角色,并键入以下命令。

    oldmaster# /usr/lib/netsvc/yp/ypxfr -h newmaster sites.byname

    现在,即可安全运行 yppush。其余所有的从属服务器仍会认为旧的主服务器是当前的主服务器,并尝试从旧的主服务器中获取最新版本的映射。当客户机这样做时,它们将获得新得映射,该映射会将新的主服务器指定为当前主服务器。

    如果此方法失败,可以使用 root 用户身份登录每台 NIS 服务器并执行其上所示的 ypxfr 命令。