徐州最好网站建设,网络运营计划方案,网站建设的要求和策划,网站的推广一般有什么方式#环境说明#xff1a;Centos7
环境准备#xff1a;
CPU开启虚拟化#xff0c;给宿主机的CPU和内存分配足够多的配置 安装KVM
1.安装相关软件包
yum -y install qemu-kvm libvirt virt-manager virt-install virt-viewer
软件包简介#xff1a;
qemu-kvm: 为kvm提供…#环境说明Centos7
环境准备
CPU开启虚拟化给宿主机的CPU和内存分配足够多的配置 安装KVM
1.安装相关软件包
yum -y install qemu-kvm libvirt virt-manager virt-install virt-viewer
软件包简介
qemu-kvm: 为kvm提供底层仿真支持 libvirt: 使用最多的KVM虚拟化管理工具和应用程序接口即通过libvirt调用KVM创建虚拟机 libvirt是KVM通用的访问API其不但能管理KVM还能管理VMware、Xen、Hyper-V、 virtualBox等虚拟化方案virt-manager: 图形界面管理工具,其底层也是调用libvirt API来完成对虚拟机的操作包括虚拟机的 创建、删除、启动、停止以及一些简单的监控功能等virt-install: 虚拟机命令行安装工具virt-viewer: 通过 VNC 和 SPICE 协议显示虚拟机器图形控制台的最小工具。该工具在其同名软件包 中virtviewer
2.启动服务
systemctl start --now libvirtd 创建虚拟机
下面介绍三种创建虚拟机的方法
在创建之前需要在宿主机上先创建一个存放系统镜像的目录然后上传至此目录下
mkidr -p /data/isos 1.使用virt-manager图形化界面进行创建
#打开图形化需要下载Xmanager,并在Xshell开启下面功能 #图形化界面如果乱码修改语言为英文就能解决
输入virt-manager命令打开图形化界面 基于ISO镜像文件创建 浏览 选择镜像 设置虚拟机内存 设置磁盘大小 后面按照安装Centos7系统时进行配置即可
2.使用virt-install创建虚拟机需要手动安装系统
创建前需要先利用qume-img命令创建虚拟磁盘如下
qemu-img create -f qcow2 /var/lib/libvirt/images/centos7.qcow2 20G然后使用下面命令创建虚拟机
virt-install --virt-type kvm --name centos7 --ram 1024 --vcpus 2 \
--cdrom/data/isos/CentOS-7-x86_64-Minimal-2009.iso --disk \
path/var/lib/libvirt/images/centos7.qcow2 --networkdefault --graphics \
vnc,listen0.0.0.0 --noautoconsole --os-variantcentos7.0 选项解析如下
--virt-type指定要使用的虚拟机监控程序名称(kvm, qemu, xen--name指定kvm虚拟机的名称--ram指定kvm虚拟机的内存大小--vcpus指定kvm虚拟机的CPU核数--cdrom指定ISO镜像文件所在路径--disk指定虚拟磁盘所在路径--network指定kvm虚拟机的网络模式default为NAT模式桥接模式为--bridge网卡--graphics是否使用vncnone为否--noautoconsole宿主机不自动尝试连接kvm虚拟机--os-variant指定要安装的系统版本
vnc工具
kvm默认网络模式是NAT宿主机会充当路由器为内部的kvm虚拟机做端口映射。如果开启了vnc连接功能kvm会为每个kvm虚拟机开启一个连接端口。可以访问宿主机的设备就可以使使用vnc工具来连接kvm虚拟机
下面是宿主机为kvm虚拟机开启的vnc端口 查看启动的虚拟机 3.配合kickstart实现自动化部署kvm虚拟机无须手动安装系统
在创建前还是需要先创建虚拟磁盘如下
qemu-img create -f qcow2 /var/lib/libvirt/images/centos7.qcow2 20G
编写应答文件
#需要自行创建
vim /root/ks.cfg
#platformx86, AMD64, 或 Intel EM64T
#versionDEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard us
# Root password
rootpw --iscrypted
$6$Dx1M9/RlV5sB0KJv$19AdCxXsCbBnXSrUbYWhHQvKmtgCd0stJSHb3NrMQXZj.OpZWcNGzOROn/tg6fgxU3HYVptC35dgMcg8rpY.61
# 系统语言
#lang zh_CN.UTF-8
lang en_US# System authorization information
auth --useshadow --passalgosha512
# Use CDROM installation media
#cdrom# Use text mode install
# 使用字符界面安装操作系统
text# Do not configure the X Window System
# 不配置图形界面系统
skipx# SELinux configuration
selinux --disabled# Firewall configuration
firewall --disabled# 设置动态获取 IP
network --bootprotodhcp --deviceeth0 --onbooton
#network --hostnameHOSNAME# 设置静态 IP
# network --bootprotostatic --deviceeth0 --gateway192.168.122.1 --ip192.168.122.100 --nameserver192.168.122.1 --netmask255.255.255.0 --activate# 系统安装完成后 重启系统
#halt
reboot# System timezone 系统时区
timezone Asia/Shanghai# System services 系统启动时候自动启动的服务
services --enablechronyd# System bootloader configuration
#系统启动引导方式 vda 是kvm 虚拟机时候的第块磁盘名称
bootloader --locationmbr --boot-drivevda# 清除主引导记录
zerombr# 删除原来的分区和磁盘标签
clearpart --all --initlabel# 磁盘分区信息,这里采用的是 lvm 自动分区
autopart --typelvm# 下面是自定义分区
#part /boot --fstypexfs --ondiskvda --size200
#part / --fstypexfs --ondiskvda --size10040
#part /var --fstypexfs --ondiskvda --size2048
#part /home --fstypexfs --ondiskvda --size2048# 安装软件
%packages
^minimal
core
chrony
%end# 禁用 kdump
%addon com_redhat_kdump --disable --reserve-mbauto%end# 安装系统完成后执行的命令脚本
#%post --interpreter/bin/bash
#yum install -y epel-release bash-completion vim-enhanced wget
#yum group install Development Tools -y
#%end# 用户密码策略
%anaconda
pwpolicy root --minlen6 --minquality1 --notstrict --nochanges --notempty
pwpolicy user --minlen6 --minquality1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen6 --minquality1 --notstrict --nochanges --notempty
%end#上文件中rootpw --iscrypted指定的为root账户的密码如过想修改为其它密码可以用下面命令生成加密字符串将其替掉即可
python -c import crypt,getpass;pwgetpass.getpass();print(crypt.crypt(pw) if (pwgetpass.getpass(Confirm: )) else exit()) 运行下面命令创建虚拟机
virt-install -v \--arch x86_64 --virt-type kvm \--name centos7 \--memory 1024 \--vcpus 2 \--os-type linux \--location /data/isos/CentOS-7-x86_64-Minimal-2009.iso \--network default \--graphics vnc,listen0.0.0.0 \--os-variant centos7.0 \--initrd-inject /root/ks.cfg \--extra-args ksfile:/ks.cfg \consoletty0 consolettyS0,115200n8 \hostnamecentos7 \--disk /var/lib/libvirt/images/centos7.qcow2,cachewriteback,iothreads,busvirtio
选项解析如下
--location指定安装源这里用于指定ISO镜像文件路径--os-type操作系统类型--initrd-inject指定ks.cfg文件路径--extra-args根据location指定的方式安装系统时用于给内核传递额外的选项安装完后输入账户密码即可登录kvm虚拟机
账户root
密码123.com
Ctrl}退出 克隆现有的虚拟机
virt-clone -o centos7 -f /var/lib/libvirt/images/centos7.qcow2 -n centos7-2
选项解析
-o指定已存在的虚拟机名称-f 指定新虚拟机磁盘文件路径-n指定新虚拟机的名称磁盘快照管理
qemu-img管理磁盘快照
创建快照
qemu-img snapshot -c centos7-snapshot1 /var/lib/libvirt/images/centos7.qcow2选项解析
-c指定快照名称
查看快照
qemu-img snapshot -l /var/lib/libvirt/images/centos7.qcow2
查看快照的详细信息
qemu-img info /var/lib/libvirt/images/centos7.qcow2
恢复快照
#需要关机后进行
qemu-img snapshot -a centos7-snapshot /var/lib/libvirt/images/centos7.qcow2
选项解析
-a指定需要恢复的快照名称
删除快照
#需要关机后进行
qemu-img snapshot -d centos7-snapshot /var/lib/libvirt/images/centos7.qcow2
选项解析
-d指定需要删除的快照名称 virsh管理虚拟机快照
创建快照
virsh snapshot-create centos7
查看快照
virsh snapshot-list centos7
恢复快照
#无须关机
virsh snapshot-revert centos7 --snapshotname 1600593611 --running选项解析
--snapshotname先查看快照确认快照的名称是一段数字在--snapshotname后跟上快照名称
--running恢复后将状态更改为正在运行
删除快照
virsh snapshot-delete centos7 --snapshotname 1600593611 网络管理
配置虚拟机和宿主机为桥接网络实现网络互通并用Xshell连接
1配置宿主机的桥接网络
修改宿主机网卡文件为以下模式为空NM_CONTROLLEDno意思为此网络不受NetworkManager控制网桥名为br0
BOOTPROTOnone
NAMEens32
DEVICEens32
ONBOOTyes
NM_CONTRLLEDno
BRIDGEbr0
创建并编写br0网卡文件为一下 模式为静态类型是网桥不受NM控制定义IP
BOOTPROTOstatic
TYPEBridge
NAMEbr0
DEVICEbr0
ONBOOTyes
NM_CONTRLLEDnoIPADDR10.0.0.200
PREFIX24
NETMASK255.255.255.0
GATEWAY10.0.0.0.2
DNS202.106.0.20
关闭NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
重启网络服务
systemctl restart network
使用brctl show命令查看虚拟设备情况没有的话安装名为bridge-utils的包即可
[rootcentos7-temp ~]# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c291e1dd4 yes ens32
virbr0 8000.5254006c683e yes virbr0-nicvnet0#由上可见br0设备绑定了ens32网卡成功stp enabled为no可以执行brctl stp br0 on打开 使用route命令查看路由情况
[rootcentos7-temp ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 0 0 0 br0#由上可见所有地址网关为10.0.0.2通过br0进行通信
2配置虚拟机桥接网络
修改/etc/qemu-kvm/bridge.conf文件
allow virbr0
#加上下面一行
allow br0将虚拟机关机
virsh shutdown name
查看启动的虚拟机
virsh list
修改虚拟机配置文件中网络部分两处
vim /etc/libvirt/qemu/centos7.xml
修改前如下 修改为 启动虚拟机
virsh start name
使用virt-manager打开图形化界面将网卡修改桥接网卡 修改虚拟机网络配置文件
#加上带注释的行即可
vi /etc/sysconfig/network-scripts/ifcfg-eth0
NAMEeth0
HWADDR52:54:00:38:8D:43
ONBOOTyes
NETBOOTyes
UUID50682a96-3672-42ac-8469-2c2f20ffde5a
IPV6INITyes
BOOTPROTOstatic #设置静态IP
IPADDR10.0.0.201 #选择和宿主机在同一个网段的IP
NETMASK255.255.255.0 #与宿主机同网段
GATEWAY10.0.0.2 #与宿主机同网关
DNS202.106.0.20 #与宿主机同DNS
TYPEEthernet
PROXY_METHODnone
BROWSER_ONLYno
DEFROUTEyes
IPV4_FAILURE_FATALno
IPV6_AUTOCONFyes
IPV6_DEFROUTEyes
IPV6_FAILURE_FATALno在虚拟机中关闭NetworkManager
systemctl stop NetworkManager
重启网络服务
systemctl restart network
3验证
在宿主机上ping虚拟机的地址验证网络是否能通信 在虚拟机上ping外网地址验证是否能上外网 通过Xshell终端工具连接虚拟机 virsh常用命令 查看当前启动的虚拟机: virsh list
查看所有虚拟机virsh list --all
启动虚拟机virsh start name
正常关机virsh shutdown name
强制关机:virsh destroy name
暂停虚拟机:virsh suspend name
恢复虚拟机virsh resume name
设置虚拟机随宿主机启动而自启动virsh autostart name
禁用虚拟机随宿主机启动而自启动virsh autostart name --distable
删除虚拟机配置但不删除磁盘文件virsh undefine name
删除虚拟机包括磁盘文件virsh undefine name --remove-all-storage
查看虚拟机网卡配置virsh domiflist name
查看虚拟机的网卡地址信息virsh domifaddr name