centos7搭建kvm

以下使用都基于Centos7.2进行的操作

流程:

1、开启虚拟化技术

2、下载KVM相关组件

3、建立(系统安装)磁盘

4、安装系统

5、安装完毕后,查看配置

6、进入管理台,查看虚拟机状态及网络状态。

7、进入虚机,并查看网络,及配置网络

8、复制虚拟机

重要提示:

1、Centos7以上环境需要关闭NetworkManager服务,不让将会出现不明错误

#systemctl stop NetworkManager

#systemctl disable NetworkManager

2、启动起来的虚拟机是否可正常上网需观察route表。

一、宿主机开启虚拟技术

使用kvm前提:CPU支持虚拟技术,且在BIOS上开启该项功能。

#grep -E '(vmx|svm)' /proc/cpuinfo

使用以上命令,如果其中输出有VMX或SVM,既表明支持虚拟化技术。

备注:进入BIOS中选择Intel VirtualTechnology这一项,默认disabled(关闭),选择enabled(开启)就可以了

验证方法:在完成第2、3的基础上,第4步安装系统时不出现异常提示

二、下载KVM相关组件

yum安装KVM及所需组件

#yum -y install libvir kvm virt-manager virt-install bridge-utils libvirt qemu-kvm virt-viewer

#systemctl  start  libvirtd

验证方式:#virsh   可以进入虚机控制台

三、建立(系统安装)磁盘

#qemu-img create /opt/kvm/centos7.img 50G

#qemu-img create -f qcow2 -o preallocation=metadata /opt/kvm/centos7.qcow2 50G (支持快照)

以上两条命令都表示在/opt/kvm下创建50G系统盘。

第一是以默认格式img创建一个50G系统盘,测试使用时推荐使用。

第二条以qcow2格式创建一个50G系统盘,推荐在正式环境中使用,支持快照等高级功能,该功能将在拓展篇中记录。

验证方法:#ls -lh /opt/kvm/centos7.img 看是否显示占用空间与输入的一致

四、安装操作系统

#virt-install -n Centos --ram=1024 --disk centos7.img --location CentOS-6.7-x86_64-bin-DVD1.iso --graphics none --check all=off --network network=default --vcpus=1 --extra-args='console=tty0 console=ttyS0'

注:

以上命令在当前/opt/kvm目录下操作,所有文件都为使用绝对路径-n  --指定系统名称

--ram  --指定内存大小

--disk  --指定系统盘

--location --指定安装的镜像盘路径、名称

 --network network=default  --指定使用的网卡

--vcpus=1  --指定CPU核实

--check all=off --可删除

--check path_in_use=off 或 --check all=off 选项覆盖

--extra-args='console=tty0 console=ttyS0' 这串表示可以通过console的方式连接已经创建的虚拟机。

--graphics none这一串是表示在把图形化输出到命令行终端上。

另外一种把图形化输出到命令行操作终端的方法是修改系统上的/boot/grub/grub.conf文件,在kernel后面加上console ttyS0,vim /etc/securetty,添加ttyS0,然后重启系统。

验证方法:

1)安装过程无报错、输入#virsh list --all可以查看到已安装的系统信息。

2)virsh start Centos

3)virsh console Centos

4)成功进入虚拟系统

五、查看配置

/etc/libvirt/qemu下的Centos.xml为虚机配置。(1个虚机对应1个该配置文件)

主要:第9、10、41、74、75、76行信息

/etc/libvirt/qemu/networks/default.xml为默认网络配置文件。(1张虚拟网卡对应一个该配置文件)

主要:第9、10、13、14、16行信息

六、进入管理台,查看虚拟机状态及网络状态

#virsh 进入KVM虚机管理台 quit/exit则退出

#list --all 查看所有虚拟及状态

#net-list --all 查看所有虚拟网卡及状态

#start centos7.0 开启虚机

#virsh net-start default 启动默认虚拟网卡

#console centos7.0 进入虚机

七、进入虚机,并查看网络,及配置网络

详情请查看网络章

八、复制虚拟机

1、拷贝系统文件(硬盘)并更改名称,如 #cp  1.img   2.img

2、拷贝系统配合文件并更改名称,及修改重要变量。

#cp  /etc/libvirt/qemu/holle1.xml  /etc/libvirt/qemu/holle2.xml

#vi   /etc/libvirt/qemu/holle2.xml

删除第10、71行。 修改9、41行对应信息。

备注:重点为更改名称、删除UUID这一类唯一标识信息。UUID删除后将自动生产一个新的,也可以使用脚本生产并替换。

3、进入virsh

#define  /etc/libvirt/qemu/holle2.xml #添加虚拟机

#list --all                                                      #查看是否添加成功

#start holle2                                                #启动虚拟机

#console holle2                                           #进入虚拟机

4、修改网络

ifconfig -a 看获取到的网卡名

#cd /etc/sysconfig/network-scripts/

#mv ifcfg-eth2 ifcfg-eth3 #网卡名更改为对应名称

#vi ifcfg-eth3 #修改对应名称,清楚UUID等唯一标识

#ifup ifcfg-eth3 #重启单个网卡

常用命令:

vm表示虚拟机名,进入虚拟控制台可以使用Tab补全命令,在bash中不支持。

查看所有已定义虚机:list  --all

查看所有已定义网卡:net-list --all

进入已开启的虚机:console vm

开机:virsh start vm

关机:virsh shutdown vm 如果不生效,需要在 vm 中执行:yum install -y acpid

强关:virsh destroy vm

删除:virsh undefine vm

定义:virsh define vm

挂起:virsh suspend vm

恢复:virsh resume vm

参考资料:

1、kvm使用入门详解

http://www.cnblogs.com/liwei0526vip/archive/2016/12/20/6201582.html

2、使用KVM虚拟win系统

http://www.cnblogs.com/nulige/articles/6602963.html

3、Linux中使用KVM

http://lvmy.iteye.com/blog/1297409

4、KVM虚拟机网络配置

http://blog.csdn.net/hzhsan/article/details/44098537/



ubuntu装kvm

1.安装ubuntu16.04.4,正常安装,安装时,加装勾选虚拟化软件
2.更新源:
apt-get update && apt-get upgrade -y
3.安装软件:
sudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin bridge-utils virtinst acpi lsb lrzsz unzip
4.修改网桥配置:
auto 网卡名字
iface 网卡名字inet manual
 
auto br0
iface br0 inet static
bridge_ports 网卡名字
bridge_stp off
bridge_fd 0
bridge_maxwait 0
address 10.255.1.2
netmask 255.0.0.0
gateway 10.255.0.1
dns-nameservers 114.114.114.114
 
5.创建存储池:
>1.新建文件夹:
mkdir /volume && mkdir /volume/vps_pool && mkdir /volume/iso
 
>2.创建存储池
virsh pool-define-as vps_pool --type dir --target /volume/vps_pool
virsh pool-build vps_pool
virsh pool-autostart vps_pool
virsh pool-start vps_pool
virsh pool-list
 
virsh pool-define-as iso --type dir --target /volume/iso
virsh pool-build iso
virsh pool-autostart iso
virsh pool-start iso
virsh pool-list
 
6.修改TCP监听端口
vim /etc/libvirt/libvirtd.conf
listen_tls = 0          #禁用tls登录
listen_tcp = 1          #启用tcp方式登录
tcp_port = "16509"       #tcp端口16509
listen_addr = "0.0.0.0"
unix_sock_group = "libvirtd"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"
auth_tcp = "none"       #TCP不使用认证
max_clients = 1024       #最大总的连接客户数1024
min_workers = 50       #libvirtd启动时,初始的工作线程数目
max_workers = 200       #同上,最大数目
max_requests = 1000      #最大同时支持的RPC调用,必须大于等于max_workers
max_client_requests = 200   #每个客户端支持的最大连接数
 
同时修改libvirt-bin的配置文件:
vim /etc/default/libvirt-bin:
# Start libvirtd to handle qemu/kvm:
start_libvirtd="yes"
# options passed to libvirtd, add "-l" to listen on tcp
libvirtd_opts="-d -l --config /etc/libvirt/libvirtd.conf"
以上修改后,执行
service libvirt-bin restart && netstat -anpt | grep 16509
就能看到libvirtd监听在TCP 16509端口。
当然,你也可以直接替换文件:
/etc/default/libvirt-bin
原文地址:https://www.cnblogs.com/chenjiye/p/11271860.html