Jump to content

stuck on stoping Array


Recommended Posts

Hi there,

 

I know there are severyl threads about this on the forum but everything I tried did not succeed, so here I am:

 

When I press the STop button unRaid says

 Stop SMB...Spinning up all drives...Sync filesystems...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s).....................

 

http://server:8080/sys_info?option=Open+Files

says:

Open Files

(from /usr/bin/lsof /dev/md*)

nothing further.

It first happened when I started to use cache_dirs -w in my go script. At first I did not realize that I have to hit the button twice to actually stop the array (read that later on the forum) but even if I tried that it did not work out... No I have uncommented the line in my go script but the array still won't stop.

 

All I can do is shut the server down via telnet. Question about this: I installed the powerdown package from unmenu but still unraid is checking the parity when it starts up. Isn't the pack supposed to gracefully shut down the server?

 

Thanks

Link to comment

Hi there,

 

I know there are severyl threads about this on the forum but everything I tried did not succeed, so here I am:

 

When I press the STop button unRaid says

 Stop SMB...Spinning up all drives...Sync filesystems...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s)...Unmounting disks...Retry unmounting disk share(s).....................

 

http://server:8080/sys_info?option=Open+Files

says:

Open Files

(from /usr/bin/lsof /dev/md*)

nothing further.

It first happened when I started to use cache_dirs -w in my go script. At first I did not realize that I have to hit the button twice to actually stop the array (read that later on the forum) but even if I tried that it did not work out... No I have uncommented the line in my go script but the array still won't stop.

unRAID will wait for all disks to be idle.

A disk is not idle if any process has it as the current working directory, or has an open file, or is being used as a mount point, or has a loop device connected, or has a swap file on it.

 

The lsof command you gave only looks in the "md" devices.  It does not look on the cache drive, nor for anything else other than open files.

 

It could even be your own terminal session if you had typed

cd /mnt/cache

after logging in.  (as it would them be your current working directory) You would have to log off or change directory to / first.

 

Of course, if you loaded apps on the cache drive and invoked them from there, they would have the cache drive as their working directory, and the cache drive cannot be un-mounted until the process is stopped.

 

If on an older version of unRAID you'll need to hit the stop button twice when using cache_dirs.  On newer versions (such as yours) there is no need to hit the button twice as unRAID looks every few seconds. (in fact, the stop button is not available once it starts waiting for all disks to unmount)

 

Since "cache_dirs" issues "find" commands every few seconds, any given "find" command must complete before it will no longer have a disk busy.

It is unlikely to be the cause of a long-term shutdown delay.  It was coded to stop itself when it detects a shutdown.

 

The "powerdown" script only terminates processes and stops the server cleanly if you invoke it.  You must type

/sbin/powerdown

to invoke it.

 

Joe L.

Link to comment

Thanks for your reply. I tried to shut down the stuck server with /sbin/powerdown instead of just powerdown but now that it is back online it still does start a parity check.

I have only sickbeard, sabnzbd, ts3server and tvheadend installed and I never had problem stoping the array with them.

I think it is one of them that prevents the unmount, because /mnt/disk1 is the only existing directory when unraid gets stuck and I have my .apps folder on there (no cache drive at the moment)

How can I find out which one of these plugins is preventing the disks from beein unmounted? I think they all stopp when pressing the stop array button..

Link to comment

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 20:57 ?        00:00:14 init
root         2     0  0 20:57 ?        00:00:00 [kthreadd]
root         3     2  0 20:57 ?        00:00:00 [ksoftirqd/0]
root         4     2  0 20:57 ?        00:00:03 [kworker/0:0]
root         6     2  0 20:57 ?        00:00:00 [migration/0]
root         7     2  0 20:57 ?        00:00:00 [khelper]
root       153     2  0 20:57 ?        00:00:00 [sync_supers]
root       155     2  0 20:57 ?        00:00:00 [bdi-default]
root       157     2  0 20:57 ?        00:00:00 [kblockd]
root       234     2  0 20:57 ?        00:00:00 [ata_sff]
root       244     2  0 20:57 ?        00:00:00 [khubd]
root       351     2  0 20:57 ?        00:00:00 [rpciod]
root       369     2  0 20:57 ?        00:00:00 [kswapd0]
root       429     2  0 20:57 ?        00:00:00 [fsnotify_mark]
root       449     2  0 20:57 ?        00:00:00 [nfsiod]
root       452     2  0 20:57 ?        00:00:00 [cifsiod]
root       458     2  0 20:57 ?        00:00:00 [crypto]
root       607     2  0 20:57 ?        00:00:00 [deferwq]
root       635     1  0 20:57 ?        00:00:00 /sbin/udevd --daemon
root       689     2  0 20:57 ?        00:00:00 [scsi_eh_0]
root       719     2  0 20:57 ?        00:00:00 [scsi_eh_1]
root       722     2  0 20:57 ?        00:00:00 [scsi_eh_2]
root       733     2  0 20:57 ?        00:00:00 [scsi_eh_3]
root       734     2  0 20:57 ?        00:00:00 [kworker/u:2]
root       737     2  0 20:57 ?        00:00:00 [kworker/u:3]
root       785   635  0 20:57 ?        00:00:00 /sbin/udevd --daemon
root       795   635  0 20:57 ?        00:00:00 /sbin/udevd --daemon
root       859     1  0 20:57 ?        00:00:00 /usr/sbin/syslogd -m0
root       863     1  0 20:57 ?        00:00:00 /usr/sbin/klogd -c 3 -x
root       889     1  0 20:57 ?        00:00:00 /sbin/dhcpcd -t 10 -h Server eth0
bin        971     1  0 20:57 ?        00:00:00 /sbin/rpc.portmap
root       975     1  0 20:57 ?        00:00:00 /sbin/rpc.statd
root       985     1  0 20:57 ?        00:00:00 /usr/sbin/inetd
root       992     1  0 20:57 ?        00:00:00 /usr/sbin/ntpd -g -p /var/run/ntpd.pid
root       999     1  0 20:57 ?        00:00:00 /usr/sbin/acpid
81        1010     1  0 20:57 ?        00:00:00 /usr/bin/dbus-daemon --system
root      1015     1  0 20:57 ?        00:00:00 /usr/sbin/crond -l notice
daemon    1017     1  0 20:57 ?        00:00:00 /usr/sbin/atd -b 15 -l 1
root      7719     1  0 20:58 ?        00:00:00 /usr/local/sbin/emhttp
root      7723     1  0 20:58 ?        00:00:00 /bin/bash /boot/unmenu/uu
root      7724     1  0 20:58 ?        00:00:00 logger -tunmenu -plocal7.info -is
root      7730  7723  0 20:58 ?        00:00:00 awk -W re-interval -f ./unmenu.awk
root      7735     2  2 20:58 ?        00:01:14 [mdrecoveryd]
root      7743     2  0 20:58 ?        00:00:00 [spinupd]
root      7745     2  0 20:58 ?        00:00:00 [spinupd]
root      7747     2  0 20:58 ?        00:00:00 [spinupd]
root      7935     2  2 20:58 ?        00:01:16 [unraidd]
root      7946     2  0 20:58 ?        00:00:00 [reiserfs]
root      7947     2  0 20:58 ?        00:00:00 [flush-9:1]
root      7998     1  0 20:58 ?        00:00:04 tvheadend -c /mnt/disk1/.apps/tvheadend -u root -g video -f
root      7999     1  0 20:58 tty1     00:00:00 /sbin/agetty 38400 tty1 linux
root      8000     1  0 20:58 tty2     00:00:00 /sbin/agetty 38400 tty2 linux
root      8001     1  0 20:58 tty3     00:00:00 /sbin/agetty 38400 tty3 linux
root      8002     1  0 20:58 tty4     00:00:00 /sbin/agetty 38400 tty4 linux
root      8003     1  0 20:58 tty5     00:00:00 /sbin/agetty 38400 tty5 linux
root      8004     1  0 20:58 tty6     00:00:00 /sbin/agetty 38400 tty6 linux
root      8019     2  0 20:58 ?        00:00:05 [kdvb-ad-0-fe-0]
root      8147     1  1 21:07 ?        00:00:26 ./ts3server_linux_x86
root      8276     2  0 21:34 ?        00:00:00 [kworker/0:1]
root      8293     2  0 21:41 ?        00:00:00 [flush-3:0]
root      8294     2  0 21:41 ?        00:00:00 [kworker/0:2]
root      8295     2  0 21:41 ?        00:00:00 [flush-9:2]
root      8321   985  0 21:42 ?        00:00:00 in.telnetd: Moritz-PC-LAN.fritz.box
root      8322  8321  0 21:42 pts/0    00:00:00 -bash
root      8373  8322  0 21:42 pts/0    00:00:00 ps -ef

 

looks like ts3server and tvheadend are still running. I did a killall tvheadend and it worked! Thank you :-)

Now I wonder why it all of a sudden started to block the disk when i try to stop the array...

Link to comment

Since those programs are running from that disk the very fact that they are running is keeping the disk busy.

Their "code" is read from that disk, and ma have to be re-read if swapped out by the kernel, therefore no disk with running processes that originated from it can be un-mounted until those processes are stopped.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...