The problem is that you created 2 forests. Active Directory (AD) is only replicated within a single forest. All you need to do is recreate the second server as an additional Domain Contoller in an existing domain. That will fix your log-on issues.
I'm assuming you are running DNS with Active Directory-Integrated Zones. If so, any changes to DNS will get replicated when AD replicates (once you get the above problem fixed).
If you are using Standard Primary zones on both servers, while you may not have immediate problems, duplicate Primary zones for the same DNS domain may create long-term problems (such as changes not getting propogated to the other zone). If you want to keep a Standard Primary zone on the first server (instead of using Active Directory-Integrated zones), DNS on the second server should be created as a secondary zone.
You didn't mention DHCP, but there are a couple of issues that you need to be aware of:
While there is no problem running multiple DHCP servers on a network, there cannot be any overlap of IP addresses in their scopes. In the scope on each server, you must have a scope large enough to handle all clients using DHCP and without any duplicated IP addresses.
Data redundancy is a separate issue. Unless you keep a separate (and synchronized) set of data on the second server, users won't have access to any of the files stored on the first server if it goes down. The second part of the puzzle is how to keep the data synchronized. There is probably third party software that will allow you to do this, but I am unaware of any.
While you don't necessarily need software to be exactly duplicated, you do need to make sure that any services provided to clients by one server is available on the other server.
Hope this helps.