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

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

2、关闭selinux

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

3、卸载防火墙

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

4、配置本地源

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

5、安装软件

sh-4.2# yum install qemu-kvm libvirt virt-install bridge-utils -y

# 检查安装是否成功,如果出现下列显示,则表示成功
sh-4.2# lsmod | grep kvm
kvm_intel
kvm kvm_intel
irqbypass kvm

6、启动程序

sh-4.2# systemctl start libvirtd
sh-4.2# systemctl enable libvirtd

7、配置程序

# 配置桥接网卡
sh-4.2# vi /etc/sysconfig/network-scripts/ifcfg-br0
sh-4.2# cat /etc/sysconfig/network-scripts/ifcfg-br0
BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.1.125
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8 sh-4.2# cp /etc/sysconfig/network-scripts/ifcfg-enp7s0 /etc/sysconfig/network-scripts/ifcfg-enp7s0.bak
sh-4.2# vi /etc/sysconfig/network-scripts/ifcfg-enp7s0
sh-4.2# cat /etc/sysconfig/network-scripts/ifcfg-enp7s0
BOOTPROTO=none
DEVICE=enp7s0
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0
sh-4.2# systemctl restart network.service sh-4.2# ifconfig br0
br0: flags=<UP,BROADCAST,RUNNING,MULTICAST> mtu
inet 192.168.1.125 netmask 255.255.255.0 broadcast 192.168.1.255
ether :e0:2b::0a:ad txqueuelen (Ethernet)
RX packets bytes (5.4 KiB)
RX errors dropped overruns frame
TX packets bytes (6.2 KiB)
TX errors dropped overruns carrier collisions # 配置kvm虚拟机存放位置,这里就做过多描述了;看后续操作即可明白 sh-4.2# parted /dev/sdb
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mkpart
Error: /dev/sdb: unrecognised disk label
(parted) mk
mklabel mkpart mktable
(parted) mklabel
New disk label type? gpt
(parted) mkpart /dev/sdb
File system type? [ext2]? xfs
Start?
End? 2T
(parted) quit
Information: You may need to update /etc/fstab. sh-4.2# partprobe
sh-4.2# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 3abc71fb-6c9d-4fe6-a432-b5a48643f8bb /boot
├─sda2 xfs fd28aad6-4cc8-48a7-beed-91624ea06746 /
├─sda3 swap 76b8f6e8-33b3-4fc0-90fc-b243c1d69cfb [SWAP]
└─sda4 xfs b34c005c-15dd-4ade-b6d4-3cda14127116 /FTP
sdb
└─sdb1 sh-4.2# mkfs -t xfs /dev/sdb1
meta-data=/dev/sdb1 isize= agcount=, agsize= blks
= sectsz= attr=, projid32bit=
= crc= finobt=, sparse=
data = bsize= blocks=, imaxpct=
= sunit= swidth= blks
naming =version bsize= ascii-ci= ftype=
log =internal log bsize= blocks=, version=
= sectsz= sunit= blks, lazy-count=
realtime =none extsz= blocks=, rtextents= sh-4.2# vi /etc/fstab
sh-4.2# grep -E -v '^$|^#' /etc/fstab
UUID=fd28aad6-4cc8-48a7-beed-91624ea06746 / xfs defaults
UUID=3abc71fb-6c9d-4fe6-a432-b5a48643f8bb /boot xfs defaults
UUID=76b8f6e8-33b3-4fc0-90fc-b243c1d69cfb swap swap defaults
UUID=b34c005c-15dd-4ade-b6d4-3cda14127116 /FTP xfs defaults
UUID=eb08ac4c-9b16-491b-b735-9f5cecfd8ba6 /disk xfs defaults sh-4.2# mkdir /disk
sh-4.2# mount -a
sh-4.2# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 3abc71fb-6c9d-4fe6-a432-b5a48643f8bb /boot
├─sda2 xfs fd28aad6-4cc8-48a7-beed-91624ea06746 /
├─sda3 swap 76b8f6e8-33b3-4fc0-90fc-b243c1d69cfb [SWAP]
└─sda4 xfs b34c005c-15dd-4ade-b6d4-3cda14127116 /FTP
sdb
└─sdb1 xfs eb08ac4c-9b16-491b-b735-9f5cecfd8ba6 /disk # 我这里已经准备好了ISO镜像,可以开始创建虚拟机了;我一般是用vnc操作虚拟机,也可以通过字符界面直接操作,我嫌太麻烦,就直接vnc操作了
# vnc下载地址:https://www.realvnc.com/en/connect/download/viewer/ 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

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

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

9、常用命令

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

10、参考地址

https://www.linuxidc.com/Linux/2017-01/140007.htm
http://blog.chinaunix.net/uid-30022178-id-5749329.html
https://blog.csdn.net/zxj1988/article/details/8530414
http://www.361way.com/virt-install/2721.html
https://blog.csdn.net/qq_37594711/article/details/61917902
https://www.cnblogs.com/createyuan/p/3741479.html
https://blog.csdn.net/wh211212/article/details/74908390
https://www.cnblogs.com/chenjiahe/p/5919426.html
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. Greenplum扩容

    Greenplum支持原有主机扩展Segment个数.新增主机.和混合扩展 本文以在已有机器上扩展节点为例 1.可按照hostname:address:port:fselocation:dbid:co ...

  2. kmalloc分配物理内存与高端内存映射--Linux内存管理(十八)

    1 前景回顾 1.1 内核映射区 尽管vmalloc函数族可用于从高端内存域向内核映射页帧(这些在内核空间中通常是无法直接看到的), 但这并不是这些函数的实际用途. 重要的是强调以下事实 : 内核提供 ...

  3. c/c++ linux epoll系列3 利用epoll_wait设置timeout时间长度

    linux epoll系列3 利用epoll_wait设置timeout时间长度 epoll_wait函数的第四个参数可以设置,epoll_wait函数的等待时间(timeout时间长度). 例子1, ...

  4. python3 多线程的使用

    示例1: import threadingfrom time import sleep class forThread(threading.Thread): def __init__(self, ev ...

  5. Linux 自动化部署DNS服务器

    Linux 自动化部署DNS服务器 1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加 ...

  6. 3星|《给产品经理讲技术》:APP开发技术介绍,没有技术背景的话恐怕只能看懂书中的比喻和结论

    基本是APP开发涉及到的相关技术的入门级介绍.涉及到的知识点与技术细节比较多,不少技术相关的内容并没有像标题暗示的那样没有技术背景也可以看懂,而是涉及到许多专业的术语.原理.也有一些内容是用比喻的方法 ...

  7. 【English Teradata】名称缩写

    日常缩写 [GTM]Teradata Go-to-Market employees [GTS]Teradata Global Technical Support [GSC] [CS&S]Cus ...

  8. Linux下禁止使用swap及防止OOM机制导致进程被kill掉

    首先解释两个概念: swap:在linux里面,当物理内存不够用了,而又有新的程序请求分配内存,那么linux就会选择将其他程序暂时不用的数据交换到物理磁盘上(swap out),等程序要用的时候再读 ...

  9. 在IIS上部署(托管).NET Core站点

    部署教程 操作系统要求 Windows 7 或更高版本 Windows Server 2008 R2 或更高版本 依赖的组件 Runtime & Hosting Bundle   image. ...

  10. Exp6 信息搜集与漏洞扫描 20165110

    Exp6 信息搜集与漏洞扫描 20165110 一.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 二.实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描 ...