linux下kvm虚拟教程,CentOS 7下搭建KVM虚拟机环境

本文主要介绍如何在CentOS7的宿主机环境中搭建kvm虚拟机,主要分为以下几个步骤:

宿主机的网络配置

宿主机的软件安装和配置

虚拟机模板的安装

虚拟机的克隆

虚拟机的磁盘挂载

宿主机的网络配置

在这里我们选择虚拟机的网络模式为桥接,这样宿主机以外的其它同网段的节点可以直接访问虚拟机。这里只需要在宿主机上配置一个网桥就可以了。

网桥的配置很简单。

1. 查看当前宿主机网络配置所使用的网卡,选择需要桥接的网卡。转去宿主机的/etc/sysconfig/network-scripts目录下。

2.  假如当前配置的物理网卡为eth0,我们将eth0的ip地址桥接出去。cp -a ifcfg-eth0 ifcfg-br0

3. 将ifcfg-eth0文件中配置的ip地址、掩码、网关、DNS等信息统统删掉,并增加一行BRIDGE=br0

4. 将ifcfg-br0文件中的UUID IPV6的信息统统删掉,将TYPE修改为Bridge,NAME和DEVICE修改为br0. 修改完毕之后的内容示例如下。

5. 将网络服务重新启动或者将宿主机重新启动使得配置生效。使用ifconfig命令查看ip地址信息。

网桥配置内容示例

TYPE=Bridge

DEVICE=br0

BOOTPROTO=static

ONBOOT=yes

IPADDR=192.168.1.200

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=114.114.114.114

宿主机的软件安装和配置

在 软件安装的时候,如何可以连网的话安装非常方便,只需要执行下列命令就可以了

yum -y install qemu-kvm libvirt virt-install bridge-utils

对于不能连网的情况,可以设置iso镜像文件为yum源进行软件安装(这里需要注意的是对于软件源的repo文件,默认情况下是enabled=1,有些情况下需要的手动添加设置为enabled=0)。

安装完毕之后,检查模块是否已经加载

[root@centos7 ~]# lsmod | grep kvm

kvm_intel 170181 0

kvm 554609 1 kvm_intel

执行下列命令:

systemctl start libvirtd.service

systemctl enable libvirtd.service

虚拟机模板的安装

我们先创建一个虚拟机,比如命令如下,。

virt-install --name vm_CentOS7  --ram  5120  --disk path=/var/lib/libvirt/images/vm_CentOS7/system.img,size=16

--vcpus 4  --graphics vnc

--cdrom /tmp/CentOS-7.0-1406-x86_64-DVD.iso

--os-variant none --netwrok bridge=br0

然后使用virtual Machine Manager进行操作系统安装。

安装完毕操作系统之后,我们进行软件的安装和配置

虚拟机的克隆

将一个虚拟机克隆完毕之后,就可以以此为模板进行克隆,其它虚拟机就不必在一一进行创建,安装操作系统等操作。虚拟机克隆操作的代码如下:

#!/usr/bin/env bash

set -eux

set -o pipefail

vm_path="/var/lib/libvirt/images/vm_os"

for (( i = 0; i <= 9; i ++ ))

do

vm_dir=$vm_path/vm$i

if [ ! -d $vm_dir ]; then

mkdir -p $vm_dir

fi

virt-clone --connect qemu:///system --original vm00 --name vm$i --file $vm_dir/vm"$i"system.img

done

虚拟机的磁盘挂载

虚拟机挂载磁盘的命令是virsh attach-disk ,

卸载磁盘的命令是virsh detach-disk

同样,为了批量操作方便,我们写个脚本来进行处理

#!/usr/bin/env bash

set -eux

set -o pipefail

vm_path="/var/lib/libvirt/images/vm_disk"

for (( i = 0; i <= 9; i ++ ))

do

vm_dir=$vm_path/vm$i

if [ ! -d $vm_dir ]; then

mkdir -p $vm_dir

fi

fallocate -l 15G $vm_dir/disk_15G.img

virsh attach-disk vm$i --source $vm_dir/disk_15G.img  --target sdb --persistent

#virsh detach-disk --domain vm$i --target sdb --persistent

done

以上就是日常环境中创建虚拟机的流程。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建 KVM 虚拟机需要先确保您的服务器支持虚拟化技术,可以通过以下命令来检查: ``` egrep -c '(vmx|svm)' /proc/cpuinfo ``` 如果输出结果大于0,则表示您的服务器支持虚拟化技术。 接下来,您需要安装 KVM 虚拟化软件包。在 CentOS 7.6 中,可以通过以下命令来安装: ``` yum install -y qemu-kvm libvirt libvirt-python libguestfs-tools virt-install ``` 安装完成后,启动 libvirtd 服务: ``` systemctl start libvirtd systemctl enable libvirtd ``` 现在,您可以使用 virt-manager 工具来创建和管理虚拟机。如果您需要在命令行中创建虚拟机,可以使用 virt-install 命令。以下是一个创建 CentOS 7 虚拟机的示例命令: ``` virt-install --name centos7 --ram 2048 \ --disk path=/var/lib/libvirt/images/centos7.qcow2,size=20 \ --vcpus 2 --os-type linux --os-variant rhel7 \ --network bridge=br0 \ --graphics none \ --console pty,target_type=serial \ --location 'http://mirrors.aliyun.com/centos/7/os/x86_64/' \ --extra-args 'console=ttyS0,115200n8 serial' ``` 其中,--name 参数指定虚拟机的名称,--ram 参数指定虚拟机的内存大小,--disk 参数指定虚拟机的磁盘路径和大小,--vcpus 参数指定虚拟机的 CPU 核心数,--network 参数指定虚拟机的网络配置,--graphics 参数指定虚拟机的显示方式,--console 参数指定虚拟机的控制台输出方式,--location 参数指定虚拟机的安装源,--extra-args 参数指定虚拟机的额外启动参数。 完成虚拟机创建后,您可以使用 virsh 命令来管理虚拟机,例如启动虚拟机: ``` virsh start centos7 ``` 停止虚拟机: ``` virsh shutdown centos7 ``` 重启虚拟机: ``` virsh reboot centos7 ``` 删除虚拟机: ``` virsh destroy centos7 virsh undefine centos7 rm /var/lib/libvirt/images/centos7.qcow2 ``` 希望这些命令可以帮助您在 CentOS 7.6 中搭建 KVM 虚拟机

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值