Research glicko2 papers. my understanding is that rating deviation is as the name suggests the deviation of your rating while rating volatility reflects if you have strong trends in terms of winning/losing streaks. So rating volatility can be interpreted as some form of standard deviation of the rating deviation. No guarantees about that being correct though. Have fun!
I have no real understanding how this works, however after a peak at the code it seems to calculate a new volatility, then uses the new volatility + some fancy math with the old deviation + some variance thing to come up with the new deviation.
something like this newDeviation = someMath(oldDeviation, newVolatility, vFromStep3)
I agree with @flugsio regarding the PDF which offers definitions. Basically:
* Glicko-2 volatility is the average rating gain/loss during a rating period * a Glicko-2 rating period should be a duration of time wherein a typical player plays 10-15 rated games * Glicko-2 RD is as flugsio describes
I thought they wanted to change that thing with the rating periods. Right now you can troll the system by playing a lot of super low rated players to increase your RD and then play players a bit below you and win super many rating points. (or lose super many, but you can probably try it a few times to get a super high personal best rating if your good streak lasts until you are below RD110)
Though to be honest I don't know how that change could look like. You could count lichess tournaments as one rating period, possibly a "match" vs someone else over multiple games. But for single games against different people it's tricky.
But there definitely should be some rating period once a month or so to increase your RD when you're not active.
As for the original question, I think #2 is a pretty decent explanation. It's not quite that simple but it's roughly correct which should be good enough here. ;)