Today's Page Hits: 1875
I have more hair and it isn't so grey. :->
This page validates as XHTML 1.0, and will look much better in a browser that supports web standards, but it is accessible to any browser or Internet device. It was created using techniques detailed at glish.com/css/.
If you fail to share a zfs pool on the mds, then nfs will not be enabled and therefore the mds auth records will not load.
# mdsadm -o add -t auth -a ip=10.1.233.117 adding: IP Addr - 10.1.233.117 Mar 20 20:37:41 pnfs-3-15 nfs: NFS Server not loaded # zpool create -f nippy /dev/dsk/c1t0d0s7 # echo '::walk Device_entry_cache | ::print struct rfs4_dbe data | ::print mds_device_t' | mdb -k mdb: failed to perform walk: unknown walk name
Above we see mdsadm clearly telling us we have an issue. And the fact that we can't use our simple mdb command to see the auth records is a worry.Just as I rebooted, I realized what the problem was. And we can check it out:
# mdsadm -o add -t auth -a ip=10.1.233.117 adding: IP Addr - 10.1.233.117 Mar 20 20:42:54 pnfs-3-15 nfs: NFS Server not loaded # echo '::walk Device_entry_cache | ::print struct rfs4_dbe data | ::print mds_device_t' | mdb -k mdb: failed to perform walk: unknown walk name # echo '::walk Device_entry_cache | ::print struct rfs4_dbe data | ::print mds_device_t' | mdb -k mdb: failed to perform walk: unknown walk name # zfs set sharenfs=rw,anon=0 nippy # echo '::walk Device_entry_cache | ::print struct rfs4_dbe data | ::print mds_device_t' | mdb -k
We can see that once the share is enabled, we can walk the structures. We can redo the mdsadm command:
# mdsadm -o add -t auth -a ip=10.1.233.117 adding: IP Addr - 10.1.233.117 # echo '::walk Device_entry_cache | ::print struct rfs4_dbe data | ::print mds_device_t' | mdb -k
What is wrong now? We need to enable the ds:
# dservadm enable
And:
# echo '::walk Device_entry_cache | ::print struct rfs4_dbe data | ::print mds_device_t' | mdb -k
{
dbe = 0xffffff02f4156f08
dev_addr = {
na_r_netid = 0xffffff02f61bfc80 "tcp"
na_r_addr = 0xffffff02efde8a88 "10.1.233.117.147.49"
}
dev_flags = 0x3
dev_infop = 0xffffff02f4157f78
dev_list_next = {
list_next = 0xffffff02f4157fb8
list_prev = 0xffffff02f4157fb8
}
}
Both the mdsadm command and the mdb walkers need the nfssrv module to be loaded, and so that happens once we share something..
Posted by Trebor on April 03, 2008 at 12:11 PM CDT #