1、检查CPU是否支持虚拟化

  1. sh-4.2# grep -E '(vmx|svm)' /proc/cpuinfo
  2. # 若是无任何显示,则表示CPU不支持kvm虚拟化

2、关闭selinux

  1. sh-4.2# sed -i '1,$ s/enforcing/disabled/g' /etc/selinux/config
  2. sh-4.2# reboot

3、卸载防火墙

  1. sh-4.2# rpm -qa | grep "iptables" | xargs rpm -e --nodeps
  2. sh-4.2# rpm -qa | grep "firewall" | xargs rpm -e --nodeps

4、配置本地源

  1. sh-4.2# cat /etc/yum.repos.d/GuGe.repo
  2. [GuGe]
  3. name=GuGe
  4. baseurl=ftp://192.168.1.125
  5. gpgcheck=
  6. enable=
  7. # 这里仅使用了iso镜像源

5、安装软件

  1. sh-4.2# yum install qemu-kvm libvirt virt-install bridge-utils -y
  2.  
  3. # 检查安装是否成功,如果出现下列显示,则表示成功
  4. sh-4.2# lsmod | grep kvm
  5. kvm_intel
  6. kvm kvm_intel
  7. irqbypass kvm

6、启动程序

  1. sh-4.2# systemctl start libvirtd
  2. sh-4.2# systemctl enable libvirtd

7、配置程序

  1. # 配置桥接网卡
  2. sh-4.2# vi /etc/sysconfig/network-scripts/ifcfg-br0
  3. sh-4.2# cat /etc/sysconfig/network-scripts/ifcfg-br0
  4. BOOTPROTO=static
  5. DEVICE=br0
  6. TYPE=Bridge
  7. NM_CONTROLLED=no
  8. IPADDR=192.168.1.125
  9. NETMASK=255.255.255.0
  10. GATEWAY=192.168.1.1
  11. DNS1=8.8.8.8
  12.  
  13. sh-4.2# cp /etc/sysconfig/network-scripts/ifcfg-enp7s0 /etc/sysconfig/network-scripts/ifcfg-enp7s0.bak
  14. sh-4.2# vi /etc/sysconfig/network-scripts/ifcfg-enp7s0
  15. sh-4.2# cat /etc/sysconfig/network-scripts/ifcfg-enp7s0
  16. BOOTPROTO=none
  17. DEVICE=enp7s0
  18. NM_CONTROLLED=no
  19. ONBOOT=yes
  20. BRIDGE=br0
  21. sh-4.2# systemctl restart network.service
  22.  
  23. sh-4.2# ifconfig br0
  24. br0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
  25. inet 192.168.1.125 netmask 255.255.255.0 broadcast 192.168.1.255
  26. ether :e0:2b::0a:ad txqueuelen (Ethernet)
  27. RX packets bytes (5.4 KiB)
  28. RX errors dropped overruns frame
  29. TX packets bytes (6.2 KiB)
  30. TX errors dropped overruns carrier collisions
  31.  
  32. # 配置kvm虚拟机存放位置,这里就做过多描述了;看后续操作即可明白
  33.  
  34. sh-4.2# parted /dev/sdb
  35. GNU Parted 3.1
  36. Using /dev/sdb
  37. Welcome to GNU Parted! Type 'help' to view a list of commands.
  38. (parted) mkpart
  39. Error: /dev/sdb: unrecognised disk label
  40. (parted) mk
  41. mklabel mkpart mktable
  42. (parted) mklabel
  43. New disk label type? gpt
  44. (parted) mkpart /dev/sdb
  45. File system type? [ext2]? xfs
  46. Start?
  47. End? 2T
  48. (parted) quit
  49. Information: You may need to update /etc/fstab.
  50.  
  51. sh-4.2# partprobe
  52. sh-4.2# lsblk -f
  53. NAME FSTYPE LABEL UUID MOUNTPOINT
  54. sda
  55. ├─sda1 xfs 3abc71fb-6c9d-4fe6-a432-b5a48643f8bb /boot
  56. ├─sda2 xfs fd28aad6-4cc8-48a7-beed-91624ea06746 /
  57. ├─sda3 swap 76b8f6e8-33b3-4fc0-90fc-b243c1d69cfb [SWAP]
  58. └─sda4 xfs b34c005c-15dd-4ade-b6d4-3cda14127116 /FTP
  59. sdb
  60. └─sdb1
  61.  
  62. sh-4.2# mkfs -t xfs /dev/sdb1
  63. meta-data=/dev/sdb1 isize= agcount=, agsize= blks
  64. = sectsz= attr=, projid32bit=
  65. = crc= finobt=, sparse=
  66. data = bsize= blocks=, imaxpct=
  67. = sunit= swidth= blks
  68. naming =version bsize= ascii-ci= ftype=
  69. log =internal log bsize= blocks=, version=
  70. = sectsz= sunit= blks, lazy-count=
  71. realtime =none extsz= blocks=, rtextents=
  72.  
  73. sh-4.2# vi /etc/fstab
  74. sh-4.2# grep -E -v '^$|^#' /etc/fstab
  75. UUID=fd28aad6-4cc8-48a7-beed-91624ea06746 / xfs defaults
  76. UUID=3abc71fb-6c9d-4fe6-a432-b5a48643f8bb /boot xfs defaults
  77. UUID=76b8f6e8-33b3-4fc0-90fc-b243c1d69cfb swap swap defaults
  78. UUID=b34c005c-15dd-4ade-b6d4-3cda14127116 /FTP xfs defaults
  79. UUID=eb08ac4c-9b16-491b-b735-9f5cecfd8ba6 /disk xfs defaults
  80.  
  81. sh-4.2# mkdir /disk
  82. sh-4.2# mount -a
  83. sh-4.2# lsblk -f
  84. NAME FSTYPE LABEL UUID MOUNTPOINT
  85. sda
  86. ├─sda1 xfs 3abc71fb-6c9d-4fe6-a432-b5a48643f8bb /boot
  87. ├─sda2 xfs fd28aad6-4cc8-48a7-beed-91624ea06746 /
  88. ├─sda3 swap 76b8f6e8-33b3-4fc0-90fc-b243c1d69cfb [SWAP]
  89. └─sda4 xfs b34c005c-15dd-4ade-b6d4-3cda14127116 /FTP
  90. sdb
  91. └─sdb1 xfs eb08ac4c-9b16-491b-b735-9f5cecfd8ba6 /disk
  92.  
  93. # 我这里已经准备好了ISO镜像,可以开始创建虚拟机了;我一般是用vnc操作虚拟机,也可以通过字符界面直接操作,我嫌太麻烦,就直接vnc操作了
  94. # vnc下载地址:https://www.realvnc.com/en/connect/download/viewer/
  95.  
  96. sh-4.2# virt-install -n Centos7- -r --disk /disk/Centos7-.img,format=qcow2,size= --vcpus= --network bridge=br0 --os-type=linux \
    sh-4.2# --cdrom /FTP/ftp/镜像软件/iso/linux/Centos/7.4/CentOS-7-x86_64-Everything-1708.iso --vnc --vncport=5910 --vnclisten=0.0.0.0
  1.  

8、开启宿主机远程连接虚拟机权限(可选操作)

  1. sh-4.2# vim /etc/default/grub
  2. 用如下内容覆盖原有内容:
  3. GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
  4. GRUB_DEFAULT=saved
  5. GRUB_DISABLE_SUBMENU=true
  6. GRUB_TERMINAL="console serial"
  7. GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
  8. GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb"
  9. GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200"
  10. GRUB_DISABLE_RECOVERY="true"
  11.  
  12. sh-4.2# grub2-mkconfig -o /boot/grub2/grub.cfg
  13. sh-4.2# reboot
  14.  
  15. sh-4.2# yum install -y acpid(客户端开启电源管理功能,这样就能在宿主机中设置虚拟机随宿主机启动而启动)

9、常用命令

  1. virsh console vmname 在服务器端连接虚拟机
  2. virsh shutdown vmname 关闭虚拟机
  3. virsh list --all 显示所有虚拟机及状态
  4. virsh reboot vmname 重启虚拟机
  5. virsh start vmname 启动虚拟机
  6. virsh console vmname 连接虚拟机
  7. ctrl + ] 关闭连接
  8. virsh suspend vmname 挂起虚拟机
  9. virsh resume vmname 恢复虚拟机
  10. virsh dumpxml vmname 查看虚拟机配置详情
  11. virsh autostart vmname 设置虚拟机随宿主机启动而启动
  12. virsh autostart --disable vmname 取消虚拟机随宿主机启动而启动
  13.  
  14. virsh destroy vmname 强制关机
  15. virsh undefine vmname 解除虚拟机,然后删除虚拟机文件(*.img);这样才能彻底删除虚拟机,并且释放空间。
  16.  
  17. virsh start vmname --console 启动并远程连接
  18. qemu-img create -f qcow2 /var/lib/libvirt/images/kvm01-.img 20G 创建一个20G的磁盘文件,格式qcow2
  19. virsh attach-disk vmname /var/lib/libvirt/images/kvm01-.img vdb --cache=none --subdriver=qcow2 在线添加硬盘
  20. virt-clone -o vmname1 -n vmname2 -f /var/lib/libvirt/images/vmname02.img 克隆一个虚拟机
  21.  
  22. 虚拟机信息的修改
  23. virsh shutdown name
  24. cd /etc/libvirt/qemu
  25. virsh dumpxml old_name > new_name.xml
  26. # 直接更改new_name.xml,更换想要更换的信息
  27. virsh undefine old_name
  28. virsh define new_name.xml
  29. virsh list --all

10、参考地址

  1. https://www.linuxidc.com/Linux/2017-01/140007.htm
  2. http://blog.chinaunix.net/uid-30022178-id-5749329.html
  3. https://blog.csdn.net/zxj1988/article/details/8530414
  4. http://www.361way.com/virt-install/2721.html
  5. https://blog.csdn.net/qq_37594711/article/details/61917902
  6. https://www.cnblogs.com/createyuan/p/3741479.html
  7. https://blog.csdn.net/wh211212/article/details/74908390
  8. https://www.cnblogs.com/chenjiahe/p/5919426.html
  9. https://www.linuxidc.com/Linux/2017-01/140009.htm?utm_source=tuicool&utm_medium=referral

Centos 7 最小化kvm部署的更多相关文章

  1. Centos 7 最小化时间服务部署配置

    基本原理 Centos 7 我所了解有两种时间服务,NTPD与chronyd:两者对Centos 7 的支持都很好,有对chrony非常夸赞的,不过我这里只讲ntpd:有对chrony有想法的可以自行 ...

  2. Centos 7最小化redis部署

    配置源 [GuGe] name=GuGe baseurl=ftp://192.168.1.82 gpgcheck= enable= 安装 sh-4.2# yum -y install gcc gcc- ...

  3. Centos 7最小化Mongodb部署操作

    基本组件 mongodb-org mongodb-org-server mongodb-org-mongos mongodb-org-shell mongodb-org-tools 文件位置 /var ...

  4. Centos 7最小化InfluxDB部署

    配置源 [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com ...

  5. Centos 7最小化安装部署PostgreSQL

    安装 sh-4.2# yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-ce ...

  6. Centos 7 最小化Gitlab部署操作

    Gitlab的介绍 gitlab是一个版本控制的集群软件,集成了git.postgresql.Ruby.nginx.redis等重要应用工具: gitlab分为ce和ee版本:CE是社区版,EE是企业 ...

  7. RHEL/CentOS 7最小化安装后需做的30件事情

    导读 CentOS是一个工业标准的Linux发行版,是红帽企业版 Linux 的衍生版本.你安装完后马上就可以使用,但是为了更好地使用你的系统,你需要进行一些升级.安装新的软件包.配置特定服务和应用程 ...

  8. CentOS 7 最小化安装及优化

    CentOS 7 最小化安装及优化 目录 CentOS 7 最小化安装及优化 一.下载镜像文件 官方网站 国内镜像源 一.VMware 配置虚拟网络 二.VMware 新建虚拟机 三.CentOS 7 ...

  9. CentOS 7 最小化安装的网络配置

    默认的最小化安装CentOS 7系统以后,是没有ipconfig这个命令的,依赖于net-tools工具包. 一.nmtui 这是一个类似于图形化的命令(和setup类似) 通过这个组件窗口可以设置各 ...

随机推荐

  1. 日志学习系列(二)——Log4net的实例

    一.log4net简单实例创建步骤如下 1.第一步:在项目中添加对log4net.dll的引用,这里引用版本是2.0.8.0 2.第二步:程序启动时读取log4net的配置文件. 读取log4net的 ...

  2. HTML DOM 事件对象 ondragend 事件

    学习网站:http://www.runoob.com/jsref/event-ondragend.html 定义和用法 ondragend 事件在用户完成元素或首选文本的拖动时触发. 拖放是 HTML ...

  3. spring MVC处理请求过程

    spring MVC处理请求过程 首先看一个整体图 简单说下各步骤: handlerMapping handlerMapping将请求映射到处理器,即图中的HandlerExecutionChain. ...

  4. 手把手教你实现Android RecyclerView上拉加载功能

    摘要 一直在用到RecyclerView时都会微微一颤,因为一直都没去了解怎么实现上拉加载,受够了每次去Github找开源引入,因为感觉就为了一个上拉加载功能而去引入一大堆你不知道有多少BUG的代码, ...

  5. ENABLE_DDL_LOGGING 参数使用 监控对象的DDL(在alter 日志记录DDL语句)

    启用 DDL 日志记录 功能--支持动态调整 alter system set enable_ddl_logging=true; alter system set enable_ddl_logging ...

  6. TestNG安装及使用

    安装:https://www.cnblogs.com/xusweeter/p/6559196.html使用:https://www.cnblogs.com/liwu/p/5113936.html 作用 ...

  7. 相约南湖,南京都昌信息亮相南湖HIT论坛

    金秋十月,雨过南湖水似油 ,烟雾蒙蒙净长空 2017年10月15日, 南湖HIT论坛迎来了第六届.本次论坛吸引了500名来自全国各地医疗机构.卫生行政主管部门的信息化主管和医疗IT企业的精英,齐聚嘉兴 ...

  8. jeecg字典表—普通表

    创建普通表 同步数据库(创建对应的表) 验证功能效果 添加用户表,并添加对应的级别属性 同步用户表 字典功能测试 然后生成最新代码,添加到菜单即可

  9. 在一台计算机上运行两个或多个tomcat

    有的时候我们需要在一台计算计算机上安装多个Tomcat,那我们该怎样配置呢?  ## 1.配置思路: 在操作之前我们先启动一个Tomcat,看一下启动数据: 这里面有我们在环境变量中配置的CATALI ...

  10. Shell命令-文件及目录操作之ls、cd

    文件及目录操作 - ls.cd 1.ls:列出目录的内容及其内容属性信息 ls命令的功能说明 ls命令用于列出目录的内容及其内容属性信息. ls命令的语法格式 ls [OPTION]... [FILE ...