I am going to bring some thoughts here.
This answer is practically useless, not knowing your working set, maybe it can create some pointers.
What equipment would you recommend to include in configuration servers?
Configuration servers, despite the fact that it is better on their own equipment (a server, rather than on a virtual machine), can easily be launched on the basis of commercial equipment itself, for this you do not need anything. All they do is save the settings of your sets, and even then they are not used all the time, mongos will cache the cluster configuration for intervals.
Or can I put them on virtualization or on cheaper hardware?
I would not put them on virtualization, because this usually means that they are either physically located on the same server, or are closed. However, you need to put them on real redundant servers, yes, you can get cheap equipment for them.
After making sure you have a decent network between your shards and your configuration servers, you should be natural.
Is the setting that I described even makes sense?
There is no idea without understanding your working set, however, by the sounds of this you think that MongoDB SHOULD EVERYTHING fit into memory. This is incorrect, only a working set ( http://docs.mongodb.org/manual/faq/storage/#what-is-the-working-set ), which can be an absolute share of your data over a certain period of time (usually 10 minutes ) if you play cards correctly.
What about the relationship of RAM to the hard drive on fragmentation nodes?
A bit, MongoDB can use this server, but I’m sure that it will sit idle most of the time, I’m sure you didn’t actually calculate your working set correctly.
At the moment, it would be simpler and cheaper to just double-add the number of disks to 1 shard (1 master, 1 subordinate) and skip the shard until I really need it.
Yes. This is a safe bet if you need these discs. I am going to go so far as to say that you really have to study whether you are doing it or not.
the system should be ready for edging from the start
As said in the answer above, you can create a set of 1 member and just increase it from there.
Since I plan to use 2 instead of 3 servers to provide high availability / fault tolerance, I probably need arbiters as well.
Yes, using 3 servers is usually stable enough for automatic failover, which is important here. If most server crashes (50% or more), you will have to manually fix your replica set.
This means that on two server environments, for each splinter, you will not have automatic recovery after a failure, and therefore MongoDB will not fulfill one of its main advantages: automatic switching to another resource (this is also the main goal of replica sets ...).
Not only that, but your users must wait until you do this fix, I’m sure this in itself has problems.
Do they also need special equipment?
No, as stated in my comment (and in the documentation), arbitrators should not be run on specialized equipment. However, this suggests that it can be useful, especially if you want to create a backup backup system by refusing to arbitrate in another data center.
The arbiter can work on the bare bones of the server, so if you decide to separate it, do not worry about 200-bit RAM and 6x400GB SSD. Just get ... well, a mobile phone can technically run an arbiter (if MongoDB supports Android and iOS).
Or uses 3 separate servers for backup, in your opinion, an absolute obligation?
This is not so, but something less, as mentioned above, will cause problems in the event of a failure.
A good option is to actually put an arbiter on your application server, possibly even on one application server.