The Sea Island of Beaufort (SC) Rotary Club in District 7770 hosts approximately five blood drives each year on days that our club meets.  Our community blood bank is OneBlood and they supply all the blood for our local hospital.  The OneBlood Big Red Bloodmobile comes to the location of our club meeting, thus making it easy for club members to donate.  Since donors must wait eight weeks between donations, we space our drives at least nine weeks apart.  That way, a regular who cannot donate on the day of our drive can donate at the blood center within a week and still be eligible to donate at our next scheduled drive.  We typically collect about twenty units of blood each time.  We have been told that each unit can save up to three lives.  Given that as a basis, our donations save up to 300 lives each year!
We used to pass around a sign-up sheet and that was marginally successful.  We found that the best way to get people to donate is to ask them face-to-face.  Many former donors or prospective donors are much more likely to donate if asked in person.  Once we established the regular donor list, I send an email about 3-4 weeks before the scheduled drive and ask if a donor has a particular time he/she would like.  Then I follow up at the club meetings in person to ask those who haven’t responded.  We have a core group that donates every time if they are in town.
If we get a new club member, I’m there to prepare them to donate at our next drive.
The key to our success is the face-to-face interaction.