linux虚拟化

KVM 配置步骤

(一) 准备工作
1.关闭selinux
临时关闭

setenforce 0 临时关闭SELinux
setenforce 1 临时开启SELinux
getenforce   查看当前状态命令
sestatus     命令的作用是可以查看系统运行SELinux的状态
vi /etc/sysconfig/selinux 永久关闭SELinux需修改配置文件

永久关闭SELinux需修改配置文件:vi /etc/sysconfig/selinux
,修改 SELINUX=disabled。

代码示例:

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled  将原来的enforcing改为disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

注意:修改SELinux永久关闭,必须重启服务器,才能生效。

永久关闭后,不能通过 setenforce 1 命令临时打开了
关闭NetworkManager

systemctl stop NetworkManager 关闭NetworkManager
(centos7 network和NetworkManager可能会冲突)
systemctl disable NetworkManager 设置开机不启动
systemctl                        查看

2 修改宿主机 hostname
hostnamectl set-hostname kvmbase

重新登陆后生效

3 修改 ip 地址(查看自己宿主机网段 例 宿主机网段 192.168.1.0 kvm 宿主机 IP 地址指定
192.168.1.100)

systemctl stop NetworkManager 关闭 NetworkManager(centos7 network 和 NetworkManager
可能会冲突)
systemctl disable NetworkManager 设置开机服务不启动
ip addr  查看 自己网卡名称 如网卡名称 ens33
修改 kvm 宿主机 ip 地址为 192.168.1.100
vi /etc/sysconfig/network-scripts/ifcfg-ens33 ONBOOT=yes
BOOTPROTO=static IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
wq 保存退出
systemctl restart network 重启 network 服务
ip addr  验证 ip 地址是否修改成功

4 建立本地 yum 源 建立本地挂载点

mkdir /mnt/cdrom 挂载光盘
mount /dev/cdrom /mnt/cdrom
配置 yum 源文件
cd /etc/yum.repo.d
mv CentOS-Base.repo CentOS-Base.repo.bak mv CentOS-CR.repo CentOS-CR.repo.bak
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak 
mv CentOS-fasttrack.repo CentOS-fasttrack.repo.bak
mv CentOS-Sources.repo CentOS-Sources.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak
vi CentOS-Media.repo baseurl=file:///mnt/cdrom/
#	file:///media/cdrom/
#	file:///media/cdrecorder/ gpgcheck=1
enabled=1 wq 保存退出 
yum clean all
yum makecache

5 安装 net-tools (可运行 ifconfig/route/netstat 等网络指令)

yum install net-tools -y
安装完成后
ifconfig 验证安装是否成功

6 挂载磁盘

fdisk -l
找到未分区的磁盘(例如 sdb) fdisk /dev/sdb
n	(新建分区)
p	(主分区) 默认-默认 (大小) w	(写保存)
fdisk -l 查看分区情况
mkfs.xfs /dev/sdb1	格式新建分区 mkdir /kvm  新建分区挂在点 mount /dev/sdb1 /kvm 挂在磁盘
vi /etc/fstab  修改配置文件 开机自动挂载

7 安装 kvm 相关工具

yum install virt* libvirt* qemu-kvm

8 设置 libvritd 开机自启动并且启动服务

systemctl start libvirtd systemctl enable libvirtd

9 重启

reboot/shutdown -r now

10 上传宿主机 CentOS 安装 iso 至 kvm 宿主机/kvm 文件夹下

sftp root@192.168.182.230 put iso

11 firewalld 打开 vnc 5900 端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
systemctl disable firewalld 关闭firewalld服务(重启后生效)
systemctl stop firewalld  本次关闭 
systemctl status firewalld   查看防火墙状态

(二) 安装虚拟机 centos01
1 使用 qemu-img 虚拟机 centos01 磁盘文件

qemu-img create -f qcow2 centos01.qcow2 5G   安装虚拟机
virt-install \
--virt-type kvm \
--name centos01 \
--memory 2048 \
--vcpus=2 \
--cdrom=/mnt/data/CentOS-7-x86_64-DVD-2009.iso \
--disk path=/mnt/data/centos01.qcow2 \
--network network=default \
--graphics vnc,listen=0.0.0.0 \
--noautoconsole\

输入virsh进入工具
start centos01 开启虚拟机
stop  centos01 关闭虚拟机
vncdisplay centos01 查看vnc端口
1、查看运行的虚拟机
#  virsh list
查看所有的虚拟机(关闭和运行的,不包括摧毁的)
#  virsh list --all
2.、启动虚拟机
# virsh start  虚拟机名称
虚拟机随物理机启动而启动
# virsh autostart 虚拟机名称
3、连接虚拟机
#  virsh console 虚拟机名称
4、退出虚拟机
快捷键: ctrl+]
5、关闭虚拟机
virsh shutdown  虚拟机名称
#前提虚拟机需要(安装acpid服务)
yum install -y acpid
/etc/init.d/acpid start
6、在virsh list中删除该虚拟机
virsh destroy 虚拟机名称
7、彻底删除虚拟机
#解除标记
virsh undefine 虚拟机名称
然后删除虚拟机存储所在的位置
virsh suspend 虚拟机名称 #挂起
virsh resume 虚拟机名称  #恢复被挂起的



2.5 如果错过了安装时间 进入 centos 自检 需要强制虚拟机关机

virsh destroy centos01
修改虚拟机配置文件:从光盘启动,并配置光盘镜像
virsh edit centos01
<os>
<type arch='x86_64' machine='pc-i440fx-rhel7.0.0'>hvm</type>
<boot dev='cdrom'/>
</os>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/kvm/CentOS-7-x86_64-DVD-1908.iso'/>
<target dev='hda' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

3 安装完成后 进入虚拟机开启 ttyS0 服务,使 kvm 宿主机可通过 virsh console centos01 控制虚拟机

使 kvm 宿主机可通过 virsh console centos01 控制虚拟机
virsh console centos01
systemctl enable serial-getty@ttyS0.service 
systemctl start serial-getty@ttyS0.service;

4 virsh console centos01 进入虚拟机
5 开启网卡

测试 nat 模式 是否能 ping 通 vicbr0 地址 192.168.122.1 以及宿主机网关 192.168.1.1 (三) kvm 虚拟机与 kvm 宿主机连接方式为网桥模式

1 复制 kvm 宿主机网卡配置文件为 ifcfg-br0 cd   /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-br0
2  编辑 ifcfg-ens33 网卡配置文件
TYPE=Ethernet
#PROXY_METHOD=none
#BROWSER_ONLY=no
#BOOTPROTO=static
#DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33
#UUID=dcd7c36e-892c-4889-96d9-b196846d60a0 DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.1.100
#NETMASK=255.255.255.0
#GATEWAY=192.168.1.1
#DNS=192.168.1.1 BRIDGE=br0


3  编辑 ifcfg-br0 网桥配置文件
TYPE=Bridge
#PROXY_METHOD=none
#BROWSER_ONLY=no
BOOTPROTO=static DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy NAME=br0
#UUID=dcd7c36e-892c-4889-96d9-b196846d60a0 DEVICE=br0
ONBOOT=yes
IPADDR=10.78.15.240 
NETMASK=255.255.255.0 
GATEWAY=10.78.15.1 
DNS=10.120.35.13
4  重启网络服务
service	network restart

5 查看 出口是否转移到 br0 [root@kvmbase network-scripts]# route -n

6  修改虚拟机配置文件 将 nat 改成网桥
virsh	destroy centos01 virsh edit centos01

<interface type='bridge'>
<mac address='52:54:00:49:e5:07'/>
<source bridge='br0'/>
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>

virsh start centos01

7 查看 kvm 虚拟机网卡是否与 br0 关联
brctl show
[root@kvmbase network-scripts]# brctl show
bridge name	bridge id	STP enabled	interfaces ens33
virbr0-nic
8 进入 kvm 虚拟机修改网卡地址与宿主机相同网段
9 检测 kvm 虚拟机是否 ping 通宿主机网段 

克隆及迁移

克隆操作需要在目标虚拟机关机状态下进行
1完全克隆

virt-clone --auto-clone -o 目标虚拟机 -n 新虚拟机

2.链接克隆

1.链接克隆虚拟磁盘文件
qume-img create -f qcow2 -b 后备文件名称(被链接的文件)新文件名称 大小
2.复制虚拟机配置文件
进入/etc/libvirt/qemu/
找到一个已经被定义的虚拟机文件,复制一个新的虚拟机配置
vi编辑虚拟机配置
删除UUIDMAC地址信息
修改磁盘指定的虚拟磁盘文件路径
修改虚拟机名字
3.在virsh中定义虚拟机
使用define命令在virsh中定义虚拟机
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值