The Network Function Virtualization (NFV) is very promising for efficient provisioning of network services and is attracting a lot of attention. NFV can be implemented in commercial off-the-shelf servers or Physical Machines (PMs), and many network services can be offered as a sequence of Virtual Network Functions (VNFs), known as VNF chains. Furthermore, many existing network devices (e.g., switches) and collocated PMs are underutilized or over-provisioned, resulting in low power-efficiency. In order to achieve more energy efficient systems, this work aims at designing the placement of VNFs such that the total power consumption in network nodes and PMs is minimized, while meeting the delay and capacity requirements of the foreseen demands. Based on existing switch and PM power models, we propose a Integer Linear Programming (ILP) formulation to find the optimal solution. We also propose a heuristic based on the concept of Blocking Islands (BI), and a baseline heuristic based on the Betweenness Centrality (BC) property of the graph. Both heuristics and the ILP solutions have been compared in terms of total power consumption, delay, demands acceptance rate, and computation time. Our simulation results suggest that BI-based heuristic is superior compared with the BC-based heuristic, and very close to the optimal solution obtained from the ILP in terms of total power consumption and demands acceptance rate. Compared to the ILP, the proposed BI-based heuristic is significantly faster and results in 22% lower end-to-end delay, with a penalty of consuming 6% more power in average.