Re: FreeBSD NFS server benchmarks vs. OpenBSD, NetBSD?

2002-06-21 Thread Matt Simerson

Terry makes some very excellent points that I've tested and documented 
in Real Life. Two years ago I did a bunch of extensive testing between 
three NFS servers (Sun, FreeBSD, NetApp) and one set of NFS clients 
(FreeBSD). Anyone that knows NFS really well would have predicted our 
test results that demonstrated the FreeBSD NFS server as being the best 
performer. The FreeBSD system was a home build with a GigE card, tuned 
MTU, large window, etc... running on a Cisco GigE switch.

It solidly outperformed every other NFS server. If you were to have used 
Solaris clients, it's quite likely that one of the other two servers 
would have outperformed the FreeBSD server. Tuning the NFS server and 
the clients also has enormous potential for improvement. It took dozens 
of iterations to find the ideal combination of MTU size, nfsiod clients, 
nfsd servers, in the mail cluster I build. However, the engineering 
effort held large dividends. That mail system is still in use, seldom 
touched by human hands. It's withstood mail storms, DoS attacks, and 
many other network events that have been catastrophic to some of our 
other mail systems.

Your best bet is to take a look at each of the platforms and determine 
which suits your needs best. Once you've etched that in stone, install 
your OS of choice and start tuning it to best suit your environment.

The above is all unbiased. I personally have used quite a few NFS 
systems, a few more than I'd like to have. Many others will have 
opinions but here are mine:

BSDI has, IMHO, one of the finest NFS implementations anywhere. I've 
used it extensively with NT, Mac OS, Mac OS X, BSDI, FreeBSD, Linux, and 
Solaris clients. As of BSDI 4.0/4.1 (IIRC) it supported NFS locking and 
worked VERY, VERY well with BSDI clients (as should be expected). I 
don't know how it's doing these days, I've dropped off the BSDI mailing 
lists and stopped using it in favor of FreeBSD.

FreeBSD has very solid NFS code in addition to being a very robust, 
versatile, and downright fun operating system. It's very easy to do 
everything I want to with FreeBSD. It's NFS is missing locking support 
but it's very fast and works very well with FreeBSD and Mac OS X 
clients. I haven't used it with anything else.

OpenBSD and NetBSD both fall into the same category in my book. Both 
OS's attack a niche that is too narrow for my purposes. I've installed 
NetBSD on a HP 9000, Mac IIci, and Intel hardware and, it works, but I 
couldn't ever easily do anything useful with them. OpenBSD is OpenBSD 
and life is too short to fight some battles.

Sun wrote the book on NFS. They also missed the boat. NFS on Sun is 
reliable and works well with Sun NFS clients. Good luck with anything 
else. Performance has never been a feature of Sun's NFS implementation 
so keep shopping if you care about it.

Linux NFS sucks. Some will point out that it's made LOTs of progress. 
They should also note there's a long ways to go. Linux NFS interaction 
with NetApp, FreeBSD, and Sun NFS servers is very problematic and never 
achieves good performance.

Matt

On Thursday, June 20, 2002, at 11:15  PM, Terry Lambert wrote:

 Dan Ellard wrote:
 Has anyone done a side-by-side benchmark of the FreeBSD, OpenBSD, and
 NetBSD NFS servers on the same hardware?  Note that I'm interested in
 server performance, not client performance.

 I'm particularly interested in read performance, but anything would be
 interesting.

 In lieu of actual data, which system do people think makes the best
 NFS server for heavily-loaded systems?

 I don't think anyone has benchmarked this; if they had, color me
 astonished.

 Your best bet would be to compare them yourself, since it's not
 that hard to install them.

 FWIW, You can't seperate server and client performance.  If you
 have two clients and two servers, the first client caches operation
 X, and the second client does not, and you have two servers, one
 where operation X is very fast, and reads are OK, and the other
 where operation X is very slow, but reads are slightly faster than
 just OK, which one shows up as being better is going to depend in
 the client you use in the benchmarks.

 If you're asking about a server and not a client, then you would
 be better of asking about the particular client by name vs. each
 of the possible server choices.

 PS: Your answers are going to differ based on UDP vs. TCP and
 rsize/wsize.  In particular, if you need to have an rsize/wsize
 larger than the MTU, make sure you are using TCP, not UDP, or
 you will be shooting yourself in the foot (most Linux clients
 wonder why when they use UDP, their nubers go to hell; that's
 why).

 -- Terry

 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-hackers in the body of the message

``
   Matt Simerson   [EMAIL PROTECTED]
   Unix Systems Engineer   Interland, Inc.

 -- I drive too

Re: Hardware for FreeBSD

2002-05-20 Thread Matt Simerson

On Friday, May 17, 2002, at 10:23  AM, Nathan Hawkins wrote:

 For years, I've had the best luck with building my own systems, or 
 having built to my specifications. Have comp delivered mostly 
 assembled, but without hard drive installed, I can usually avoid having 
 to buy Windows, too. Going this route, I pick all the parts, and can 
 generally eliminate OS incompatibilities. I also don't buy lowest 
 bidder parts, or try to save money on motherboards.

 That said, I've had pretty good luck with Dell hardware. At least the 
 Optiflex line, don't know about PowerEdges. The Optiflex's I've bought 
 all run both Linux and FreeBSD with no problems. (Local computer store 
 has had used ones very cheap.)

Years ago (~4) I used and loved the PowerEdge servers. They were always 
well engineered, solid servers that i could safely recommend to clients 
as well as using myself.

 I've used the Compaq DL380 with Linux, and would recommend it as quite 
 good and reliable hardware. Looks like the Compaq RAID controller is 
 supported on FreeBSD, but I don't have access to one anymore, so can't 
 try it.

Yup, Compaq DL380's work just fine with FreeBSD, I have several of them 
in production. I also have some of the Compaq 1850R. They suck. They'll 
work with FreeBSD but under heavy load, I've had all sorts of 
reliability problems with them.

Matt

---Nathan

 Bogdan TARU wrote:

  Hi hackers,

 I am in a big dillema (and great hurry/pressure). I need to buy some
 hardware for some firewalls for my company. And so the blues started.

 First, I went to Dell. Almost signed the papers for two PowerEdges 
 2550,
 (everything in them seemed to be compatible with FreeBSD) when I found 
 out
 they are longer then the rack!!! And not only the 2550, but most of 
 their
 cases.

 So I went to IBM. A little more expensive, but what the hack? It's IBM.
 So, almost made a system, and when coming to checking the compatibility
 list, IBM ServeRaid is not supported under FreeBSD. WTF???

 So my question is: if you'd have to buy good/reliable hardware now, 
 which
 is the vendor you'd choose (considering the facts above)? I looked on 
 the
 FreeBSD's site for some hardware vendors in Germany (where I live), but
 none found. And I'd go for a brand name, anyways.

 Thank you,
 bogdan


 
 iCom Media AG
 Kirchweg 36
 Koln, 50858
 Germany

 Phone: +49-(0)221-485-689-16
 Fax  : +49-(0)221-485-689-20


 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-hackers in the body of the message




 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-hackers in the body of the message

``
   Matt Simerson   [EMAIL PROTECTED]
   Unix Systems Engineer   Interland, Inc.

   If you keep an open mind people will throw a lot of garbage in.
``


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: bug in pw, freebsd 4.5

2002-05-02 Thread Matt Simerson

I'm interested too. I've seen this problem (quite a few times) on a large
system (1k-10k+) users.  It only happens on systems being provisioned to via
pw. 

Matt

On 5/2/02 4:27 PM, Geoffrey C. Speicher [EMAIL PROTECTED]
wrote:

 On Sat, 9 Mar 2002 04:52:25 -0600, Matthew D. Fuller wrote:
 
 [in regard to multiple concurrent pw(8) processes hosing master.passwd]
 
 The reason for this is that the only file pw(8) locks is
 /etc/master.passwd.new when it copies into it.
 
 [snip]
 
 If anybody's interested, I could take a stab at hacking something
 together for this sometime over the next week or so.
 
 I'm interested.  How did the stab go?  I'm browsing archives and I can't
 find any more followups.
 
 Geoff
 

-- 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Re: Is natd the right tool?

2002-04-12 Thread Matt Simerson

For starters, I don't use named. Furthermore, it wouldn't matter because 
this is for a cluster of load balanced name servers. There is a series 
of public interfaces (VIPs) that all of the boxes share. That series of 
Virtual addresses is on each real servers loopback interface. However, 
since it's on loopback I can't query it directly unless I'm on the box.

So, I'm fishing for a clean way to test each VIP on each server remotely.

Matt


 On Friday, April 12, 2002, at 02:01  AM, Crist J. Clark wrote:

 Why don't you just have each named(8) listen on the different port?
 See 'listen-on' in named.conf(5).
 --
 Crist J. Clark | [EMAIL PROTECTED]
| [EMAIL PROTECTED]
 http://people.freebsd.org/~cjc/| [EMAIL PROTECTED]

 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with unsubscribe freebsd-hackers in the body of the message

 On Thu, Apr 11, 2002 at 09:24:24AM -0400, Matt Simerson wrote:
  Natd is a very cool tool for doing stuff like redirecting
 connections from an external network to an internal one but I'm have a
 slightly different problem. I have a single host with one public
 interface:

  host - fxp0  =   192.168.7.251

 Also on this same host is a bunch more IP's on the loopback interface:

  host - lo0  = 127.0.0.1
 127.0.0.2
  .


 On each of the loopback addresses I have a DNS server listening. This
 part works just fine:

 matt@matt: {101} % dig www.foo.com @127.0.0.2
 verbosity snipped
 ;; ANSWER SECTION:
 www.foo.com.1D IN A 207.89.154.94


 What I want to be able to do is send a dns query to the external
 interface of the machine on a non-standard port and have it redirect
 the query to a loopback address/port and return the query the
 appropriate query result to me.



To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Is natd the right tool?

2002-04-11 Thread Matt Simerson
 Natd is a very cool tool for doing stuff like redirecting connections from an external network to an internal one but I'm have a slightly different problem. I have a single host with one public interface:

host - fxp0  =   192.168.7.251

Also on this same host is a bunch more IP's on the loopback interface:

host - lo0  = 127.0.0.1
127.0.0.2
.


On each of the loopback addresses I have a DNS server listening. This part works just fine:

matt@matt: {101} % dig www.foo.com @127.0.0.2
verbosity snipped>
;; ANSWER SECTION:
www.foo.com.1D IN A 207.89.154.94


What I want to be able to do is send a dns query to the external interface of the machine on a non-standard port and have it redirect the query to a loopback address/port and return the query the appropriate query result to me.

So, after reading the man page several times, I've tried using natd like this:

natd -n fxp0 -redirect_port udp 127.0.0.2:53  192.168.7.251:55

However, doing so simply get's me a connection refused when I send it a query like this:

matt@matt: {102} % dig -p 55 @192.168.7.251 www.foo.com

; >> DiG 8.3 >> -p @192.168.7.251 www.foo.com 
; (1 server found)
;; res options: init recurs defnam dnsrch
;; res_nsend to server 192.168.7.251: Connection refused
matt@matt: {103} % 


I'm not exactly certain why it's failing. Is this the best approach to solving this problem?  Is there a better way to go about this?

Matt


Re: Is natd the right tool?

2002-04-11 Thread Matt Simerson

My apologies,

I didn't realize the default format on my  new client was rich text 
format.

Matt


On Thursday, April 11, 2002, at 01:17  PM, Asenchi wrote:

 could you please not send emails to the list in html.  thank you. 
 asenchi.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



[no subject]

2002-04-11 Thread Matt Simerson
Natd is a very cool tool for doing stuff like redirecting connections from an external network to an internal one but I'm have a slightly different problem. I have a single host with one public interface:

host - fxp0  =   192.168.7.251

Also on this same host is a bunch more IP's on the loopback interface:

host - lo0  = 127.0.0.1
127.0.0.2
.


On each of the loopback addresses I have a DNS server listening. This part works just fine:

matt@matt: {101} % dig www.foo.com @127.0.0.2
verbosity snipped>
;; ANSWER SECTION:
www.foo.com.1D IN A 207.89.154.94


What I want to be able to do is send a dns query to the external interface of the machine on a non-standard port and have it redirect the query to a loopback address/port and return the query the appropriate query result to me.

So, after reading the man page several times, I've tried using natd like this:

natd -n fxp0 -redirect_port udp 127.0.0.2:53  192.168.7.251:55

However, doing so simply get's me a connection refused when I send it a query like this:

matt@matt: {102} % dig -p 55 @192.168.7.251 www.foo.com

; >> DiG 8.3 >> -p @192.168.7.251 www.foo.com 
; (1 server found)
;; res options: init recurs defnam dnsrch
;; res_nsend to server 192.168.7.251: Connection refused
matt@matt: {103} % 


I'm not exactly certain why it's failing. Is this the best approach to solving this problem?  Is there a better way to go about this?

Matt


Re: Is natd the right tool?

2002-04-11 Thread Matt Simerson

On Thursday, April 11, 2002, at 01:39  PM, Julian Elischer wrote:

 check out ipfw's 'fwd' command

Cool, never realized that was there. So, I tried it:

I recompiled my kernel after adding IPFIREWALL_FORWARD to it. Then:

ipfw add fwd 127.0.0.2,53 udp from any to 192.168.7.251 55
ipfw add fwd 127.0.0.2,53 tcp from any to 192.168.7.251 55

matt# ipfw show
00100  4   228 fwd 127.0.0.2,53 udp from any to 192.168.7.251 55
00200  00 fwd 127.0.0.2,53 tcp  from any to 
192.168.7.251 55
65535 528096 456266843 allow ip from any to any

(I use DEFAULT_TO_ACCEPT)

xl0: flags=8843UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500
 options=3rxcsum,txcsum
 inet 192.168.7.251 netmask 0xfe00 broadcast 192.168.7.255
 ether 00:01:02:38:2b:c7
 media: Ethernet autoselect (100baseTX full-duplex)
 status: active
lo0: flags=8049UP,LOOPBACK,RUNNING,MULTICAST mtu 16384
 inet6 ::1 prefixlen 128
 inet 127.0.0.1 netmask 0xff00
 inet 127.0.0.2 netmask 0x


DNS server still serves happily off 127.0.0.2:

matt# dig www.foo.com @127.0.0.2
;  DiG 8.3  www.foo.com @127.0.0.2
snip
;; ANSWER SECTION:
www.foo.com.1D IN A 207.89.154.94
snip


But it still won't serve off my external interface:

matt# dig -p55 www.foo.com @192.168.7.251
;  DiG 8.3  -p55 www.foo.com @192.168.7.251
; (1 server found)
;; res options: init recurs defnam dnsrch
;; res_nsend to server 192.168.7.251: Connection refused


What am I missing?

Matt


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



RE: technical comparison

2001-05-22 Thread Matt Simerson

 -Original Message-
 From: Terry Lambert [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, May 22, 2001 10:59 AM
 To: [EMAIL PROTECTED]
 Subject: Re: technical comparison
 
 ]  I work in an environment consisting of 300+ systems, all FreeBSD
 ] and Solaris, along with lots of EMC and F5 stuff. Our engineering
division
 ] has been working on a dynamic content server and search engine for the
 ] past 2.5 years. They have consistently not met up to performance and
 ] throughput requirements and have always blamed our use of FreeBSD for
it.
 
 You may wish to point out to them that their F5 boxes are
 running FreeBSD.
 
   Terry Lambert
   [EMAIL PROTECTED]

When did that change?  As of March which was the last time I had my grubby
little hands all over a F5 BigIP box in our lab, it was NOT running FreeBSD.
It runs a tweaked version of BSDI's kernel. 

Matt  


To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-hackers in the body of the message



Quota reporting is inaccurate.

2001-04-13 Thread Matt Simerson

I have an streaming server that does a mere three things in life. It accepts
FTP connections from users with local accounts and streams the files back
via Real streaming server or Darwin Streaming Server. That's it, other than
some log file processing and backups, that's all this machine does.

In the last 8 months of service, a few anomolies related to quotas have
popped up. Every time it happens, the quota mechanism reports that the user
is using more space than they really are. I've dug through the mailing list
archives and found another user with this same problem so I'm going to add a
little fuel that fire and hope a resolution to this can be found. 

On this machine all users get a fixed quota size which they are obliged not
to exceed. Quota's are set up as follows:

real1# more /etc/fstab
# DeviceMountpoint  FStype  Options Dump
Pass#
/dev/mlxd0s1b   noneswapsw  0
0
/dev/mlxd0s1a   /   ufs rw  1
1
/dev/mlxd1s1e   /usrufs rw,userquota2
2
/dev/mlxd0s1e   /varufs rw  2
2
proc/proc   procfs  rw  0
0

Quotas are enabled at boot time:

real1# grep quota /etc/rc.conf
enable_quotas="YES"

For the most part, quota's work just fine. I build this machine on FreeBSD
4.1.1-STABLE shortly after 4.1.1 was released. The server has been humming
along, doing it's streaming thing quite nicely. It's only reboot in the last
8 months was last month when I upgraded from 4.1.1 to 4.2-STABLE (4.3-BETA)
hoping for a fix to the quota problem. FTP connections are chrooted to the
users home directory so the user cannot write files outside it. We can see
how much space is in use as follows:

real1# du -d1 ~dahl
190827  /usr/home/dahl

So the user is only using 190MB of space on /usr. We can verify this by
checking the entire /usr filesystem and verifying all results are in ~dahl
which I have done as follows:

real1# find /usr -user dahl

So, the only files owned by dahl that exist live in his home dir as
expected. Doing a long list on the files confirms the file sizes and du's
count of 190MB:

real1# ll ~dahl
total 190826
-rw-r--r--  1 dahl  user   628 Mar 27 15:10 .cshrc
-rw-r--r--  1 dahl  user   299 Mar 27 15:10 .login
-rw-r--r--  1 dahl  user   160 Mar 27 15:10 .login_conf
-rw---  1 dahl  user   371 Mar 27 15:10 .mail_aliases
-rw-r--r--  1 dahl  user   331 Mar 27 15:10 .mailrc
-rw-r--r--  1 dahl  user   722 Mar 27 15:10 .profile
-rw---  1 dahl  user   276 Mar 27 15:10 .rhosts
-rw-r--r--  1 dahl  user   852 Mar 27 15:10 .shrc
-rwxr-xr-x  1 dahl  user   108 Mar 27 15:10 .xinitrc
-rwxr-xr-x  1 dahl  user   108 Mar 27 15:10 .xsession
-rw-r--r--  1 dahl  user  35826182 Apr  9 20:26 Mon040901.rm
-rw-r--r--  1 dahl  user  47932775 Apr  9 12:03 Phish.rm
-rw-r--r--  1 dahl  user  35451065 Apr 10 17:33 Tue041001.rm
-rw-r--r--  1 dahl  user  37613531 Mar 30 17:40 best0f5.rm
-rw-r--r--  1 dahl  user  38383851 Mar 30 08:17 bestof4.rm

We verify our quota settings noting that quota's think that dahl is using
345MB when in reality it should be reporting 190MB:

real1# quota dahl
Disk quotas for user dahl (uid 4639): 
 Filesystem  blocks   quota   limit   grace   files   quota   limit
grace
   /usr  345659  358400  358400  2110002000


OK, so somehow our quota consistency got maligned. Running quotacheck should
fix this right? So, we run quotacheck on our /usr filesystem:

real1# quotacheck -v /usr
*** Checking user quotas for /dev/mlxd1s1e (/usr)
unknown uid: 1751
root fixed: blocks 2508870 - 2508868
real fixed: blocks 197062 - 197046

So, quotacheck doesn't discover or fix the discrepancy. :-(  

Any ideas why this behavior would occur?  Better yet, any idea how to fix
it?

Matt





To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: Quota reporting is inaccurate.

2001-04-13 Thread Matt Simerson

Actually, I believe it reports based upon the contents of the BLOCKSIZE
environment variable which is 1k or 1024 bytes for the purposes of this
discussion. In either case, you'll notice that the reporting shown below
accurately shows that the users quota is very near the limit and the quota
is set at 350MB. 

Interestingly enough, I added check_quotas="YES" to /etc/rc.conf and
rebooted. That fixed that users quota problem. I'm not sure if it was the
rebooting (and clearing the kernels idea of what the quota should be) or if
running quotacheck in single user mode did it. I have to guess the former
because quotacheck's results should not vary dependent on whether the
machine is single user or not.

Matt


 -Original Message-
 From: Ken Stox [mailto:[EMAIL PROTECTED]]
 Sent: Friday, April 13, 2001 12:40 PM
 To: Matt Simerson
 Subject: Re: Quota reporting is inaccurate.
 
 
 
 If memory serves correct, I think you will find quota reports 512byte
 block, not 1k blocks. 
 
 On Fri, 13 Apr 2001, Matt Simerson wrote:
 
  I have an streaming server that does a mere three things in 
 life. It accepts
  FTP connections from users with local accounts and streams 
 the files back
  via Real streaming server or Darwin Streaming Server. 
 That's it, other than
  some log file processing and backups, that's all this machine does.
  
  In the last 8 months of service, a few anomolies related to 
 quotas have
  popped up. Every time it happens, the quota mechanism 
 reports that the user
  is using more space than they really are. I've dug through 
 the mailing list
  archives and found another user with this same problem so 
 I'm going to add a
  little fuel that fire and hope a resolution to this can be found. 
  
  On this machine all users get a fixed quota size which they 
 are obliged not
  to exceed. Quota's are set up as follows:
  
  real1# more /etc/fstab
  # DeviceMountpoint  FStype  Options 
 Dump
  Pass#
  /dev/mlxd0s1b   noneswapsw  
 0
  0
  /dev/mlxd0s1a   /   ufs rw  
 1
  1
  /dev/mlxd1s1e   /usrufs 
 rw,userquota2
  2
  /dev/mlxd0s1e   /varufs rw  
 2
  2
  proc/proc   procfs  rw  
 0
  0
  
  Quotas are enabled at boot time:
  
  real1# grep quota /etc/rc.conf
  enable_quotas="YES"
  
  For the most part, quota's work just fine. I build this 
 machine on FreeBSD
  4.1.1-STABLE shortly after 4.1.1 was released. The server 
 has been humming
  along, doing it's streaming thing quite nicely. It's only 
 reboot in the last
  8 months was last month when I upgraded from 4.1.1 to 
 4.2-STABLE (4.3-BETA)
  hoping for a fix to the quota problem. FTP connections are 
 chrooted to the
  users home directory so the user cannot write files outside 
 it. We can see
  how much space is in use as follows:
  
  real1# du -d1 ~dahl
  190827  /usr/home/dahl
  
  So the user is only using 190MB of space on /usr. We can 
 verify this by
  checking the entire /usr filesystem and verifying all 
 results are in ~dahl
  which I have done as follows:
  
  real1# find /usr -user dahl
  
  So, the only files owned by dahl that exist live in his home dir as
  expected. Doing a long list on the files confirms the file 
 sizes and du's
  count of 190MB:
  
  real1# ll ~dahl
  total 190826
  -rw-r--r--  1 dahl  user   628 Mar 27 15:10 .cshrc
  -rw-r--r--  1 dahl  user   299 Mar 27 15:10 .login
  -rw-r--r--  1 dahl  user   160 Mar 27 15:10 .login_conf
  -rw---  1 dahl  user   371 Mar 27 15:10 .mail_aliases
  -rw-r--r--  1 dahl  user   331 Mar 27 15:10 .mailrc
  -rw-r--r--  1 dahl  user   722 Mar 27 15:10 .profile
  -rw---  1 dahl  user   276 Mar 27 15:10 .rhosts
  -rw-r--r--  1 dahl  user   852 Mar 27 15:10 .shrc
  -rwxr-xr-x  1 dahl  user   108 Mar 27 15:10 .xinitrc
  -rwxr-xr-x  1 dahl  user   108 Mar 27 15:10 .xsession
  -rw-r--r--  1 dahl  user  35826182 Apr  9 20:26 Mon040901.rm
  -rw-r--r--  1 dahl  user  47932775 Apr  9 12:03 Phish.rm
  -rw-r--r--  1 dahl  user  35451065 Apr 10 17:33 Tue041001.rm
  -rw-r--r--  1 dahl  user  37613531 Mar 30 17:40 best0f5.rm
  -rw-r--r--  1 dahl  user  38383851 Mar 30 08:17 bestof4.rm
  
  We verify our quota settings noting that quota's think that 
 dahl is using
  345MB when in reality it should be reporting 190MB:
  
  real1# quota dahl
  Disk quotas for user dahl (uid 4639): 
   Filesystem  blocks   quota   limit   grace   files 
   quota   limit
  grace
 /usr  345659  358400  358400  21 
10002000
  
  
  OK, so somehow our quota consistency got maligned. Running 
 quotacheck should
  fix this right? So, we run quotacheck on our /usr filesystem:
  
   

RE: Quota reporting is inaccurate.

2001-04-13 Thread Matt Simerson



 -Original Message-
 From: Richard Hodges [mailto:[EMAIL PROTECTED]]
 Sent: Friday, April 13, 2001 1:23 PM
 To: Matt Simerson
 Cc: '[EMAIL PROTECTED]'
 Subject: RE: Quota reporting is inaccurate.
 
 
 On Fri, 13 Apr 2001, Matt Simerson wrote:
 
  Interestingly enough, I added check_quotas="YES" to /etc/rc.conf and
  rebooted. That fixed that users quota problem. I'm not sure 
 if it was the
  rebooting (and clearing the kernels idea of what the quota 
 should be) or if
  running quotacheck in single user mode did it. I have to 
 guess the former
  because quotacheck's results should not vary dependent on 
 whether the
  machine is single user or not.
 
 A while ago, I wanted to be sure that quotas were working and did some
 tests (on 3.4 release I think).  In general, they worked as expected,
 except that when root changed a file's ownership, the quotas did not
 seem to reflect the change.
 
 I thought this was fixed in 4.x (when I did some more tests), 
 but maybe this is still an issue?  Are there file ownership changes going
on?

There shouldn't be anything like that happening. Every username is an unique
user on the box and the only poeple with the ability to interactively login
are employees are I log everything they do.

 Another thought is that this user may have had files still open.  Even
 if you "remove" a file, it really does not go away until the last open
 handle is closed.

That seems like the most likely possibility. However, only one daemon can
add or delete files and that's FreeBSD's built in FTP daemon. If the deamon
isn't running (and it wasn't) then the file shouldn't be open (in theory). I
just installed lsof and we'll see if that doesn't reveal anything next time
I see this crop up.

Matt


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: 4.3-BETA world crashing 4.2-RELEASE kernel ?

2001-03-22 Thread Matt Simerson


 -Original Message-
 From: David O'Brien [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, March 21, 2001 8:41 PM
 To: Matt Simerson
 Cc: [EMAIL PROTECTED]
 Subject: Re: 4.3-BETA world crashing 4.2-RELEASE kernel ?
  
 First let me say to anyone reading the email I am replying to: 
 
 don't do this

 On Wed, Mar 21, 2001 at 12:58:04PM -0700, Matt Simerson wrote:
# cd /usr/src
# make buildkernel KERNEL=KERNEL_CONFIG_FILE_NAME 
# cd /usr/src; make buildworld
# make installworld
# make installkernel
# mergemaster
# reboot
 
 The order or "make buildworld" and "make buildkernel" are 100% totally
 BACKWARDS.

Actually, they aren't backwards. You've gone and snipped the parts of my
original message that show that the commands are being executed at the same
time. If either fails (for one reason or another as may happen) then I'll be
able to plainly see why the build failed and correct it or go about fixing
it manually.

 Lets explain why:  There are times when the kernel source is changed to
 use constructs of newer compiler/assembler/linker tools. Thus the kernel
 will not build with an older set of tools.  The what "make buildkernel"
 does is use the tools (ie, those built from the most up to date sources)
 that are built during "make buildworld" to compile a new kernel.  Thus
 "make buildworld" must PROCEED "make buildkernel".

Maybe I'm understanding you incorrectly here but according to what you just
said, a "make buildkernel" will fail unless you have a set of
compiler/assembler/linker tools in /usr/obj that were built from the make
buildworld process. This is inaccurate at best and I suspect it's just plain
wrong. I can "rm -r /usr/obj/*", "cd /usr/src; make clean", and then "make
buildkernel KERNEL=BLAH" and it will succeed and build a happy little
fully functionaly kernel. I've done this hundreds of times with success.

So, I guess I'm not understanding your logic here. Would you care to explain
further why this doesn't work?

 Second, the install order above is not the conservative, careful
 approach.  One should issue "make installkernel  reboot" after the
 "make buildkernel" to ensure the new kernel works 
 sufficiently well. 

Maybe that's _YOUR_ method for installing but it's not necessarily the best
one. Kernel's are not guaranteed to be backwards compatible and I've
installed a shiny new kernel that worked just fine and allowed my machine to
come up single user but because of some rude change in /etc/rc, ipfw, or any
of a number of places the machine couldn't make it to multi-user and allow
me to get back in (via the network). When most of your servers are in a
data-center 50 miles away and the rest are thousands of miles away, you'd
rather not spend the next two hours talking a NOC monkey through a 10 minute
process (if you have console). I prefer to do everything possible to make
sure the system is going to boot correctly the first time and let me regain
access. Success at building and installing the kernel, world, AND running
mergemaster gives me a reasonably good chance that when I issue the reboot,
it'll come up nice and happy.

Second, if I'm going through the bother of compiling a buildworld it's
because I want the latest version of world on my system. If there are some
problems with the new kernel, I'm not going to revert back to world.old.
I'll fix whatever is screwed up with kernel and proceed.

Last, but not least, is that I don't have a warm body near all of my
servers. I often want to do the make buildworld  kernel, installworld 
kernel, and mergemaster and NOT reboot. Then I'll pop an email off to a warm
body nearby and, at his leisure, have him give it a CTRL-ALT-DEL on the
console and watch it to make sure it comes back up.

 If not, one can always fall back to ``kernel.old''. 

One can fall back to kernel.old regardless. Even if I happen to have
world.new installed, kernel.old will still work. There may be issues but if
there is, they are surely no worse than running kernel.new with world.old.
So, which is worse, the cart without a horse or a horse without a cart? 

 Since there is no
 ``world.old''; after one does the "make installworld" backup tapes are
 the only way of taking the system back to its previous state.

I don't know many people who do buildworlds just for fun. If I'm doing a
buildworld it's because I want the newer world installed. If I'm doing it on
a server, it's because I've tested it on a dev box and I know it works the
way I want. At that point, I have no reason to fall back to the previous
world.

Matt

 -- 
 -- David  ([EMAIL PROTECTED])
   GNU is Not Unix / Linux Is Not UniX


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



The right way to build a new world WAS: 4.3-BETA worldcrashin g 4.2-RELEASE kernel ?

2001-03-22 Thread Matt Simerson
-
 From: David O'Brien [mailto:[EMAIL PROTECTED]]
 Sent: Thursday, March 22, 2001 12:56 PM
 To: Matt Simerson
 Cc: '[EMAIL PROTECTED]'
 Subject: Re: 4.3-BETA world crashing 4.2-RELEASE kernel ?
 
 
 On Thu, Mar 22, 2001 at 12:51:00PM -0700, Matt Simerson wrote:
  Actually, they aren't backwards. You've gone and snipped 
 the parts of my
  original message that show that the commands are being 
 executed at the same
  time.
 
 I read you message twice and came away with the same idea.  You should
 write more clearly.

I wrote the commands exactly as they would be issued, how much more clear
can one possibly get? Because you lack familiarity with the tool I was using
(screen) doesn't make my writing unclear. Your ignorance != my unclarity. To
make matters worse, you snipped out all the parts you didn't understand and
then reposted it with my name attached AND criticized it's behaviour which
you had incorrectly interpreted.

  Maybe that's _YOUR_ method for installing but it's not necessarily the
best
  one. Kernel's are not guaranteed to be backwards compatible and I've
  installed a shiny new kernel that worked just fine and allowed my
machine to
  come up single user but because of some rude change in /etc/rc, ipfw, or
any
  of a number of places the machine couldn't make it to multi-user and
allow
  me to get back in (via the network).
 
 That you're doing this remotely is your problem. Ask any of the
 developers living on -CURRENT where often one wants to back out of a
 newly compiled world. 

I'm not running on -CURRENT and I certainly would never run -current on a
machine that I didn't have ready access to the console of. I've tracked
5.0-current months ago when I needed a feature that wasn't in the 4-stable
tree yet (dare I admit it was support for a sound card?). I find it to be
highly annoying when I have to babysit the buildworld process and manually
fix things to get a clean compile. 

 The method I gave is the most sure and careful
 way.  That you don't have consoles on your machines so you could do this
 properly doesn't mean what I posted isn't the safest and should be
 followed unless has special needs.

 I'm happy for you.  But you have major flaws in your method where
 problems can bite you hard. 

How so? If the buildkernel fails, odds are really good that it won't
successfully finish the compile, I won't get a kernel, I can't install a
kernel that isn't compiled, and there isn't a problem other than that I
don't have the new kernel I wanted. I can address this problem very easily
and it's not likely to cause any further pain.

 As I said, I want users to know and use the
 safest method.  I've seen enough email from users that were all confused
 about the right steps -- often getting confused from posts such as yours
 where you [hopefully] understand the consequences of your method and can
 deal with them.  Many do not want to or cannot.

OK then, the safest (and recommended) way to build 4-STABLE world is:

 make buildworld
 make kernel
 reboot (into single user)
 make installworld
 mergemaster
 reboot

Many sysadmins will find this doesn't work in their environment (for a
variety of reasons). The most obvious is that they need some custom features
in their kernel. So, make a copy of GENERIC in /sys/i386/conf/, edit it
accordingly (adding support for your sound card, x10 controller, IPFW, GB
ether card, quotas, and whatever else). The procedure will likely work
exactly that same:

 make buildworld
 make kernel KERNCONF=NEW_KERNEL_NAME
 (1) reboot
 make installworld
 mergemaster
 reboot
 
1. /usr/src/UPDATING  


  Second, if I'm going through the bother of compiling a buildworld it's
  because I want the latest version of world on my system.
 
 Want != ability.  I want a latest version of 5-CURRENT on my laptop, but
 CardBus is broken right now, so I am living with a Dec world.  Such is
 life.

Such is life on -current. I think this is the majority of our desparity. You
live in a -current world where you're content to live with hacking and
tweaking source as a "normal" part of the buildworld process. It's nice that
you have console on all your boxes. 

I live in -stable where I can't remember the last time a make buildworld
failed. In fact, it's been quite some time since building a kernel the new
way "make buildkernel" failed and I think that was on a 4.1.1-release
machine that I was upgrading to 4.3-stable. It required building via
./config KERNEL; cd ../../compile/KERNEL/; etc In my world where uptime
matters, I don't normally have the luxury of installing world in single user
mode either. I have a Portmaster at home so I can access console on my own
machines but my "console" for all the machines that live in our datacenters
is a portable KVM and a NOC monkey. Ouch. :-(



  If there are some problems with the new kernel, I'm not going to revert
  back to world.old.  I'll fix whatever is screwed up with kern

RE: What is the latest known-good PXE build ?

2001-02-06 Thread Matt Simerson

I have a "magic floppy" which is nothing more than a DOS boot floppy with
the fboot.exe program on it and a BIOS image. This works like a charm for my
netbooting purposes:

 Intel (R) Boot Agent Version 4.0.12
 PXE 2.0 Build 082 (Wfm 2.0), RPC v2.7.3
 Press Ctrl+S to enter the Setup Menu 

I've written a rather lengthy document on the process at: 

   http://matt.simerson.net/computing/freebsd.netboot.shtml

I also have links to Alfreds PXE Jumpstart guide at 

   http://matt.simerson.net/computing/unix.shtml#freebsd

Anyway, that should help you out considerably. If I could legally give away
a floppy with WIN-98 MSDOS installed and the fboot.exe program I would but I
think doing so violates a software license or two.

Matt

 -Original Message-
 From: Paul Saab [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, February 06, 2001 3:23 PM
 To: Mike Smith
 Cc: Luigi Rizzo; [EMAIL PROTECTED]; [EMAIL PROTECTED]
 Subject: Re: What is the latest "known-good" PXE build ?
 
 
 Mike Smith ([EMAIL PROTECTED]) wrote:
 The BIOS trace says the PXE is revision 2.0, build 68 
 : is there some other,
 perhaps better version of it ? (the on-board NIC on 
 the machine is an fxp)

Build 068 is a disaster; you ideally want 082 or later.
   
   is there some standard way to upgrade the pxe code on the cards ?
   in case, where do i get it from ?
  
  You should be able to get updates from Intel, or if you 
 have access to a 
  Windows development system you can grab the PXE reference 
 implementation 
  kit and build your own.
 
 You still need the code to drive the nic, and noone gives this out.
 
 I have the latest stuff at:
 http://people.freebsd.org/~ps/pxeroms/
 
 Unfortunately you need windows to extract the files..  I can put up
 a few more of the files later when I get back from Munich which wont
 require you to use windows.
 
 -- 
 Paul Saab
 Technical Yahoo
 [EMAIL PROTECTED] - [EMAIL PROTECTED] - [EMAIL PROTECTED]
 Do You .. uhh .. Yahoo!?
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: FreeBSD doesn't recognize keyboard unless is plugged in atbo ot t ime.

2001-01-24 Thread Matt Simerson

Heeey, thank you guys. That is very useful information. I just got off
the phone with Belkin and my replacement KVM is on the way

Thanks,
Matt

 -Original Message-
 From: Chris Shenton [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, January 24, 2001 10:11 AM
 To: Jos Backus
 Cc: [EMAIL PROTECTED]
 Subject: Re: FreeBSD doesn't recognize keyboard unless is 
 plugged in at
 boot t ime.
 
 
 On Tue, 23 Jan 2001 23:21:46 -0800, Jos Backus [EMAIL PROTECTED] said:
 
 Jos I have the same problem with a Win2k system and a FreeBSD system
 Jos connected to an OmniCube 4-port switch, at rev. 1.5 (see the
 Jos bottom of the unit).  Belkin says it's fixed in rev. 1.9 and is
 Jos willing to exchange the unit for a newer one.
 
 I recently got a Belkin OmniCube 4-port and it seems to allow FreeBSD
 machines to boot fine, even if the machine in question is NOT
 selected. A glance at the bootom indicates "V 1.9".
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



FreeBSD doesn't recognize keyboard unless is plugged in at boott ime.

2001-01-23 Thread Matt Simerson

OK, one of my biggest pet peeves of late is that unless you have the PS/2
keyboard plugged in at boot time, it's not recognized. 

In a world of workstations where every machine has a keyboard, this would
never really be a problem but in our data center, where we have rows of
racks full of machines without keyboards, this is quite the annoyance. If a
machine has problems, the NOC monkeys wheel over a KVM cart, plug it in, and
when the machines doesn't respond to keyboard activity, assume it's locked
up and power cycle it. We've got the NOC monkeys trained NOT to do that now
(without trying a few other things) but it's still a real bugger when you
want to get onto a box via console. You have to go plug in a KVM, reboot the
machine, and then you can get console access.

Long ago, a bright SUNny OS has this same problem and they found some clever
workaround. I know that my BSDI systems don't suffer from this affliction
either. Is there already a kernel option for this? Is there some other
workaround? On a few machines I've build PS/2 connectors with a resistor
that I plug in so that FreeBSD _thinks_ there is a keyboard there at boot
time. Then we just unplug the PS/2 plug, plug in a keyboard, and all is
happy. 

Oddly enough, this behavior is also manifested when said server is plugged
into a Belkin OmniCube KVM switch unless the KVM is set to that machine.
This too is highly annoying because I have to sit and watch a computer boot
if I want to have console access to it.

I can't be the only one having this problem can I?

Matt



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: Link up/down events

2001-01-10 Thread Matt Simerson

While it can be done (I do it), using MRTG/rateup/Cricket/etc. without SNMP
is much like pushing a car down the street. Sometimes it's The Right Thing
to do but for the other 99.4% of the time, it's far preferable to use the
engine to power it. 

UCD-SNMP is more than just the UCD SNMP daemon. It's also the client
programs and a collection of SNMP utilities. With them you can do most of
what you'd ever want to use SNMP for. MRTG is simply a data graphing
utility. It uses SNMP to collect the data points but that's pretty much all
of the relationship between the two.

Matt


 -Original Message-
 From: Chuck Rock [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, January 10, 2001 11:17 AM
 To: FreeBSD Hackers
 Subject: RE: Link up/down events
 
 
 Has anyone looked into using SNMP with MRTG or some of the 
 other utilities that comes with UCD-SNMP?
 
 I think this would be very easy this way. We use Castle 
 Rock's SNMPc running
 on NT to montior our servers and connections.
 
 UCD-SNMP is a daemon and SNMP utilities for Linux and FreeBSD 
 flavors that
 work well too.
 
 http://ucd-snmp.ucdavis.edu/
 http://www.mrtg.org
 http://www.castlerock.com
 
 Chuck
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED]]On Behalf Of 
 Samuel Tardieu
  Sent: Wednesday, January 10, 2001 11:07 AM
  To: Robert Watson
  Cc: Josef Karthauser; [EMAIL PROTECTED]; [EMAIL PROTECTED]
  Subject: Re: Link up/down events
 
 
  On 10/01, Robert Watson wrote:
 
  | Presumably at some point in the stack, that notification 
 is translated
  | from a hardware event, which might be associated with devd in
  some manner
  | (and possibly also exposed there).
 
  This is the ideal situation. The other one being that the 
 status can be
  read, which would require some polling to monitor the link status.
 
 
 
 
  To Unsubscribe: send mail to [EMAIL PROTECTED]
  with "unsubscribe freebsd-hackers" in the body of the message
 
 
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: Silent FreeBSD

2000-12-27 Thread Matt Simerson

I know your pain. At home I have a good sized collection of hardware and the
noise level in my office was getting unbearably high. I used to have the mp3
player (xmms) turned up loud enough that I couldn't hear the doorbell ring.
I had been drooling over the G4 cube just because they're silent and MacOS X
really is nice. 

Some additional ideas to think about. If you've got another Unix server on
the LAN, you could netboot the gateway. Rather than having a local file
system (and consequently hard drive), use a Intel EtherExpress+ and PXE
netboot it. It works surprisingly well. I have a stack of old PPro 200's
with 128MB of RAM each, one Intel NIC card, and they all netboot off one
FreeBSD server. I have them fetch a 25MB root file system which gets mounted
as a MFS. You just need to have enough RAM in the machine to accomodate
their root file system and nfs mount the /usr and anything else you want.

If not, yet another option might be enabling the power management in BIOS so
that the drive spins down when not in use. If the machine is just a gateway,
it's file system probably isn't all that busy. Some machines also support
having their fan speeds slow when in a power savings mode.

Alas that wasn't enough for me so I worked around the problem in the
following manner.

First I replaced the drives in my G3 and FreeBSD X server with IBM GXP75
series UDMA drives. I had tested a few at work and was impressed. Not only
are they wicked fast but they're cheap ($150 for 30GB), oh-so-quiet, and
run very cool. Cool enough in fact that the internal temperature in my G3
case dropped enough that I was able to remove the CPU cooling fan I
installed back when I overclocked it. That was two significant noise
reductions. The G3 is very quiet now with only the power supply fan making a
little noise. It's quiet enough that it sits on my desk without annoying me.

My Dell PII450 on the other hand, that runs FreeBSD is not very silent.
Despite the much quieter drive, the cooling fans are still fairly noisy.
Rather than disabling one of the fans (without a good way to measure it's
effect) I chose to instead get a longer set of KVM and sound cables and
shove it into the not-so-far-away closet where it's whirring isn't offending
my ears. I can then access the server via the KVM switch and run X programs
via a SSH connection from the HP 9000 which is also be left out without
offending my ears.

The last step in silencing the office was running cat 5 to the garage,
buying a 19" rack and rackmounting the pile of FreeBSD servers and
networking hardware I had sitting in the office. I only turned on machines
as I needed them in the office but since they're 2U rackmount servers, the
fans are in the front and they're noisy. The garage has additional power
drops and since it's only partially heated, it's always cooler and therefore
a better location for the machines. 

Good luck to you and and may your silence be golden.

Matt

 -Original Message-
 From: Renaud Waldura [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, December 27, 2000 11:00 AM
 To: [EMAIL PROTECTED]
 Subject: Silent FreeBSD
 
 
 I've got that FreeBSD gateway in a corner at my house, it 
 works fine  dandy
 but the constant noise (whirring fans, hard drives) gets on my nerves.
 
 What solutions have people explored to quiet down a computer 
 system? (actual
 experience will be preferred over wild speculations). I'm 
 already aware of
 PicoBSD, but I need more storage than just a floppy. Has anybody
 experimented with RAM cards? How about noise-proof enclosures?
 
 --Renaud
 
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: hardware Dell or BSDi

2000-12-13 Thread Matt Simerson

We've got a couple BSDI machines in our lab in addition to Micron's, HP's,
and some black boxes we build ourselves. The BSDI box is by far the most
economical (as far as buying rackmount) and perform as well as anything
else. They are also using good "standard" parts which means you can find
replacement components at CompUSA, Fryes, or wherever. The BSDI boxes are
made by Telenet systems, a most respected hardware company (in many unix
circles) who was recently purchase by BSDI. 

I'm pleased to say that even after the purchase they still make mighty fine
servers.

Matt

 On Wed, 13 Dec 2000, you wrote:
  Hello all,
  
  We are going to buy our first 1U 19" rack server 
 (pizzacarton size), and
  probably there will be more in the future, they have to run FreeBSD
  4.1-stable.
  
  Normally we buy all our hardware at Dell, they also have 
 this kind of
  servers, for instance the PowerApp Web 100, we have also 
 seen this kind of
  servers form BSDi.com, they have FreeBSD preinstalled, and 
 say they are
  completely optimized. But they are considerably more expensive.
  
  Can anyone tell me more about both these servers, how good 
 is the BSDi
  machine (and the organization), does FreeBSD install on the 
 Dell and so on?
  
  tia
  Jeroen Heijungs
  Het Muziektheater
  Amsterdam, The Netherlands 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: very big mail spool directory

2000-12-12 Thread Matt Simerson

I do it a little bit differently for my million user mail server. Rather
than perform any (more) hackery on my MTA/MDA than necessary, I set up each
mail domain as it's own UID/GID on the system. This approach has some limits
but so far it's working great for me. With FreeBSD's pw tool and a bit of
scripting it's pretty simple to build yourself a
/usr/home/a/aa/aar/aardvark.com style tree. 

This type of solution has some great advantages. Since DNS (and consequently
email addresses) is a hierarchy, it makes sense to keep the highest level
(the domain name) mapping in one database. Qmail does this for us via it's
users mechanism so we use that. When mail arrives qmail checks the
/var/qmail/users/assign.cdb file and find's the username and home directory
of domain owner. Qmail-local then mosies over to that directory
(/usr/home/a/aa/aar/aardvark.com/) and obeys the contents of that domains
.qmail processing. From there you can do whatever you'd like with mail for
that domain. 

I use the vpopmail (http://www.inter7.com/vpopmail) package which includes a
vdelivermail program that gets called. So, your .qmail-default has a call to
vdelivermail which checks the username and does a lookup in the vpasswd.cdb
that's contained in the domains home dir.  There it finds the mail users
actual mail directory and then drops it in there (subject to quota and other
configurable limitations).

The vpopmail package also has some mechanisms built on so that if the number
of users for a domain exceeds a given limit (I can't remember exactly how
many) then it builds a hash tree. 

Other than some compile time tuning, I leave the /var/qmail/queue untouched.


So, you end up with something like this:

   #grep test  /etc/passwd
   test:*:1454:88:test.com:/usr/home/t/te/test:/sbin/nologin

   #grep test.com /var/qmail/users/assign
   +test.com-:test.com:1454:88:/usr/home/t/te/test/domains/test.com:-::

   #more /usr/home/t/te/test/domains/test.com/vpasswd
   test:*:1:0:testing:/usr/home/t/te/test/domains/test.com/test:100
   test2:*:1:0:TEST2:/usr/home/t/te/test/domains/test.com/test2:1000

Every mail message ends up with two database lookups (assign.cdb 
vpasswd.cdb) but the databases are fairly compact and easy to replicate
across an array of machines. It also means every authentication request
(POP, IMAP,  webmail) also has two database lookups but again, the lookups
are from small databases, very fast, and distributed across an array of
machines. This is a very simplistic overview of how it works but so far it's
been a good solution.

Best of luck to you.

Matt

 -Original Message-
 From: Gustavo Vieira Goncalves Coelho Rios 
 [mailto:[EMAIL PROTECTED]]
 Sent: Tuesday, December 12, 2000 12:50 PM
 To: [EMAIL PROTECTED]
 Subject: very big mail spool directory
 
 
 Hi folks,
 
 i am planning a very big email server, currently i am 
 planning for about
 8*2^16 users.
 
 I known that ufs has not good performance for very big directories,
 i.e., using a single directory to hold too many entries may lead to a
 low level performance.Since, my approach is to hash the spool mail dir
 for my users.
 
 Every user will have a single id that will map it's email 
 address into a
 unique directory, this later will hold the user maildir. My spool mail
 dir is: /var/qmail/mail and all directory will be created within' it.
 
 The functions that will hash the id, accepts an id as input 
 and returns
 a string for the user dir, like:
 
 IdString returned
 0 0/0/0/0/0/0/0/0
 1 0/0/0/0/0/0/0/1
 . ./././././././.
 150/0/0/0/0/0/0/f
 160/0/0/0/0/0/1/0
 170/0/0/0/0/0/1/1
 . ./././././././.
 320/0/0/0/0/0/2/0
 . ./././././././.
 
 
 Got the ideia ? This allow me to perform at most 8*16 
 lookup_dir routine
 to get the users mails. So, my approach only works better for a number
 of users bigger than 96 in traditional /var/mail (that 
 creates one file
 for each user, what can make performance drop down for a 
 large amount of
 users). I believe my approach is very good, since if you have (for
 instance) 2^32 users, seeking the user dir would not take too 
 much time!
 Any way i would really enjoy your comments.
 
 What you wizard have to say about my approach?
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: Optimal UFS parameters

2000-12-06 Thread Matt Simerson

That's because any "consensus" would be inappropriate for mass consumtion.
It really depends on a lot of fun things like the average file size and the
number of files that the drives will be storing. For example, a mail server
might want more inodes than a database server. The mail server will likely
have a lot of tiny files where the database server would have a collection
of much larger (a few k vs several mb's each). 

What makes you think the defaults are unreasonable? I set up a 300GB
filesystem a few months ago. I ran a few numbers, calculated my average file
size, compared it to the defaults and found they were very close to
reasonable. When I get a couple hundred gig's of data on there I'll know
better but I think my guess-timates are very good.

Matt

 -Original Message-
 From: A G F Keahan [mailto:[EMAIL PROTECTED]]
 Sent: Wednesday, December 06, 2000 7:53 PM
 To: [EMAIL PROTECTED]
 Subject: Optimal UFS parameters
 
 What parameters should I choose for a large (say, 60 or 80Gb)
 filesystem?   I remember a while ago someone (phk?) conducted a survey,
 but nothing seems to have come of it.  In the meantime, the capacity of
 an average hard drive has increased tenfold, and the defaults have
 become even less reasonable.
 
 What's the current consensus of opinion?
 
 newfs -b ? -f ? -c ?
 
 Thanks
 
 Alex Keahan



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



RE: PXE boot problem. - SOLVED

2000-12-01 Thread Matt Simerson

That was it. Updating the flash on the Intel NIC and she booted right up. 

Thanks,
Matt

 -Original Message-
 From: Mathew KANNER [mailto:[EMAIL PROTECTED]]
 Sent: Friday, December 01, 2000 8:54 AM
 To: Matt Simerson
 Cc: '[EMAIL PROTECTED]'
 Subject: Re: PXE boot problem.
 
 
 On Nov 30, Matt Simerson wrote:
   [...]
  
 Intel UNDI, PXE-2.0 (build 067)
 Copyright (c) 1997, 1998 Intel Corporation
  [...]
   
 
   Get the flash upgrade from intel. 
 
   Mine reads:
 Intel(R) Boot Agent Version 4.0.14
 
   and it works well.
 
   --Mat
 
 
 -- 
 Mathew Kanner [EMAIL PROTECTED]  SOCS McGill University
Obtuse quote: He [not me] understands: "This field of perception
is void of perception of man." -- The Quintessence of Buddhism 
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-hackers" in the body of the message
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message



PXE boot problem.

2000-11-30 Thread Matt Simerson

Hi Folks,

I've been trying hard to get a FreeBSD system booted via PXE with only
limited success. Maybe someone can have a look at my configs and shed a
little light on this for me.

Here's what happens at boot time:

   Intel UNDI, PXE-2.0 (build 067)
   Copyright (c) 1997, 1998 Intel Corporation

   DHCP MAC ADDR
   CLIENT ID: 192.168.254.133  MASK: 255.255.255.0  DHCP IP: 192.168.254.3
   GATEWAY IP: 192.168.254.1
   PXE Loader 1.00

   Building the boot loader arguments
   Relocating the loader and the BTX
   Starting the BTX loader

   BTX loader 1.00 BTX Version 1.01
   Console: internal video/keyboard
   BIOS drive A: is disk0

   PXE Version 2.1, real mode entry point @9db3:0106
   BIOS 639kB/392180kB available memory

   FreeBSD/i386 bootstrap loader, Revision 0.8
   ([EMAIL PROTECTED], Thu Nov 30 11:45:41 PST 2000)
   pxe_open: server addr: 192.168.254.3
   pxe_open: server path: /tftpboot
   pxe_open: gateway ip: 192.168.254.1
   \
   Hit [Enter] to boot immediately, or any other key for command prompt.
   Booting [kernel]...
   \ (if using pxeboot) 
   can't load 'kernel'   (if using pxeboot.tftp)



Because it'll be fetching the pxeboot file via tftp, it's set up as follows:

   # grep tftp /etc/inetd.conf
   tftpdgram   udp waitnobody  /usr/libexec/tftpd  tftpd -l
/tftpboot

Since I've also tried to get it to work using TFTP for the kernel (as
opposed to NFS) I run inetd with the -R0 flag so that connections to inetd
services aren't rate limited.

   # ps ax | grep inetd
 1088  ??  Ss 0:00.01 inetd -wW -R0


My /tftpboot is set up as follows:

   # ll /tftpboot/*
   -rw-r--r--  1 root  wheel 2034 Nov 12 09:12 /tftpboot/install.cfg
   -r-xr-xr-x  1 root  wheel  2441176 Nov 30 11:54 /tftpboot/kernel
   -rw-r--r--  1 root  wheel  2949120 Nov 30 11:57 /tftpboot/mfsroot
   -rw-r--r--  1 root  wheel   165888 Nov 30 11:46 /tftpboot/pxeboot
   -rw-r--r--  1 root  wheel   165888 Nov 30 11:47 /tftpboot/pxeboot.tftp

   /tftpboot/boot:
   -r--r--r--  1 root  wheel 512 Nov 11 16:57 boot1
   -r--r--r--  1 root  wheel7680 Nov 11 16:57 boot2
   -r-xr-xr-x  1 root  wheel  163840 Nov 11 16:57 loader
   -rw-r--r--  1 root  wheel 190 Nov 30 12:51 loader.rc
   -rw-r--r--  1 root  wheel 190 Nov 11 18:42 loader.rc.custom
   -rw-r--r--  1 root  wheel 136 Nov 30 12:21 loader.rc.flp

All the files in the boot directory are off the 4.1-stable boot floppy. The
loader.rc.custom is the same as the example given on Alfred's page and the
.flp one is off the floppy.

The pxeboot and pxeboot.tftp are exactly what you'd expect. The pxeboot file
is the default pxeboot with NFS support and the pxeboot.tftp was generated
by editing the /etc/make.conf file, setting the TFTP flag and recompiling
pxeboot. The files definately are different because I can change the DHCP
file to point to the other file and get different results at boot time.

NFS is configured as follows:

   matt# more /etc/exports
   /-alldirs -ro
   /usr -alldirs -ro
   /cdrom -alldirs -maproot=root -ro

   matt# mount
   /dev/ad0s2a on / (ufs, NFS exported, local)
   /dev/ad0s2e on /usr (ufs, NFS exported, local)
   /dev/acd0c on /cdrom (cd9660, NFS exported, local, read-only)

The DHCP server is a FreeBSD 4.2-stable system (make buildworld on
11/29/00). The DHCP server is isc-dhcp 3.0b2pl9 and is configured as shown:

   option broadcast-address 192.168.254.255;
   option domain-name-servers 192.168.254.3;
   option domain-name "domain.com";
   option routers 192.168.254.1;
   option subnet-mask 255.255.255.0;
   option space PXE;
   option PXE.mtftp-ip code 1 = ip-address;
   option PXE.mtftp-cport  code 2 = unsigned integer 16;
   option PXE.mtftp-sport  code 3 = unsigned integer 16;
   option PXE.mtftp-tmout  code 4 = unsigned integer 8;
   option PXE.mtftp-delay  code 5 = unsigned integer 8;
   server-name "DHCPserver"; 
   server-identifier 192.168.254.3;

   subnet 192.168.254.0 netmask 255.255.255.0 {
option routers 192.168.254.1;
option root-path "/tftpboot";
filename "pxeboot";
   #filename "pxeboot.tftp";(compiled for TFTP boot support vs
standard NFS)
range 192.168.254.32 192.168.254.99;
}
   host c3.domain.com {
hardware ethernet 00:02:b3:1c:c6:02;
next-server 192.168.254.3;
fixed-address 192.168.254.133;
default-lease-time -1;
class "pxeclients"
  { match if substring (option vendor-class-identifier, 0, 9) =
"PXEClient";
  option vendor-class-identifier "PXEClient";
  option PXE.mtftp-ip 0.0.0.0;
  vendor-option-space PXE;
  }
}


So, what am I missing?

Matt



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message