Hi, I have installed Cyrus 2.0.16 on Red Hat 7.2 with the standard SASL cyrus-sasl-1.5. I have been able to use it successfully and create perl web administration tools for managing mailboxes.
I am currently doing a stress test, I need to be able to handle more than 100 thousand users on this server. I modified Cyrus Imap code so it can accept numeric accounts which I need as I am creating emails for a cellular company ([EMAIL PROTECTED]). I made a perl script to create 100000 accounts. I am using ext3 filesystem under linux. After the user number 31948 was created, no more accounts where created. Examining the imapd.log, I found that it was complaining about "too many links error", see below extract from imapd.log: Feb 24 22:45:54 mail imapd[22212]: abort_txn: aborting txn 2147683085 Feb 24 22:45:54 mail imapd[22212]: myfetch: starting txn 2147683086 Feb 24 22:45:54 mail imapd[22212]: myfetch: reusing txn 2147683086 Feb 24 22:45:54 mail imapd[22212]: mystore: reusing txn 2147683086 Feb 24 22:45:54 mail imapd[22212]: IOERROR: creating directory /var/spool/imap/user/01000032123: Too many links Any help is greatly appreciated. It would be nice if we could split /var/spool/imap/user on several partitions, is this possible ? What options do I have ? Following I will show several configurations files I am using: /etc/imapd.conf ----------------------------- configdirectory: /var/imap partition-default: /var/spool/imap admins: cyrus root apache andres sasl_pwcheck_method: sasldb #sasl_auto_transition: yes sendmail: /usr/sbin/sendmail ---------------------------------------------- /etc/cyrus.conf ------------------------------------- # standard standalone server implementation START { # do not delete these entries! mboxlist cmd="ctl_mboxlist -r" deliver cmd="ctl_deliver -r" # this is only necessary if using idled for IMAP IDLE # idled cmd="idled" } # UNIX sockets start with a slash and are put into /var/imap/socket SERVICES { # add or remove based on preferences imap cmd="imapd" listen="imap" prefork=0 imaps cmd="imapd -s" listen="imaps" prefork=0 pop3 cmd="pop3d" listen="pop3" prefork=0 pop3s cmd="pop3d -s" listen="pop3s" prefork=0 sieve cmd="timsieved" listen="sieve" prefork=0 # at least one LMTP is required for delivery # lmtp cmd="lmtpd" listen="lmtp" prefork=0 lmtpunix cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0 } EVENTS { # this is required checkpoint cmd="ctl_mboxlist -c" period=30 # this is only necessary if using duplicate delivery suppression delprune cmd="ctl_deliver -E 3" period=1440 } ---------------------------------------------------------------------------- Best regards, Andres Maduro