I've always had trouble with inventing names. They refuse to come, or when they do, they sound funny or cheesy. However, a name will occasionally pop into my head, fully formed and sounding perfect. The only problem is that all of the names I think up sound similar.
For example, I am developing a fantasy world. I have elves, dwarves, and other races of my own creation. I want all the names of one race to be similar to each other (elves are soft, dwarves are guttural, etc.) , but at the same time, they need to be different enough within the same species so that readers won't confuse them.
How can I accomplish this?
Examples:
For elves, I've found that names ending with 'ir' or 'mir' work well, as well as names ending with 'in'. This is fine as far as it goes. But all I can think of are names that end like that, and some of them are too similar for readers to distinguish at first. How can I keep the names similar, yet different?
EDIT: The answer I found the most helpful, was the answer to the question linked to by James in the comments below.