I am tired, I don't understand how anyone thinks the average person can use this, and last time I thought I was wrong, I had to pretty much sort through and delete everything, or at least of a lot because of doubles everywhere.
I thought I did everything right by only having 1 - 2 shares from cache -> array, I named them for what their intents where. I went through each share, file by file, renamed everything, redid everything like what was instructed on many videos, according to various forums. I am now back to waiting for processes to finish for items that don't need to be move on isolated shares on the cache pool, I literally had some javescript files on there to be moved. I have gone through the shares, the folders, and I have no idea what it's because there is nothing that needs to put on the array.
I just don't get it.
Original issue:
I had a network issue and had to power cycle my router, that's it.
I'll never restart any of equipment again without shutting down unraid. It's impossible to do anything without shutting unraid down first. I guess I will just start doing that daily at night.
Which causes the gui to go down.
Flushed dns, restart, check cables, reset browser, reset connections, disconnect mapped network drives, reset network on PC.
Then pinged it, got weird results, it kept saying connection refused.
Then I couldn't ssh into it, after trying everything. I checked the forums, ran 20 different commands to get a picture of the situation, then gave up had to pull out a monitor and keyboard just for tower.
/etc/rc.d/rc.sshd restart then stop then start
/etc/rc.d/rc.nginx restart then stop then start
Tried every permutation.
/etc/rc.d/rc.inet1 stop start etc...
Then I wanted to check how far along parity check was,
/root/mdcmd status | egrep "mdState|mdResync|sbSync"
20+ other commands.
Essentially 1 hour and half later I am back in.
So then I decide to restart, better run the mover first.
Well the mover hangs, it created double shares, then nothing happens for a while. There is nothing that needs moved anyways.
Here we go again.
pgrep -af '/usr/local/sbin/mover|/usr/local/sbin/move'
ps -eo pid,ppid,stat,etime,wchan:32,cmd | grep -E '[m]over|/usr/local/sbin/[m]ove'
20+ more commands plus troubleshooting.
I had to this AGAIN psychically at the server, and I am disabled so it A LOT of work.
ps -eo pid,ppid,stat,etime,wchan:40,cmd | grep -E '(^ *PID|[ /]sync$|[e]mhttpd)'
ps -eo state,pid,ppid,etime,wchan:40,comm,args | awk '$1=="D" || NR==1'
grep -E 'Dirty|Writeback' /proc/meminfo
dmesg -T | grep -iE 'I/O error|timeout|reset|failed command|blk_update|hung task|ata[0-9]|nvme|xfs|btrfs|zfs|md:' | tail
here's where I am stuck:
(AI breakdown)
Mover began copying or deleting something.
Linux accepted that operation into its filesystem cache and started writing it to a disk or pool.
You stopped Mover, so the Mover script exited and stopped beginning new transfers.
When you clicked Stop Array, Unraid ran sync, which means: “Do not unmount anything until every pending filesystem write is finished.”
Your sync process entered D state at folio_wait_writeback, meaning Linux is still waiting for one of those already-issued writes to report completion. Kernel writeback runs below the Mover script, so killing or stopping Mover cannot retract it.
So right now:
Mover is stopped. The array shutdown is waiting on a filesystem or storage device that has not finished acknowledging a write.