I kept them in bags in bulk for many years until I had an extreme moth and beetle infestation. I had to freeze each bag, and then store in 55 gallon trash bags, the thick kind. Whenever I get new grain, I now put it in a trash bag, and flush with CO2, then use the ties to shut it. At the peak of my storage, I had about 15 sacks of grain stacked in the basement, but that is now whittled down to around 6 or so bags right now - I don't brew as much as I used to, and I don't expect to in the near future since my son was born in January, and we also have a 4 year old daughter. I still hope to brew regularly once we reach a new normal, though the price of grain has skyrocketed since NCM stopped selling to clubs, so I doubt I will ever order as much as I used to.
Once I open a bag, I use 5 gallon buckets with gamma seal lids, I have a total of 14 now - those things are expensive when you buy this many! I really wish I had used 7 gallon buckets, but it is way too late for that now.
For my specialty grain, I bought about two dozen of the gallon size containers from usplastics years ago that have a threaded lid and molded handles. Each one can hold about 4 pounds of specialty malt.