54 Chapter 3
Locating and Using Masters and Clones
When a Mac OS X process requests information from NetInfo:
mThe parent for the local domain is located using the binding information set up in
Directory Setup.
mOther parent domains are located by searching the machines directory of the domain for
records with a serves property of the form ../parent-tag, where parent-tag identifies
the NetInfo tag of the parent domain.
If the parent has clones, multiple machine records identify computers serving the domain.
When attempting to communicate with a domain, NetInfo first uses servers for the domain
running on the local computer, then other computers on the same subnet, and finally other
computers that serve the domain.
If a connection between domains is lost, NetInfo re-establishes a new connection the next
time NetInfo data is requested.
Creating Masters
The first time you create an instance of a domain, NetInfo sets up the master property for it.
You do not have to manage this property yourself. When you follow the instructions in
“Setting Up Shared Domains in Deeper Hierarchies” on page 45, you will automatically set up
all your masters.
Creating Clones
These steps create a clone of the root domain in the example that has been used in this
chapter. Since the root domain resides on server1, the clone will be created on server2.
1Log in as root to server2.
2Open the Terminal application. Enter the following niutil command to add a serves property
to the machines/server2 record in the root domain on server1 identifying server2 as a clone
server for ./myschool.
[server2:~] root# niutil -createprop -u root / /machines/server2
serves English/network ./myschool
Password: enter-server1-root-password
3Overwrite the serves property of the English domain’s server2 record to identify the future
clone by adding a new value, ../myschool:
[server2:~] root# niutil -createprop -t server1/network
/machines/server2 serves ../myschool ./network server2/local
4Create the clone:
[server2:~] root# nidomain -c myschool server1/myschool