云平台部署与管理

虚拟化

kvm简介

虚拟化概念

virtualization资源管理
-x个物理资源 --> y个逻辑资源(x<=y)
-实现程度:完全,部分,硬件辅助(CPU)
虚拟化主要厂商及产品:VMware(VMware Workstation,vSphere’应用广泛’)
Microsoft(VirtualPC,Hyper-V)
RedHat(KVM’应用广泛’,RHEV)
Citrix(Xen)
Oracle(Oracle VM VirtualBox)

安装虚拟化服务器平台

KVM/QEMU/LIBVIRTD
-KVM是linux内核的模块,它需要CPU的支持,采用硬件辅助虚拟化技术Intel-VT,AMD-V,内存的相关利用如Intel的EPT和AMD的RVI技术
-QEMU是一个虚拟化的仿真工具,通过ioctl与内核kvm交互完成对硬件的虚拟化支持
-Libvirt是一个对虚拟化管理的接口和工具,提供用户段程序virsh,virt-install,virt-manager,virt-view与用户交互
必备软件:
qumu-kvm–>为kvm提供底层仿真支持
libvirt-daemon–>libvirtd守护进程,管理虚拟机
libvirt-client–>用户端软件,提供客户断管理命令
libvirt-daemon-diriver-qemu–>libvirtd链接qemu的驱动
可选功能:
–virt-install #系统安装工具
–virt-manager #图形管理工具
–virt-v2v #虚拟机迁移工具
–virt-p2v #物理机迁移工具
虚拟化平台的安装:yum install -y qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu
systemctl start libvirtd

kvm虚拟机的组成

组成: --内核虚拟化模块(KVM)
–系统设备仿真(QEMU)
–虚拟机管理程序(LIBVIRT)
–一个XML文件(虚拟机配置声明文件,位置/etc/libvirt/qemu/)
–一个磁盘镜像文件(虚拟机的硬盘,位置/var/lib/libvirt/images/)

管理kvm平台

virsh命令工具介绍

提供管理各虚拟机的命令接口
–支持交互模式,查看/创建/停止/关闭…
–格式:virsh 控制指令 [虚拟机名称] [参数]
]#virsh
Welcome to virsh,the…
virsh #
virsh 虚拟机管理
-list [–all] 列出虚拟机
-start | shutdown | reboot 虚拟机启动,停止,重启
-destroy 强制停止虚拟机
-define | undefine 根据xml文件 创建/删除 虚拟机
-console 连接虚拟机的console
-edit 修改虚拟机的配置
-autostart 设置虚拟机自启动
-domiflist 查看虚拟机网卡信息
-domblklist 查看虚拟机硬盘信息
-net-list [–all] 列出虚拟网络
-net-start 启动虚拟交换机
-net-destory 强制停止虚拟交换机
-net-define 根据xml文件创建虚拟网络
-net-undefine 删除一个虚拟网络设备
-net-edit 修改虚拟交换机的配置
-net-autostart 设置虚拟交换机自启动

常用镜像盘类型

  虚拟机的磁盘镜像文件格式(RAW和QCOW2"仅I/O效率较高低于RAW高,KVM默认,占用空间小,支持压缩,支持后端盘复用,支持快照,都优于RAW")
特点\类型RAWQCOW2
kvm默认
I/O效率较高
占用空间
压缩不支持支持
后端盘复用不支持支持
快照不支持支持

qemu-img命令

qemu-img命令格式
-qemu-img 命令 参数 快文件名称 大小
常用的命令:
-create 创建一个磁盘
-convert 转换磁盘格式
-info 查看磁盘信息
-resize 扩容磁盘空间
创建新的镜像盘文件:qemu-img create -f 格式 磁盘路径 大小
例:qemu-img create -f qcow2 disk.img 50G
查询镜像盘文件的信息:qemu-img info 磁盘路径
例:qemu-img info disk.img
-b 使用后端模板文件:qemu-img create -b disk.img -f qcow2 disk1.img

cow技术原理

Copy ON Write,写时复制
-直接映射原始盘的数据内容
-当数据有修改要求时,在修改之前自动将旧数据拷贝存入前端盘后,对前端盘进行修改
-原始盘始终是只读的

Virsh管理

xml管理

创建xml文件

对虚拟机的配置进行调整
-编辑: virsh edit 虚拟机名
-若修改 cpu,memory
修改node0
1500000
1500000
2

-若修改 磁盘
修改 …


-若修改 网络


批量创建虚拟机

克隆脚本命令

命令参数:
-创建虚拟机 cd /var/lib/libvirt/images/
qemu-img create -f qcow2 -b node.qcow2 node1.img 20G
-修改xml文件 sed ‘s,node,node1,’ node.xml > /etc/libvirt/qemu/node1.xml
-定义xml文件 virsh define /etc/libvirt/qemu/node1.xml
-开启虚拟机 Virsh start node1
脚本如下:

#!/bin/bash
. /etc/init.d/functions
CONF_DIR=/etc/libvirt/qemu
IMG_DIR=/var/lib/libvirt/images

function createvm(){
    if  [ -e ${IMG_DIR}/${1}.img ];then
        echo_warning
        echo "vm ${1}.img is exists"
        return 1
    else
        qemu-img create -b ${IMG_DIR}/.node_base.qcow2 -f qcow2 ${IMG_DIR}/${1}.img 30G &>/dev/null
        sed -e "s,node_base,${1}," ${IMG_DIR}/.node_base.xml >${CONF_DIR}/${1}.xml
        sudo virsh define ${CONF_DIR}/${1}.xml &>/dev/null
        echo_success
        echo "vm ${1} create"
    fi
}

if (( $# == 0 ));then
   echo "$0 vm1 vm2 vm3 ... ..."

网卡及配置文件

网络配置文件说明
-/etc/sysconfig/network-scripts/ifcfg-eth0
#Generated by dracut initrd 注释
DEVICE=‘eth0’ #驱动名称,与ifconfig看到的名称一致
ONBOOT=‘yes’ #开机启动
NM_CONTROLLED=‘no’ #不接受NetworkManager控制
TYPE=‘Ethernet’ #类型
BOOTPROTO=‘static’ #协议(dhcp|static|none)
IPADDR=‘192.168.1.10’ #IP地址
NETMASK=‘255.255.255.0’ #子网掩码
GATEWAY=‘192.168.1.254’ #默认网关

根分区扩容

virsh 虚拟机管理
-domblklist 查看虚拟机硬盘信息
-blockresize  --path [绝对路径]  --size 50G openstack
扩容思路: 先硬盘,再分区,最后文件系统
#### 根分区扩容
	-语言必须设置为英文   LANG=C
	-查看硬盘设备是否有多余空间  lsblk
	-扩容第一个分区	/usr/bin/growpart	/dev/vda 1
	-扩容文件系统	/usr/sbin/xfs_growfs		/
	-检查扩容结果 df -h
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值