Virtualized systems such as public and private clouds are emerging as important new computing platforms with great potential to conveniently deliver computing across the Internet and efficiently utilize resources consolidated via virtualization. Resource management in virtualized systems remains a key challenge because of their intrinsically dynamic and complex nature, where the applications have dynamically changing workloads and virtual machines (VMs) compete for the shared resources in a convolved manner. To address this challenge, this paper proposes a new resource management approach that can effectively capture the nonlinear behaviors in VM resource usages through fuzzy modeling and quickly adapt to the changes in the system through predictive control. The resulting fuzzy-model-predictive-control (FMPC) approach is capable of optimizing the VM resource allocations to applications according to their QoS targets. This approach is incorporated in a two-level cloud resource management framework where at the VM host level the node controllers employ FMPC to optimize dynamic VM resource allocations within individual hosts, and at the cloud zone level the global scheduler coordinates the node controllers to optimize resource utilization across hosts through dynamic VM migrations. The proposed approaches were implemented for Xen-based virtualized systems and evaluated using typical benchmarks (RUBiS, Free Bench) on a test bed with over 100 concurrent VMs. The results demonstrate that FMPC can accurately model the resource demands for dynamic applications and optimize the resource allocations to VMs with complex contentions. It substantially outperforms the traditional linear modeling based predictive control approach. The two-level resource management can make effective use of VM migrations to further improve performance across hosts as the host-level loads vary over time.