KVM虚拟机管理——虚拟机克隆
2. 部署基本操作系统虚拟机
3. 配置虚拟机
3.1 修改/etc/sysconfig/network
3.2 删除/etc/sysconfig/network-scripts/ifcfg-ethx和主机有关信息
3.3 删除网卡编号规则文件
3.4 编辑/etc/yum.repo.d/
3.5 配置console到node99无密码访问
3.6 配置sshd配置文件
3.7 配置virsh console访问虚拟机
4. 克隆虚拟机
1. 概述
通过为KVM虚拟机安装操作系统只是安装最基本的操作系统模板。这是必须的,因为每个虚拟机都需要操作系统。实际应用过程中,主要是基于操作系统安装好环境之后,再作为业务模板,方便快速部署或者迁移等。
本篇博客主要介绍该如何制作KVM模板,和克隆KVM虚拟机。
2. 部署基本操作系统虚拟机
本篇博客主要是以虚拟机node99作为基本操作系统模板。首先为node99配置硬件,并安装操作系统。
操作系统以本地安装方式,具体参见博客《》
3. 配置虚拟机
node99安装好操作系统之后,需要对其内部配置进行修改,去掉一些信息
3.1 修改/etc/sysconfig/network
删除/etc/sysconfig/network中'HOSTNAME=node99'一行
并添加"NOZEROCONF=yes"
3.2 删除/etc/sysconfig/network-scripts/ifcfg-ethx和主机有关信息
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
NAME=eth0
上面文件已经删除了uuid,hardmac等和主机有关的信息
3.3 删除网卡编号规则文件
删除文件
rm -rf 70-persistent-net.rules
rm -rf /lib/udev/write_net_rules
rm -rf /lib/udev/rules.d/75-persistent-net-generator.rules
3.4 编辑/etc/yum.repo.d/
执行命令cd /etc/yum.repo.d
,创建目录mkdir oldrepo
,然后把之前的YUM源配置文件移动其中'mv Cent* oldrepo',在从oldrepo中复制文件'cp .oldreop/CentOS-Media.repo ../CentOS-ftp.repo'
编辑CentOS-ftp.repo,内容如下
[console-ftp]
name=CentOS-$releasever - ftp
baseurl=ftp://192.168.80.8/pub/osimage/centos6.5
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
执行yum repolist
验证,如下图显示,则表示成功。
3.5 配置console到node99无密码访问
配置console到node99(模板虚拟机)的无密码登陆,本质就是用一对公密钥对来实现无密码通信。两种方式:
- 将consle的公钥上传到模板主机/root/.ssh/authorized_keys
- 在模板下生成公密钥,将私钥下载到console的/root/.ssh/目录下
这个过程可以不用配置,因为在实际生成过程中,即便是开始未配置宿主机到虚拟机的无密码登陆,后期也可以手动配置或者批量管理。
3.6 配置sshd配置文件
3.7 配置virsh console访问虚拟机
配置kvm虚拟机的控制台登陆,方式有很多种,其基本思路都是修改kvm虚拟机操作系统内部的三个文件,即
- /etc/inittab
- /etc/securety
- /boot/grub/grub.conf
这三个文件配置修改的主要目的是为kvm虚拟机配置虚拟控制台ttyS0,让宿主机能够通过virsh console xxxx
方式登陆虚拟机
这种登陆方式主要预防在宿主机无图形界面,无VNC登陆,无法ssh登陆的情况下,进行虚拟机登陆管理和维护
具体文件内容如下:
/etc/inittab最后一行添加以下内容
S0:12345:respawn:/sbin/agetty ttyS0 115200
/etc/securetty最后一行添加以下内容
ttyS0
/boot/grub/grub.conf修改如下
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-431.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=f41dc2f7-a05c-4b17-9204-eef2459c21d3 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet console=ttyS0
initrd /initramfs-2.6.32-431.el6.x86_64.img
上面三个文件,在对应虚拟机修改好后,重启虚拟机即可生效。
登陆测试
本篇博客已经对node11修改完成,执行命令:virsh console node11
,输入root,回车输入密码即可登陆,如下:
登出
通过ctrl + D ,登出node11,此时处于node11 login:界面。此时输入ctrl + ]
,即可回到宿主机的命令行
总结
对于配置KVM虚拟机的控制台登陆,有四种方式可取:
- 等kvm虚拟机创建之后手动修改
- 等kvm虚拟机启动之后,批量分发配置文件
- kvm虚拟机安装时,若是--location安装方式,通过传入内核参数进行配置
- kvm虚拟机安装时,若是--pxe安装方式,通过定义ks.cfg文件中的内核参数
4. 克隆虚拟机
进行完node99的配置之后,对node99执行poweroff操作。这样node99只需要保持关机状态,即可以其为模板,创建其他虚拟机。
因为在console的DHCP配置中,配置了客户机的MAC绑定IP,DNS服务,网关信息,主机名等,因此克隆虚拟机时,只需要指定虚拟机的MAC即可。
注:假如配置了kvm虚拟机的VNC,则还需要在启动克隆的虚拟机之前,对克隆的虚拟机进行配置修改。virsh edit nodexx,修改VNC配置段即可。
执行命令virt-clone -o node99 -n node11 -f /mnt/data/vhost/node11.img -m 00:00:00:80:00:11 -m 00:00:00:10:00:11
,即可从node99克隆node11。
编辑脚本如下:
#!/bin/bash
if [ "$#" != "2" ];then
echo "usage:$0 [moudle] [nodenum]" && exit 0
fi
SRCNODE=$1
DESNODE=$2
IMGFILE=/mnt/data/vhost/node${DESNODE}.img
virt-clone -o node${SRCNODE} -n node${DESNODE} -f ${IMGFILE} -m 00:00:00:80:00:${DESNODE} -m 00:00:00:10:00:${DESNODE}
KVM虚拟机管理——虚拟机克隆的更多相关文章
- KVM虚拟机管理——虚拟机创建和操作系统安装
1. 概述2. 交互式安装2.1 图形化-本地安装2.1.1 图形化本地CDROM安装2.2.2 图形化本地镜像安装2.2 命令行-本地安装2.2.1 命令行CDROM安装2.3 图形化-网络安装2. ...
- 6.12、通过kvm可视化管理虚拟机
6.12.1.通过Xmanager - Passive管理kvm虚拟机(首先要安装xmanager): 1.安装虚拟化管理软件: [root@centos7 ~]# yum install -y vi ...
- kvm命令管理虚拟机
virsh 既有命令行模式,也有交互模式,在命令行直接输入 virsh 就进入交互模式, virsh 后面跟命令参数,则是命令行模式: KVM 工具集合 libvirt:操作和管理KVM虚机的虚拟化 ...
- kvm虚拟机管理 系统自动化安装
原创博文安装配置KVM http://www.cnblogs.com/elvi/p/7718574.htmlweb管理kvm http://www.cnblogs.com/elvi/p/7718582 ...
- kvm虚拟机管理基础
部署 KVM 虚拟机 a.kvm 安装 环境:centos7,cpu 支持虚拟化,关闭 selinux,关闭 firewalld yum install libvirt virt-install qe ...
- KVM虚拟机管理(2)
一.virt-manager创建虚机 命令行需要下载下面的组件: CentOS7: 命令行界面升级为图形化界面 yum groupinstall "X Window System" ...
- kvm虚拟机管理(创建、连接)
创建虚机.远程管理kvm虚机.virsh命令行下管理虚机..kvm通过virsh console 连入虚拟机 一.创建虚机 1)打开虚拟化管理器
- kvm虚拟机管理(3)
一.远程管理kvm虚拟机 (1)上一节我们通过 virt-manager 在本地主机上创建并管理 KVM 虚机.其实 virt-manager 也可以管理其他宿主机上的虚机.只需要简单的将宿主机添加进 ...
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
一.背景说明 在之前的篇章中,提到在webvirtmgr里安装linux系统的vm,下面说下安装windows系统虚拟机的操作记录: 由于KVM管理虚拟机的硬盘和网卡需要virtio驱动,linux ...
随机推荐
- 性能测试—JMeter 常用元件(四)
<零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完整的测试计划包含一个或多个线程组.逻辑控 ...
- Django电商项目---完成注册页面和用户登录day1
完成基本的创建项目.用户注册.登录.注销功能 创建Django项目,创建df_user的App 创建静态文件夹static(跟manage.py保持在同一级别下) 复制静态文件(css + image ...
- Orcale日期函数to_date(),to_char()
日期转换的两个函数分别是to_date()和to_char(),to_date() 作用将字符类型按一定格式转化为日期类型, to_char() 将日期转按一定格式换成字符类型 其中当时间需要精确的时 ...
- Xmind破解
原始教程 http://df1551e3.wiz03.com/share/s/3v5l7z2wdQVs2llAUc0C_-n_2cPZVe0kEA2n2iw1Ay1ApF_o
- 解决LINUX 只读文件系统的问题
mount -o rw,remount /dev/mapper/vg_nips-lv_root /
- python五十八课——正则表达式(切割)
切割:split(regex,string):返回一个列表对象 import re str1='i love shenzhen so much' regex=r' +?' lt=re.split(re ...
- 倒水问题(Fill, UVa 10603)
[题目描述] 有三个没有刻度的水壶,容量分别为a,b和c(单位为升,都是<=200的正整数).初始时前两个水壶是空的,而第三个装满了水.每次可以从一个水壶往一个水壶里倒水,直到一个水壶倒空或者另 ...
- 1094 和为k的连续区间(暴力)
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 一整数数列a1, a2, ... , an(有正有负),以及另一个整数k,求一个区间[i, j],(1 ...
- 2017-2018-2 20155314《网络对抗技术》Exp5 MSF基础应用
2017-2018-2 20155314<网络对抗技术>Exp5 MSF基础应用 目录 实验内容 实验环境 基础问题回答 预备知识 实验步骤--基于Armitage的MSF自动化漏洞攻击实 ...
- 使用pycharm调用模块后字体变灰
点击小灯泡提示出现以下内容:This inspection detects names that should resolve but don't. Due to dynamic dispatch a ...