[RDD] NFS setup for audio store and mysql

Bill Putney billp at wwpc.com
Sat Jun 25 22:43:47 EDT 2011


Andy,

I have a DHCP server that provides the same address to the clients and 
server when they come up based on their MAC addresses but I have all the 
names and addresses in the /etc/hosts table in each machine so I can use 
names inside the computers and they don't have to query DNS every time.  
DNS isn't reliably fast.

I don't know much about how MySQL does it's magic. All of my stations 
are the same. In my case I just have different automation clients in 
different studios for redundancy and convenience.

Bill

  On 6/25/11 6:46 PM, VE4PER / Andy wrote:
> Thanks for your patience with me Bill, the info you gave me helped
> figure most of it out,
> but in the end I had to resort to using actual ip addresses in the fstab
> file and that got it working.
>
> I tried everything to avoid static addresses in so many files, but
> wouldn't resolve the names, at least the way
> I have dns set up right now.
>
> The extra experimenting with different mounts was to have both a client
> and server running on every machine, and having
> each of the machines either being able to access the other machines'
> shares directly or indirectly via the main server shares.
> Each machine would export it's net share to the server, then any other
> machine would mount it using fstab, either as a share on
> the server, or else directly from the nfsd export of the individual
> boxes. It was more an attempt to emulate peer-to-peer under nfs
> so that the server daemons wouldn't be tied up by p2p type net traffic.
> I think it would still work but it is way too much effort to type
> all the ip addresses into all the boxes; maybe later when I get the dns
> sorted out.
>
> Thanks again, and I have another question, open to anyone in the forum:
>
> How do multiple stations share a common sql database as well as cart
> library..... Do they use code numbers and service flters
> to keep things like custom ads for each station identifiable? If the
> stations had different formats for music and all ripped or rdimported
> their music in are the CD's/carts tracked using a combination of codes,
> services, and groups to determine the sources and primary users, yet all
> ahve full access to the music library and recorded feeds?
>
> Thanks
> Andy
>
>
>
>
> VE4PER / Andy wrote:
>> Bill Putney wrote:
>>
>>> It would help to see your /etc/hosts file since your using mnemonic host
>>> addresses. I take it that 192.168.0.16 is wrangler (the server) and
>>> 192.168.0.20 is caribou (the client).
>>>
>>>
>> Hosts file only has loopback address. I have a dedicated PC for a firewall
>> and it auto assigns reserved IP addresses based on the NIC's individual MAC
>> addresses. That way they always get the same address as if it was static
>> IP without
>> me having to do it manually. The way it works is it builds a cache with
>> use in the
>> firewall PC and works almost as internal network dns or dns cache
>> ( when the outside world is turned off).
>>
>> Occasionally I have had to bypass the dedicated firewall/router PC and
>> go right onto
>> the www pipe, that is why each box has a firewall actice until I finish
>> experimenting
>> and have confidence in what I am doing.
>>
>>> So, why do you have a firewall between the machines in your station?
>>> Looks like an unnecessary complication. You really want as little
>>> processing between the clients and the server as you can manage. I guess
>>> you've turned on the firewalls on the automation computers. A better
>>> choice is to have a third routing firewall machine between your studio
>>> the rest of the world.
>>>
>>> Load the sshd package on your server and see if you can complete a ssh
>>> connection from your client to your server. That's a better test than
>>> pings since nfs and ssh both use TCP.
>>>
>>>
>>>
>> I have the ISPConfig http package that uses those connections and they
>> all work properly
>> to the server to configure the mail, dns and apache2, and ftp as well as
>> external users
>> for www sites.
>>
>>
>>> It sounds like there is no route to your host. They are on the same
>>> network and should be able to find each other without transiting a
>>> gateway. Are arp's being blocked in the firewall(s)? If you can't find
>>> the MAC layer address for the next hop (gateway or destination) Linux
>>> might complain about there being no route. Pings seem to be working at
>>> least one direction.
>>>
>> The pings work both directions... I quoted details for both boxes initially
>> and included ping results for both.
>>
>>
>>> Look at your arp tables in the client and serve to
>>> see if you have the right MAC addresses for the IP addresses. Type "arp
>>> -an" from the command line.
>>>
>>>
>>>
>> root at caribou:/# arp -an
>> ? (192.168.0.1) at (correct MAC address) [ether] on eth0   (Dedicated
>> Firewall Box)
>> ? (192.168.0.16) at (correct MAC address) [ether] on eth0 (caribou
>> client w/s)
>> root at caribou:/#
>>
>> root at wrangler:/# arp -an
>> ? (192.168.0.20) at (correct MAC address) [ether] on em1 (wrangler server )
>> ? (192.168.0.1) at (correct MAC address) [ether] on em1 ( Dedicated
>> Firewall Box)
>> root at wrangler:/#
>>
>> Based on the general description here quoted from wikipedia:
>> #########
>>
>> For example, the computers /Matterhorn/ and /Washington/ are in an
>> office, connected to each other on the office LAN
>> <http://en.wikipedia.org/wiki/Local_area_network>   by Ethernet
>> <http://en.wikipedia.org/wiki/Ethernet>   cables and network switches
>> <http://en.wikipedia.org/wiki/Network_switches>, with no gateways
>> <http://en.wikipedia.org/wiki/Gateway_%28telecommunications%29>   or
>> routers<http://en.wikipedia.org/wiki/Routers>   in between. Matterhorn
>> knows that it wants to send a packet to the machine with IP address
>> <http://en.wikipedia.org/wiki/IP_address>   192.168.0.55, but in order to
>> do so just in the office, it needs to know the MAC address of the
>> computer for 192.168.0.55. First, Matterhorn has its own cheatsheet,
>> actually a cached ARP table, where it looks up 192.168.0.55, and
>> hopefully it finds the answer, 00:eb:24:b2:05:ac, which is the MAC
>> address for the Washington computer. It then sends the packet to
>> 00:eb:24:b2:05:ac, Washington. The signal goes out Matterhorn's Ethernet
>> adapter<http://en.wikipedia.org/wiki/Ethernet_adapter>, over a cable to
>> the switch, through another cable and into Washington's Ethernet
>> adapter, all guided by that MAC address.
>>
>> What if 192.168.0.55 is not listed in Matterhorn's ARP table? Then
>> Matterhorn has to send out a broadcast ARP message, to all the machines
>> on the office LAN, basically saying, "Hey, which one of you is
>> 192.168.0.55?" by setting the destination MAC address
>> <http://en.wikipedia.org/wiki/MAC_address>   to FF:FF:FF:FF:FF:FF.
>> Washington replies, saying, "It's me, 00:eb:24:b2:05:ac." Matterhorn
>> then stores that info in its ARP table so it is available for future
>> sessions.
>>
>> ##########
>>
>> I would expect that either machine should see all the others not just
>> themselves and the dedicated firewall PC; is that not correct?
>> In the results above wrangler doesn't get an arp response from caribou
>> and caribou doesn't get one from wrangler. Does arp learning
>> use specific assigned ports?
>>
>> root at caribou:/# nmap -pr 192.168.0.0/24
>>
>> Starting Nmap 5.00 ( http://nmap.org ) at 2011-06-24 19:18 UTC
>> Interesting ports on 192.168.0.1:
>> Not shown: 998 closed ports
>> PORT   STATE SERVICE
>> 53/tcp open  domain
>> 81/tcp open  hosts2-ns
>> MAC Address: (correct mac address) (SMC Networks)
>>
>> Interesting ports on antelope (192.168.0.10):
>> Not shown: 996 closed ports
>> PORT     STATE SERVICE
>> 135/tcp  open  msrpc
>> 139/tcp  open  netbios-ssn
>> 445/tcp  open  microsoft-ds
>> 3306/tcp open  mysql
>> MAC Address: (correct mac address) (IBM)
>>
>> Interesting ports on 192.168.0.16: (ubuntu w/s)
>> Not shown: 990 filtered ports
>> PORT     STATE  SERVICE
>> 21/tcp   open   ftp
>> 22/tcp   open   ssh
>> 53/tcp   open   domain
>> 80/tcp   open   http
>> 111/tcp  open   rpcbind
>> 139/tcp  closed netbios-ssn
>> 443/tcp  open   https
>> 445/tcp  closed microsoft-ds
>> 2049/tcp open   nfs
>> 8080/tcp open   http-proxy
>> MAC Address: (correct mac address) (Hewlett Packard)
>>
>> Interesting ports on 192.168.0.20:   (Fedora server  mysql daemon not
>> running))
>> Not shown: 995 closed ports
>> PORT     STATE SERVICE
>> 80/tcp   open  http
>> 111/tcp  open  rpcbind
>> 2049/tcp open  nfs
>> 5432/tcp open  postgresql
>> 8000/tcp open  http-alt
>>
>> All 1000 scanned ports on 192.168.0.28 are closed
>> MAC Address: (correct mac address) (Unknown)
>>
>> Interesting ports on MP620prt (192.168.0.29):
>> Not shown: 998 closed ports
>> PORT    STATE SERVICE
>> 80/tcp  open  http
>> 139/tcp open  netbios-ssn
>> MAC Address:(correct mac address) (Canon)
>>
>> All 1000 scanned ports on 192.168.0.32 are filtered
>> MAC Address: (correct mac address) (Unknown)
>>
>> Nmap done: 256 IP addresses (7 hosts up) scanned in 14.88 seconds
>> root at caribou:/#
>>
>>
>>
>>
>>
>>
>>> Why does the server have an NFS mount for /var/snd in /etc/fstab? Isn't
>>> it a local file system?
>>>
>>>
>>>
>> The mounts aren't the final mounts, they are just ones that I knew were
>> available
>> and had data in them I would recognize as being mounted once I got it
>> working.
>> Once I got those working I was going to adjust the final ones so that RD
>> would
>> have proper access it needed.
>>
>> For testing I have a number of different machines set up all with
>> hostnames so the
>> mount points during testing are named (eg wrangler-snd which actually
>> would translate
>> to /var/snd on wrangler) The point being here was when I put the Centos
>> appliance machine on, with
>> the ubuntu machines I would be able troubleshoot to get the bugs all out
>> and so confirm all working
>> properly before I messed something up in RD trying to troubleshoot
>> something to do with NFS.
>>
>>
>>
>>
>>> It looks like the client has 2 mounts for the mount point /mnt. One is
>>> to mount it's own local root file system?
>>>
>>>
>> Again this was just test attempts to try and get something through using
>> different syntaxing.
>>
>>
>>> There should be an nfs mount on the client for /var/snd. I don't see one.
>>>
>>>
>>>
>>
>>> Bill
>>>
>>>      On 6/24/11 8:25 AM, VE4PER / Andy wrote:
>>>
>>>
>>>> Can anyone spot an oversight here on my NFS setup?
>>>>
>>>> The workstation is OS Ubuntu 10.04
>>>> root at caribou:/# uname -a
>>>> Linux caribou 2.6.31-11-rt #154-Ubuntu SMP PREEMPT RT Wed Jun 9 12:28:53
>>>> UTC 2010 i686 GNU/Linux
>>>>
>>>> The server, wrangler, OS is Fedora 15
>>>> root at wqrangler:/# uname -a
>>>> Linux wrangler 2.6.38.8.32.fc15.x86_64 #1 SMP Mon Jun 13 19:49:05 UTC
>>>> 2011 x86_64 x86_64 x86_64 GNU/Linux
>>>>
>>>> SELinux is turned OFF on both machines, and firewalls are both set OPEN
>>>> IN and OUT on 111 and 2049
>>>> portmapper doesn't appear to exist on the fedora server.
>>>>
>>>> I am not able to mount either machines' shares from their own clients or
>>>> from opposite machines' clients.
>>>> Error is always "rpc mount export: RPC: Unable to receive; errno = No
>>>> route to host"
>>>>
>>>> Thanks
>>>> Andy
>>>>
>>>>
>>>>
>>>> /etc/ftsab on server
>>>>
>>>> #
>>>> # /etc/fstab
>>>> # Created by anaconda on Sat May 28 10:02:23 2011
>>>> #
>>>> # Accessible filesystems, by reference, are maintained under '/dev/disk'
>>>> # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
>>>> #
>>>> dev/mapper/vg_wrangler-lv_root /                       ext4
>>>> defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0        1 1
>>>> dev/mapper/vg_wrangler-lv_swap swap                    swap
>>>> defaults        0 0
>>>> UUID=8c94c9a1-eccc-433d-aeca-60b932026044 /
>>>> ext4    defaults        1 1
>>>> UUID=xxxxxxxxxxxxxxxxxxxxxx /home                   ext4
>>>> defaults        1 2
>>>> UUID=yyyyyyyyyyyyyyyyyyyyyy /usr                    ext4
>>>> defaults        1 2
>>>> UUID=zzzzzzzzzzzzzzzzzzzzzz /var                    ext4
>>>> defaults        1 2
>>>> UUID=uuuuuuuuuuuuuuuuuuuuuu swap                    swap
>>>> defaults        0 0
>>>> tmpfs                   /dev/shm                tmpfs   defaults        0 0
>>>> devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
>>>> sysfs                   /sys                    sysfs   defaults        0 0
>>>> proc                    /proc                   proc    defaults        0 0
>>>> wrangler:/home            /mnt/wrangler-home    nfs    defaults    0 0
>>>> wrangler:/var/snd        /mnt/wrangler-snd    nfs    defaults    0 0
>>>> wrangler:/var/music        /mnt/wrangler-music    nfs    defaults    0 0
>>>>
>>>>
>>>> /etc/exports on server
>>>>
>>>> /var/music                     192.168.0.0/24(rw,sync,no_wdelay)
>>>> /var/snd                       192.168.0.0/24(rw,sync,no_wdelay)
>>>> /home                          192.168.0.0/24(rw,sync,no_wdelay)
>>>>
>>>>
>>>> ping, status and showmount on server
>>>> [root at wrangler /]# echo 0>     /selinux/enforce
>>>> [root at wrangler /]# ps -A|grep nfs
>>>>        859 ?        00:00:00 nfsiod
>>>>       1028 ?        00:00:00 nfsd4
>>>>       1029 ?        00:00:00 nfsd4_callbacks
>>>>       1030 ?        00:00:00 nfsd
>>>>       1031 ?        00:00:00 nfsd
>>>>       1032 ?        00:00:00 nfsd
>>>>       1033 ?        00:00:00 nfsd
>>>>       1034 ?        00:00:00 nfsd
>>>>       1035 ?        00:00:00 nfsd
>>>>       1036 ?        00:00:00 nfsd
>>>>       1037 ?        00:00:00 nfsd
>>>>       1157 ?        00:00:00 nfsv4.0-svc
>>>> [root at wrangler /]# ps -A|grep rpc
>>>>        800 ?        00:00:00 rpcbind
>>>>        849 ?        00:00:00 rpciod
>>>>        955 ?        00:00:00 rpc.statd
>>>>       1019 ?        00:00:00 rpc.idmapd
>>>>       1023 ?        00:00:00 rpc.rquotad
>>>>       1045 ?        00:00:00 rpc.mountd
>>>> [root at wrangler /]# ping caribou
>>>> PING caribou (192.168.0.20) 56(84) bytes of data.
>>>> 64 bytes from caribou (192.168.0.20): icmp_req=1 ttl=64 time=0.256 ms
>>>> 64 bytes from caribou (192.168.0.20): icmp_req=2 ttl=64 time=0.238 ms
>>>> 64 bytes from caribou (192.168.0.20): icmp_req=3 ttl=64 time=0.240 ms
>>>> ^C
>>>> --- caribou ping statistics ---
>>>> 3 packets transmitted, 3 received, 0% packet loss, time 1999ms
>>>> rtt min/avg/max/mdev = 0.238/0.244/0.256/0.019 ms
>>>> [root at wrangler /]# showmount -e wrangler
>>>> Export list for wrangler:
>>>> /home      192.168.0.0/24
>>>> /var/snd   192.168.0.0/24
>>>> /var/music 192.168.0.0/24
>>>> [root at wrangler /]#
>>>>
>>>>
>>>> firewall has 111 and 2049 open both directions both protocols TCP/UDP
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ######################################################################
>>>> WORKSTATION
>>>>
>>>> /etc/fstab on w/s
>>>> # /etc/fstab: static file system information.
>>>> #
>>>> # Use 'blkid -o value -s UUID' to print the universally unique identifier
>>>> # for a device; this may be used with UUID= as a more robust way to name
>>>> # devices that works even if disks are added and removed. See fstab(5).
>>>> #
>>>> #<file system>     <mount point>     <type>     <options>     <dump>     <pass>
>>>> proc            /proc           proc    defaults        0       0
>>>> # / was on /dev/sda2 during installation
>>>> UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx /               ext4
>>>> errors=remount-ro 0       1
>>>> # /home was on /dev/sda5 during installation
>>>> UUID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy /home           ext4
>>>> defaults        0       2
>>>> # swap was on /dev/sda6 during installation
>>>> UUID=zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz none            swap
>>>> sw              0       0
>>>> /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
>>>> /dev/scd1       /media/cdrom1   udf,iso9660 user,noauto,exec,utf8 0       0
>>>> /dev/fd0        /media/floppy0  auto    rw,user,noauto,exec,utf8 0       0
>>>> /home/userID    /caribou-share/users   none    bind  0  0
>>>> caribou:/   /mnt   nfs4    _netdev,auto  0  0
>>>> wrangler:/   /mnt   nfs4    _netdev,auto  0  0
>>>>
>>>>
>>>>
>>>> /etc/exports on w/s
>>>>
>>>> # /etc/exports: the access control list for filesystems which may be
>>>> exported
>>>> #        to NFS clients.  See exports(5).
>>>> #
>>>> # Example for NFSv2 and NFSv3:
>>>> # /srv/homes       hostname1(rw,sync,no_subtree_check)
>>>> hostname2(ro,sync,no_subtree_check)
>>>> #
>>>> # Example for NFSv4:
>>>> # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
>>>> # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
>>>> #
>>>> /home 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)
>>>> /usr/local 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)
>>>> /caribou-share
>>>> 192.168.0.0/24(rw,fsid=0,insecure,no_subtree_check,async)
>>>> /caribou-share/users
>>>> 192.168.0.0/24(rw,nohide,insecure,no_subtree_check,async)
>>>>
>>>>
>>>> ping, processes and statuses on w/s
>>>> [root at caribou /]# echo 0>     /selinux/enforce
>>>> root at caribou:/# ping wrangler
>>>> PING wrangler (192.168.0.16) 56(84) bytes of data.
>>>> 64 bytes from wrangler (192.168.0.16): icmp_seq=1 ttl=64 time=0.202 ms
>>>> 64 bytes from wrangler (192.168.0.16): icmp_seq=2 ttl=64 time=0.216 ms
>>>> 64 bytes from wrangler (192.168.0.16): icmp_seq=3 ttl=64 time=0.227 ms
>>>> 64 bytes from wrangler (192.168.0.16): icmp_seq=4 ttl=64 time=0.213 ms
>>>> ^C
>>>> --- wrangler ping statistics ---
>>>> 4 packets transmitted, 4 received, 0% packet loss, time 3000ms
>>>> rtt min/avg/max/mdev = 0.202/0.214/0.227/0.017 ms
>>>> root at caribou:/# showmount -e wrangler
>>>> rpc mount export: RPC: Unable to receive; errno = No route to host
>>>> root at caribou:/# showmount -e 192.168.0.16
>>>> rpc mount export: RPC: Unable to receive; errno = No route to host
>>>> root at caribou:/# ps -A|grep nfs
>>>>       3886 ?        00:00:00 nfsiod
>>>>       4066 ?        00:00:00 nfsv4.0-svc
>>>>       4667 ?        00:00:00 nfsd4
>>>>       4668 ?        00:00:00 nfsd
>>>>       4670 ?        00:00:00 nfsd
>>>>       4671 ?        00:00:00 nfsd
>>>>       4672 ?        00:00:00 nfsd
>>>>       4673 ?        00:00:00 nfsd
>>>>       4675 ?        00:00:00 nfsd
>>>>       4676 ?        00:00:00 nfsd
>>>>       4677 ?        00:00:00 nfsd
>>>> root at caribou:/# ps -A|grep rpc
>>>>       3868 ?        00:00:00 rpciod/0
>>>>       3897 ?        00:00:00 rpc.idmapd
>>>>       4173 ?        00:00:00 rpc.statd
>>>>       4683 ?        00:00:00 rpc.mountd
>>>> root at caribou:/# ps -A|grep portmap
>>>>       3776 ?        00:00:00 portmap
>>>> root at caribou:/# showmount -e localhost
>>>> Export list for localhost:
>>>> /caribou-share/users 192.168.0.0/24
>>>> /caribou-share       192.168.0.0/24
>>>> /usr/local           192.168.0.0/255.255.255.0
>>>> /home                192.168.0.0/255.255.255.0
>>>> root at caribou:/# showmount -e caribou (192.168.0.20)
>>>>
>>>> clnt_create: RPC: Program not registered
>>>>
>>>>
>>>> root at caribou:/# showmount -e 192.168.0.20
>>>> Export list for 192.168.0.20:
>>>> /caribou-share/users 192.168.0.0/24
>>>> /caribou-share       192.168.0.0/24
>>>> /usr/local           192.168.0.0/255.255.255.0
>>>> /home                192.168.0.0/255.255.255.0
>>>>
>>>> firewall has 111 and 2049 open both directions both protocols TCP/UDP
>>>> _______________________________________________
>>>> Rivendell-dev mailing list
>>>> Rivendell-dev at lists.rivendellaudio.org
>>>> http://lists.rivendellaudio.org/mailman/listinfo/rivendell-dev
>>>>
>>>>
>>> _______________________________________________
>>> Rivendell-dev mailing list
>>> Rivendell-dev at lists.rivendellaudio.org
>>> http://lists.rivendellaudio.org/mailman/listinfo/rivendell-dev
>>>
>>>
>> _______________________________________________
>> Rivendell-dev mailing list
>> Rivendell-dev at lists.rivendellaudio.org
>> http://lists.rivendellaudio.org/mailman/listinfo/rivendell-dev
>>
> _______________________________________________
> Rivendell-dev mailing list
> Rivendell-dev at lists.rivendellaudio.org
> http://lists.rivendellaudio.org/mailman/listinfo/rivendell-dev



More information about the Rivendell-dev mailing list