[prev in list] [next in list] [prev in thread] [next in thread] 

List:       debian-user
Subject:    Re: Disk Spin-down problems: nmbd to blame
From:       brian <Brian_dorling () t-online ! de>
Date:       2007-11-30 17:52:06
Message-ID: fipik6$hnh$00$1 () news ! t-online ! com
[Download RAW message or body]

brian wrote:
> Hi running Debian etch on an NSLU2. USB2 Disk will spin-down by itself 
> after 10 minutes idle. /dev and /var/log are on RAMFS.
> 
> Slug2:~# mount
> /dev/sda1 on / type ext3 (rw,noatime,errors=remount-ro)
> tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
> proc on /proc type proc (rw,noexec,nosuid,nodev)
> sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
> procbususb on /proc/bus/usb type usbfs (rw)
> udev on /dev type tmpfs (rw,mode=0755)
> tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
> devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
> /dev/sda2 on /public type ext3 (rw,noatime,errors=remount-ro)
> ramfs on /mnt/tmpdev type ramfs (rw,maxsize=128)
> /dev on /dev.state type none (rw,bind)
> /mnt/tmpdev on /dev type none (rw,bind)
> ramfs on /mnt/tmpvar type ramfs (rw,maxsize=256)
> /var/log on /var.log.state type none (rw,bind)
> /mnt/tmpvar on /var/log type none (rw,bind)
> 
> /dev/sda1 is also mounted with "noatime".
> 
> As long as nmbd is not started spin-down works perfectly.
> I used strace to look at the nmbd process, there I can see that it is 
> the access to /var/cache/samba/browse.dat that is causing the disk to be 
> continually re-read.
> 
> # strace -t -p1924 -etrace=open,close,read,write
> Process 1924 attached - interrupt to quit
> 17:26:54 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:27:15 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:27:35 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:27:55 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:27:55 close(16)                      = 0
> 17:28:16 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:28:36 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:28:56 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:29:16 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:29:37 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:29:57 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:30:07 close(16)                      = 0
> 17:30:17 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:30:38 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:30:58 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:31:02 open("/var/cache/samba/browse.dat.", 
> O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0644) = 16
> 17:31:02 write(16, "\"HOME\"                    c00010"..., 216) = 216
> 17:31:02 close(16)                      = 0
> 17:31:22 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:31:33 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:32:04 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:32:04 close(16)                      = 0
> 17:32:24 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:32:41 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:33:12 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:33:32 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:33:52 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:34:13 --- SIGCHLD (Child exited) @ 0 (0) ---
> 17:34:13 close(16)                      = 0
> 
> So I added a symlink as follows:
> 
> /var/cache
> # ls -l
> insgesamt 28
> drwxr-xr-x  3 root     root 4096 2007-11-14 09:33 apt
> drwxr-xr-x  2 root     root 4096 2007-07-02 20:52 apt-show-versions
> drwxr-xr-x  2 root     root 4096 2007-10-02 21:10 debconf
> drwxr-xr-x  2 root     root 4096 2007-06-27 19:19 dictionaries-common
> drwxr-xr-x  2 root     root 4096 2006-08-06 10:51 locate
> drwxr-sr-x 16 man      root 4096 2007-06-27 18:30 man
> drwxrwxr-x  2 mt-daapd root 4096 2007-11-29 16:40 mt-daapd
> lrwxrwxrwx  1 root     root   14 2007-08-26 17:30 samba -> /var/log/samba
> 
> /var/cache/samba now is symlinked to /var/log/samba, which is on the ramfs.
> 
> I can cat /var/cache/samba/browse.dat OK and it shows the correct 
> contents. Seems like I maybe haven't done this correctly. /var/log/samba 
> has its own contents:
> 
> /var/log/samba
> # ls -l
> insgesamt 12
> -rw-r--r-- 1 root root  216 2007-11-29 17:20 browse.dat
> drwx------ 4 root root    0 2007-08-20 21:36 cores
> -rw-r--r-- 1 root root 3321 2007-11-29 16:40 log.nmbd
> -rw-r--r-- 1 root root 1396 2007-11-29 16:40 log.smbd
> drwxr-xr-x 2 root root    0 2007-08-23 07:45 printing
> 
> So I am wonderering what else may be wrong. Seems like nmbd is really 
> only accessing this file (According to strace at least).
> 
> Could anyone give me  some ideas on debugging this?
> 
> Cheers Brian
> 
> 
> 
Well, I debugged this further. When NMBD is loaded then I get irregular 
disk accesses, that is differing periods of time between them. If nmbd 
is stopped, then those disk accesses stop completely.
I tried using strace on all processes, most are in idle just waiting to 
do something. NMBD is very often doing things, usually attaching 
processes, these  exit then a while later. But there doesn't seem to be 
any correlation between these processes and when I see the disk access.
So I guess strace is not showing me everything, I have also tried just
strace -t -f -pPID, I get a lot more ouput, but no sign of nmbd trying
to access the disk.
Anyone know why?

Cheers Brian








-- 
To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org 
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic