1 安装阿里云的镜像站

#将原来的镜像备份
cd /etc/yum.repos.d/
mkdir back
mv CentOS-Base.repo ./back/
# 安装阿里的镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2 安装KVM

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python python-virtinst libvirt-client virt-install virt-viewer -y

yum install -y  virt-*  libvirt  bridge-utils qemu-img

安装包的解释

qemu-kvm:qemu模拟器
qemu-img:qemu磁盘image管理器
virt-install:用来创建虚拟机命令的工具
libvirt:提供libvirtd daemon来管理虚拟机和控制hypervisor
libvirt-client:提供客户端Api用来访问server和提供管理虚拟机命令行工具的virsh实体
virt-viewer:图形控制台

校验

#  lsmod命令用于显示已载入系统的模块。
lsmod | grep kvm
kvm_intel
kvm kvm_intel
irqbypass kvm

3 开启KVM 并设置开机自动启动

systemctl start libvirtd # 开启kvm
systemctl enable libvirtd # 开机自启

查看kvm运行的状态

systemctl status libvirtd

Unit vlibvitd.service could not be found.
[root@bogon yum.repos.d]# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since Thu -- :: CST; 18min ago
Docs: man:libvirtd()
https://libvirt.org
Main PID: (libvirtd)
Tasks: (limit: )
CGroup: /system.slice/libvirtd.service
├─ /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/...
├─ /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/...
└─ /usr/sbin/libvirtd Sep :: bogon systemd[]: Starting Virtualization daemon...
Sep :: bogon systemd[]: Started Virtualization daemon.
Sep :: bogon dnsmasq[]: read /etc/hosts - addresses
Sep :: bogon dnsmasq[]: read /var/lib/libvirt/dnsmasq/default.addnhosts - addresses
Sep :: bogon dnsmasq-dhcp[]: read /var/lib/libvirt/dnsmasq/default.hostsfile

进入/etc/sysconfig/network-scripts,将em2网卡备份

修改em2网卡

TYPE=Ethernet
BRIDGE=br0 # 新加的
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=em2
UUID=0cd14e14--4e79-b607-d72ca5594041
DEVICE=em2
ONBOOT=yes
#HWADDR=:A8::4A:BF:3C

创建br0网卡写如下内容,或将em2网卡的配置文件复制一份给br0网卡并修改

TYPE=Bridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
#UUID=0cd14e14--4e79-b607-d72ca5594041
DEVICE=br0
ONBOOT=yes
IPADDR="192.168.13.223"
PREFIX=""
GATEWAY="192.168.13.1"

4 安装虚拟机

 virt-install --name=node9 --memory=,maxmemory= --vcpus=,maxvcpus= --os-type=linux --os-variant=rhel7 --location=/iso/CentOS--x86_64-DVD-.iso --disk path=/kvm/node9.img,size= --bridge=br0 --graphics=none --console=pty,target_type=serial  --extra-args="console=tty0 console=ttyS0"

命令说明:
--name 指定虚拟机的名称
--memory 指定分配给虚拟机的内存资源大小
maxmemory 指定可调节的最大内存资源大小,因为KVM支持热调整虚拟机的资源
--vcpus 指定分配给虚拟机的CPU核心数量
maxvcpus 指定可调节的最大CPU核心数量
--os-type 指定虚拟机安装的操作系统类型
--os-variant 指定系统的发行版本
--location 指定ISO镜像文件所在的路径,支持使用网络资源路径,也就是说可以使用URL
--disk path 指定虚拟硬盘所存放的路径及名称,size 则是指定该硬盘的可用大小,单位是G
--bridge 指定使用哪一个桥接网卡,也就是说使用桥接的网络模式
--graphics 指定是否开启图形
--console 定义终端的属性,target_type 则是定义终端的类型
--extra-args 定义终端额外的参数

开始安装后,正常的情况下会进入到这样一个界面:

这是让你配置语言、时区、安装源、网络、密码等信息,就和我们在VMware里安装CentOS虚拟机是一样的,只不过这个是命令行形式,而VMware里是图形界面罢了。

首先设置语言,按数字1,回车进入以下界面:

例如我要选Chinese就按数字68并回车即可,回车之后会让你选择是中文简体还是繁体,也是按下相应的数字并回车即可:

配置完成之后又会再次回到配置界面,这次我们来设置时区:

设置系统安装盘:

最后开始安装系统:

安装完成之后就会停止在以下这个界面,按一下回车即可,这时就会重启安装完的系统:

5 虚拟机管理

查看虚拟机配置文件

[root@localhost ~]# ls /etc/libvirt/qemu/
networks node1.xml
[root@localhost ~]# ls /etc/libvirt/qemu/networks/
autostart default.xml
[root@localhost ~]# ls /etc/libvirt/qemu/networks/autostart/
default.xml
[root@localhost ~]#

重启成功之后就会入到登录界面,可以看到我这里是成功登录的:

这时我们是处于一个虚拟终端的,因为安装了虚拟机,如果要退出来的话,应该说是切出来,按 Ctrl + ] 即可。

dhclient eth0 # 为虚拟机分配ip
编辑网卡配置文件将ip设置为静态的
systemctl restart network # 重启网络服务

安装好虚拟机的配置

iptables -F
systemctl stop firewalld
systemctl disable firewalld
setenforce
sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
systemctl stop NetworkManager
systemctl disable NetworkManager
yum -y install vim

管理虚拟机的常用命令

# virsh list                     //查看已打开虚拟机列表

# virsh list --all                //查看所有虚拟机列表

# virsh version                //查看virsh版本号

# virsh start node1            //启动node1虚拟机

# virsh shutdown node1      //关机node1虚拟机

# virsh destroy node1         //强制关机node1虚拟机

# virsh dumpxml node1 > node1.xml //导出node1虚拟机配置文件

# virsh undefine node1       //取消node1定义

# virsh define node1.xml     //重新定义node1

# virsh autostart node1       //设置开机自启动node1

# virt-clone -o node1 -n node1-clone-f  /data/images/node1-clone.img //克隆虚拟机

[root@localhost ~]# virsh console node1  # 进入指定的虚拟机,进入的时候还需要按一下回车

安装kvm安装虚拟机centos的更多相关文章

  1. 安装KVM及虚拟机

      创建lvm       安装kvm相关的包     需要安装的包                                                                 安 ...

  2. CentOS安装KVM步骤虚拟机,绝对实用!

    KVM(Kernel-based Virtual Machine)速记.这是rhel5.4最新的虚拟化技术启动,现在只支持红帽64位rhel5.4在执行KVM,硬件必须支持同一时间VT技术,网上找 ...

  3. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  4. 【KVM安装】在Centos6.8中安装KVM

    阅读目录 前题条件 章节1:安装Centos6.8-进行硬件检测 章节2:配置网络-设置桥接方式 章节3:安装KVM 章节4:OVA转qcow2 章节5:使用KVM创建虚拟机 章节6:参考链接 前题条 ...

  5. 1-安装kvm及虚拟机

    安装KVM及虚拟机 1.       创建lvm 2.       安装kvm相关的包 需要安装的包 安装好后,进入系统,发现没有eth0 然后重启网络 然后就看到了eth0,以及ip 挂载光盘 ' ...

  6. CentOS 7.5 安装KVM虚拟机(Windows)

    一.KVM环境搭建1.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm' KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查 ...

  7. CentOS 7.5 安装KVM虚拟机(Linux)

    1.认识理解KVM虚拟机 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linu ...

  8. CentOS7.2上用KVM安装虚拟机window10踩过的坑

    最近两个星期一直在琢磨kvm安装window10操作系统,并且通过桥接模式与外界通信,经历了九九八十一难,终于搞定.下面就记录以下我们在探索的过程中踩过的坑. 安装KVM 1. 系统要求:需要一台可以 ...

  9. CentOS 7 安装配置KVM 通过KVM安装CentOS系统

    搭建环境 : CentOS 7 [root@KVM ~]# systemctl stop firewalld [root@KVM ~]# systemctl disable firewalld [ro ...

随机推荐

  1. 什么是软件工具开发包(SDK)

    开发一个软件,需要经过编辑.编译.调试.运行几个过程. 编辑:使用编程语言编写程序代码的过程. 编译:将编写的程序进行翻译. 调试:程序不可能一次性编写成功,编写过程中难免会出现语法.语义上的错误,调 ...

  2. dstat 监控工具

    dstat 监控工具 Linux 自带的监控工具.界面相当友好,可以替代其他的监控工具. 安装 yum install -y dstat 命令使用 dstat -h # 帮助 dstat -tpcdr ...

  3. await在forEach不起作用解决【await is a reserved word】

    原文链接:https://blog.csdn.net/ssbb1995/article/details/82084800 1.await 只能在 async中使用,如: async function ...

  4. RMAN恢复数据文件

    实验之前先备份数据库 RMAN>backup database; 在操作系统中删除数据文件 5 SQL> startup ORACLE 例程已经启动. Total System Globa ...

  5. python学习之flask接口开发,环境变量扩展,网络编程requests

    python基础 flask之mock接口 所谓mock接口,其实就是我们在正式接口还没联调或者是测试接口没有正式使用时,自己创建一个模拟接口,来供项目暂时打通功能或者测试流程梳理的桥梁,而我们这儿使 ...

  6. C# String 字符拼接测试(“+”、string.Format、StringBuilder 比较)

    对于字符串的拼接自己一直有疑问,在何时该用什么方法来拼接?哪种方法更好.更适合. 几种方法 1.“+” 拼接字符串 现在在 C# 中,字符串进行拼接,可以直接用 “+” 而且可以直接用于数字类型的而不 ...

  7. 多任务创建-线程(IO密集型适用)

    单核CPU:时间片轮转 并行:CPU的个数大于等于任务数 真的多任务执行 并发:CPU的个数小于任务数 假的多任务 知识点: 多线程共享全局变量 创建线程的两种方法: 1.创建子线程方法 调用函数 T ...

  8. AirTest与模拟器连接(二)

    如果我们手边没有可用的Android真机,又想进行Android应用自动化测试,这时候就要使用AirtestIDE的Android模拟器自动化测试功能了. AirtestIDE所支持的模拟器包括 An ...

  9. list获取所有上级

    /// <summary> /// 获取所有上级 /// </summary> /// <param name="list"></para ...

  10. SQL动态标签

    MyBatis的动态SQL详解MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不 ...