一.虚拟化介绍
指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率
二. 虚拟化分类
虚拟化技术可分为:全虚拟化和半虚拟化。
三. 虚拟化架构
Hypervisor直接安装在物理机上,多个虚拟机在 Hypervisor 上运行。Hypervisor 实现方式一般是一个特殊定制的Linux系统。Xen和VMWare的ESXi 都属于这个类型。
四.常见的虚拟化软件
查看内存是否更改成功
[root@localhost ~]# free
total used free shared
Mem: 1868684 106272 1460848 8800
Swap: 2097148 0 2097148
检查CPU是否开启虚拟化支持
[root@localhost ~]# cat /proc/cpuinfo |grep vmx
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid avx512f rdseed adx smap clflushopt avx512cd xsaveopt xsavec xsaves
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid avx512f rdseed adx smap clflushopt avx512cd xsaveopt xsavec xsaves
格式化
[root@kvm ~]# mkfs.ext4 /dev/sdb
mke2fs 1.42.9 (28-Dec-2013)
/dev/sdb is entire device, not just one partition!
Proceed anyway? (y,n) y
Discarding device blocks: 3149824/13107200
Message from syslogd@localhost at Mar 9 22:40:48 ...
kernel:BUG: soft lockup - CPU#0 stuck for 50s! [systemd
done
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
3276800 inodes, 13107200 blocks
655360 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2162163712
400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 88
4096000, 7962624, 11239424
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting informatio
查看格式化是否成功
[root@kvm ~]# blkid /dev/sdb
/dev/sdb: UUID="f7b72c5a-c68f-457c-a40c-f547d1552f4a" TYPE="ext4"
挂载
[root@kvm ~]# mkdir /kvm_data
[root@kvm ~]# mount /dev/sdb /kvm_data/
[root@kvm ~]# vi /etc/fstab
关闭防火墙并设置开机不自启
[root@kvm ~]# systemctl stop firewalld
[root@kvm ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
查看是否清楚规则
[root@kvm ~]# iptables -nvL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
[root@kvm ~]# getenforce 0
Enforcing
[root@kvm ~]# setenforce 0
[root@kvm ~]# getenforce
Permissive
安装
[root@kvm ~]# yum install -y virt-* libvirt bridge-utils qemu-img
[root@kvm ~]# cd /etc/sysconfig/network-scripts/
[root@kvm network-scripts]# cp ifcfg-eno16777728 ifcfg-br0
编辑配置文件
[root@kvm network-scripts]#vi ifcfg-br0
[root@kvm network-scripts]# vi ifcfg-eno16777728
重启网卡
[root@kvm network-scripts]# service network restart
Restarting network (via systemctl): [ OK ]
桥接到br0
[root@kvm network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP qlen 1000
link/ether 00:50:56:a0:85:73 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 00:50:56:a0:85:73 brd ff:ff:ff:ff:ff:ff
inet 10.30.59.218/25 brd 10.30.59.255 scope global br0
valid_lft forever preferred_lft forever
inet6 fe80::2050:70ff:fe91:1bad/64 scope link
valid_lft forever preferred_lft forever
启动服务
[root@kvm network-scripts]# systemctl start libvirtd
查看进程
[root@kvm network-scripts]# ps -ef |grep libvirt
root 31126 1 0 00:04 ? 00:00:00 /usr/sbin/libvirtd
nobody 31226 1 0 00:04 ? 00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root 31227 31226 0 00:04 ? 00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root 31279 17971 0 00:07 pts/0 00:00:00 grep --color=auto libvirt
br0就是桥接模式
virbr0就是nat模式