Required reading
See the Gnus Manual node on Startup Files. This mentions the various files and related settings that Gnus uses to save information such as ranges of read/unread articles per group. I believe configuring and syncing these files in addition to your gnus-init-file
will solve your problem. I think the main files are located at ~/.newsrc
(cross-newsreader) and ~/.newsrc.eld
(Gnus-specific) by default, but I'm not 100% certain.
Recommended reading
Gnus in Emacs 25.1 comes with a new feature called the Gnus Cloud, which uses an IMAP server to synchronise your Gnus data across machines.
You may also be interested in this EmacsWiki article on syncing Gnus.
See also
Documentation of variables:
gnus-home-directory
gnus-directory
gnus-article-save-directory
gnus-startup-file
gnus-read-newsrc-file
gnus-save-newsrc-file
For more peace of mind, also read documentation of variables:
gnus-backup-startup-file
gnus-use-dribble-file
gnus-dribble-directory
gnus-always-read-dribble-file