First you need to determine what voltage and storage capacity you need. I assume you’ll be using lead acid batteries. Remember that the batteries are heavy (support, including floor and footing, needs to be strong), contain sulphuric acid, need to be in a vented environment (hydrogen gas during charging), and protected from freezing (freezing point of electrolyte is higher as charge level drops). Also, your battery bank will be at a lower voltage than standard 120 volts, so you’ll need more current for a given amount of power – this means heavy-gauge (expensive) cables. You want these cables to be as short as possible, so your battery room needs to be close to your solar panels and your inverter needs to be on the outside of the battery room wall (close to batteries, but not exposed to acid vapours). You will also need a charge controller and DC rated fuses for the batteries.
It may be tempting to use car batteries, but don’t do it. They’re expensive on a per watt hour basis, and are the wrong type of battery. They’re designed to provide a high current for a few seconds, and can be damaged by repeated deep discharge cycles. Instead, go for golf cart or forklift batteries. These are designed for deep cycling, and if you get them used you’ll be paying minimal if any premium over the scrap value, at a cost of somewhat degraded capacity and shorter life expectancy (but when you replace them, you can sell the old ones for their scrap value, and get replacements for close to that). Flooded cell batteries with cell caps to check/top up (distilled water only) electrolyte levels are the way to go. You can configure your batteries as multiple “banks” (all cells in a given bank having the same capacity) of series-connected cells to get the desired voltage, and connect the banks (different banks can have different capacities) in parallel. Each bank should have its own DC rated fuse to the common bus (connects to charge controller and inverter), and you can start your system with a single bank.