首先声明这边文档引用了别人的文档加上自己的理解而编写。
做这个实验,需要我们的cpu支持虚拟化,如果你的机器没有开启的话,安装64位系统会出现报错,
有的机器支持但是并未在bios开启,这个需要事先开启。你需要进入bios中开启。
如果显示“此主机支持Intel VT-x”,说明电脑是支持Intel虚拟技术的,但是在BIOS中没有开启。接下来重启机器进入BIOS,找到“Intel VT-x”(可能有的机器不一样,我的是中文的),修改“disabled”为“enabled”,F10保存并重启。
1. vmware安装centos6.6 64位 (略)
其中有几个注意的地方:
a. 内存给2g
b. 磁盘给50g, 或者再单独分一个磁盘,用来存储虚拟机文件
c. 最关键的一步,在创建虚拟机时,cpu是需要配置一下虚拟化的如图
2. 安装kvm前的准备工作
a. 清除iptables规则
service iptables stop; service iptables save
b. 关闭selinux
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config
setenforce 0
3. 开始安装kvm
a. 检查你的系统是否支持虚拟化
grep -Ei ‘vmx|svm‘ /proc/cpuinfo
如果有输出内容,则支持,其中intel cpu支持会有vmx,amd cpu支持会有svm
b. 通过yum安装虚拟化的软件包
yum install -y kvm virt-* libvirts bridge-utils qemu-img
说明:
kvm:软件包中含有KVM内核模块,它在默认linux内核中提供kvm管理程序
libvirts:安装虚拟机管理工具,使用virsh等命令来管理和控制虚拟机。
bridge-utils:设置网络网卡桥接。
virt-*:创建、克隆虚拟机命令,以及图形化管理工具virt-manager
qemu-img:安装qemu组件,使用qemu命令来创建磁盘等。
c. 检查kvm模块是否加载
lsmod |grep kvm
正常应该是:
kvm_intel 55496 0
kvm 337772 1 kvm_intel
如果没有,需要执行
modprobe kvm-intel
还没有就重启一下试试
d. 配置网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-br0
分别编辑eth0和br0
ifcfg-eth0改成如下:
DEVICE=eth0 HWADDR=00:0C:29:55:A7:0A TYPE=Ethernet UUID=2be47d79-2a68-4b65-a9ce-6a2df93759c6 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=none BRIDGE=br0
ifcfg-br0改成如下:
DEVICE=br0 #HWADDR=00:0C:29:55:A7:0A TYPE=Bridge #UUID=2be47d79-2a68-4b65-a9ce-6a2df93759c6 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.11.17 NETMASK=255.255.255.0 GATEWAY=192.168.11.1 DNS1=202.106.0.20
说明: 我的虚拟机是桥接模式,所以设置br0的ip和我的真机同样的网段,包括网关也是我路由器的ip,大家可以根据自己的环境去配置,目的是为了让虚拟机可以上网。
/etc/init.d/network restart
查看网卡如下:
br0 Link encap:Ethernet HWaddr 00:0C:29:55:A7:0A
inet addr:192.168.11.17 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe55:a70a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:141326 errors:0 dropped:0 overruns:0 frame:0
TX packets:90931 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:456024940 (434.8 MiB) TX bytes:10933593 (10.4 MiB)
eth0 Link encap:Ethernet HWaddr 00:0C:29:55:A7:0A
inet6 addr: fe80::20c:29ff:fe55:a70a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:341978 errors:0 dropped:0 overruns:0 frame:0
TX packets:90946 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:468848861 (447.1 MiB) TX bytes:10934699 (10.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
virbr0 Link encap:Ethernet HWaddr 52:54:00:14:EF:D5
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
e. 启动或重启libvirtd服务和messagebus 服务
/etc/init.d/libvirtd start
/etc/init.d/messagebus restart
此时可以查看网络接口列表
brctl show 结果如下:
kvm虚拟机安装
1.上传ISO文件,这里采用Centos 6.4x64iso
2.开始安装Centos6.4
(1)raw格式磁盘
[[email protected] ~]#vim create_kvm.sh
virt-install --name centos2 \ ##虚拟机名称 --ram 512 \ ##分配内存大小(默认大小MB) --vcpus=1 \ ##分配CPU核心数,最大与时提及CPU核心数相同 --disk path=/data/img/kvm_centos2.img,size=10 \ ##指定虚拟机镜像(size单位为GB) --network bridge=br0 \ ##指定网络 --cdrom=/data/CentOS-6.4-x86_64-bin-DVD1.iso \ ##指定安装镜像iso --accelerate \ ##加速 --vnclisten=0.0.0.0 \ ##指定VNC绑定IP,默认绑定127.0.0.1,这里改为0.0.0.0 --vncport=5911 \ ##指定VNC监听端口(默认为5900) --vnc ##启用VNC管理
注: 每行"\"后面不要带有空格.
##用KVM创建虚拟机
如果采用qcow2磁盘格式,需要事先创建qcow2格式虚拟磁盘
[[email protected] ~]# qemu-img create -f qcow2 /data/img/Centos3.img 3G
##用KVM创建虚拟机
[[email protected] ~]# sh create_qcow2_kvm.sh
[[email protected] ~]# echo $?
0
[[email protected] ~]# virsh list
说明:在linux系统安装开始就要注意添加提高性能的一些参数,后面就不需要做一些调整了。
3.开始通过VNC进行连接,进行安装过程。
查看虚拟机列表
ps: Centos1是我的测试机. centos2和centos3是新创建的。 centos2安装完操作系统自动关闭了, 需要手动启动. centos3安装完后也需要手动启动
[[email protected] ~]# virsh start centos2
Domain centos2 started
[[email protected] ~]# virsh list --all|grep centos2
11 centos2 running
(2) centos2、centos3主机自动获取IP地址
##centos2自动获取IP地址
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-eth0 ifcfg-eth0.bak[[email protected] network-scripts]#dhclient
[[email protected] network-scripts]# ip a
清空iptables规则, 通过sshd登录该主机
[[email protected] ~]# iptables -F
[[email protected] ~]# iptables -X
[[email protected] ~]# /etc/init.d/iptables restart
安装电源服务
[[email protected] ~]# yum -y install acpid
[[email protected] ~]# /etc/init.d/acpid start
[[email protected] ~]# chkconfig acpid on
至此Centos 6.4X64KVM虚拟机安装完毕。