How to create a circular shaped grid, similar to a manhole cover
A duplivert approach.

The aim here is to have a regular quad only geometry.

Here is the result with a bevel and a subsurface modifiers :



To begin :


Make a sixth of hexagon
Make a segment of length 1
Rotate the extremity 60°
Make a face
Rotate all back 30°





Subdivide it the amount of time you want, in order to create the driving vertices (there will be one circle per vertex)
Keep only the vertices





Complete this shape to be close to a circle, duplicating some vertices
Place the cursor at a pivot point and set it as pivot
Select and duplicate the wanted vertices
Mirror these copies along X : Ctrl+M then X





Add a circle with 12 vertices (that will be a good amount for the further tesselation, but you could choose more : see below)
Parent it to our sixth of hexagon
Set it duplivert
Adjust the size of the circles




We will now make the tesselation


First step, make the duplicates real (this detaches the dupli from the sixth of the hexagon)
Make them single user (as they are still a dupli of their original circle)
Join all (note that joining without making dupli single user will work too)
Remove the double (as the selection included the original circle)





Tesselation, second step, enter edit mode
Work on the sixth of one of the circle to link it to its neighbors, so that we obtain the 1/6 of the perimeter
Our goal is to make 'quad only' tesselation, using a 'minimum' of vertices


To do that :


Connect the neighbors, make a face, cut it
Once done for the three in this corner, scale the in between vertices to 0 and remove doubles





Now we have a 6th of what we want, spin it 6 time for 360°
Select the result and separate it





Back to the duplivert, parent this newly created hexagon to the initial 6th of hexagon composed of vertices
We obtain a regular tesselation





Again make duplicate real, join the objects, enter edit mode 
Spin all 360 in six steps
Remove doubles
Adjust the normals





The last step : creating the outer circle
We have here 156 vertices in the peripheral
So we add 156 vertices circle around
Then bridge edge loops between
In order to smooth a bit the border, you can also add another outer circle




We are done (long to explain... but shorter to do !).



For information, my first though was to use particles as there is a hexagonal grid option for it. But it seems that there is no way to adjust it so that all the particles stay regularly into the circle. And as you can see, there is an angle between the particles alignment and the hexagon.