本系列文章会总结 QEMU/KVM 和 Ceph 之间的整合: (1)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (2)QEMU 的 RBD 块驱动(block driver) (3)存储卷挂接和设备名称 这篇文章分析一下一个 Ceph RBD 卷是如何被映射到一个 QEMU/KVM 客户机的,以及客户机中设备的命名问题. 1. 遇到的设备命名问题 1.1 通过 Nova 和 Cinder 做 Ceph RDB 卷挂接和卸载步骤 挂接一个卷: #运行nova-attach 命令no…
本系列文章会总结 QEMU/KVM 和 Ceph 之间的整合: (1)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (2)QEMU 的 RBD 块驱动(block driver) (3)存储卷挂接和设备名称 1. QEMU 的 RBD 块驱动 QEMU/KVM 虚机中的磁盘(disk drive),可能虚拟自 Hypervisor 上的 qcow2,raw 等格式的镜像文件,也可能来自网络块设备存储系统比如 Ceph 的一个卷等.QEMU 使用一套统一的插件式的块设备驱动架构,它定义…
本系列文章会总结 QEMU/KVM 和 Ceph 之间的整合: (1)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (2)QEMU 的 RBD 块驱动(block driver) (3)存储卷挂接和设备名称 QEMU-KVM 的缓存机制的概念很多,Linux/KVM I/O 软件栈的层次也很多,网上介绍其缓存机制的文章很多.边学习边总结.本文结合 Ceph 在 QEMU/KVM 虚机中的使用,总结一下两者结合时缓存的各种选项和原理. 1. QEMU/KVM 缓存机制 先以客户机(Gu…
1.存储卷概述 因为pod是有生命周期的,pod一重启,里面的数据就没了,所以我们需要数据持久化存储,在k8s中,存储卷不属于容器,而是属于pod,也就是说同一个pod中的容器可以共享一个存储卷,存储卷可以是宿主机上的目录,也可以是挂载在宿主机上的外部设备. 存储卷类型: emptyDIR存储卷:pod一重启,存储卷也删除,这叫emptyDir存储卷,一般用于当做临时空间或缓存关系; hostPath存储卷:宿主机上目录作为存储卷,这种也不是真正意义实现了数据持久性; SAN(iscsi)或NA…
集群环境 配置基础环境 添加ceph.repo wget -O /etc/yum.repos.d/ceph.repo https://raw.githubusercontent.com/aishangwei/ceph-demo/master/ceph-deploy/ceph.repo yum makecache 配置NTP yum -y install ntpdate ntp ntpdate cn.ntp.org.cn systemctl restart ntpd ntpdate;systemc…
目录 数据持久化-储存卷 官方文档 存储卷类型 1.emptyDir 2.hostpath 3.pv/pvc(推荐使用) nfs官方文档 安装测试nfs pv/pvc管理nfs 官方文档 pv/pvc解释 1. PV 的访问模式(accessModes) 2. PV 的回收策略(persistentVolumeReclaimPolicy) 3. PV 的状态 4.创建pv 5.pvc插件 官方文档 pvc使用pv-创建pvc pv-pvc.yaml 使用nfs 数据持久化-储存卷 我们知道,Po…
在机器上装了一个Centos6.2用来测试KVM,对比Windows下的VMware worstation,KVM功能强大,定制性高,只要入了门,绝对是功能强大.用来作云计算不错.不过就是操作性差了点.没有vmware workstation方便,毕竟,workstation是个人用的,可能不适合企业吧,没接触过vsphere. kvm的安装比较简单,如果安装Centos的时候没有安装,那么,就需要使用groupinstall了 KVM的主要软件组有如下几个 1. Virtualization…
RBD存储卷 目前 CaaSP4 支持多种 Volume 类型,这里选择 Ceph RBD(Rados Block Device),主要有如下好处: Ceph 经过多年开发,已经非常熟,社区也很活跃: Ceph 同时支持对象存储,块存储和文件系统接口: 环境准备条件 1.搭建环境 操作系统版本: SLES15 SP1,无需安装 swap 内核版本:4.12.14-197.18-default Kubernetes 版本:CaaSP 4 , v1.15.2 Ceph :Storage 6 VMwa…
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(发送端) (4)QEMU/KVM + VxLAN 环境下的 Segmentation Offloading 技术(接收端) 1. 测试环境 1.1 总体环境 宿主机:Ubuntu Linux/KVM + VxLAN + Linu…
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 1. QEMU/KVM 迁移的概念 迁移(migration)包括系统整体的迁移和某个工作负载的迁移.系统整理迁移…
When managing a VM Guest on the VM Host Server itself, it is possible to access the complete file system of the VM Host Server in order to attach or create virtual hard disks or to attach existing images to the VM Guest. However, this is not possible…
1. QEMU/KVM 迁移的概念 迁移(migration)包括系统整体的迁移和某个工作负载的迁移.系统整理迁移,是将系统上所有软件包括操作系统完全复制到另一个物理机硬件机器上.虚拟化环境中的迁移,可分为静态迁移(static migration,或者 冷迁移 cold migration,或者离线迁移 offline migration) 和 动态迁移 (live migration,或者 热迁移 hot migration 或者 在线迁移 online migration).静态迁移和动态…
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 本文将梳理 QEMU/KVM 快照相关的知识,以及在 OpenStack Nova 中使用 libvirt 来对…
下载地址:Libvirt Qemu KVM 教程大全 http://files.cnblogs.com/popsuper1982/LibvirtQemuKVM.pptx 1. 概论 1.1 虚拟化的基本类型 无虚拟化 半虚拟化Paravirtualization 非硬件辅助全虚拟化 硬件辅助全虚拟化 实验一:查看系统是否支持硬件辅助虚拟化 1.2 KVM Qemu Libvirt之间的关系 实验二:安装KVM, Qemu, Libvirt 2. Qemu KVM 接下来的章节介绍qemu-kvm…
1. 块存储是什么 块存储简称RBD(RADOS Block Device),是一种有序的字节序块,也是在Ceph三大存储类型中最为常用的存储方式 ,Ceph的块存储是基于RADOS的,因此它也借助RADOS的快照.复制和一致性等特性提供了快照.克隆和备份等操作.Ceph的块设备是一种精简置备模式,可以拓展块存储的大小且存储的数据以条带化的方式存储到Ceph集群中的多个OSD中. 2. 访问块存储的方式 访问块存储的方式有两种,分别是KRBD的方式和librbd的方式. 2.1 KRBD方式 K…
目录 一.存储卷的概念和类型 二.emptyDir存储卷演示 三.hostPath存储卷演示 四.nfs共享存储卷演示 五.PVC和PV的概念 六.NFS使用PV和PVC 1.配置nfs存储 2.定义PV 3.定义PVC 4.测试访问 七.StorageClass 八.配置容器应用:Secret和configMap 8.1.Secret解析 创建 Secret的2种方式 如何使用Secret?? 8.2.ConifgMap解析 ConfigMap创建方式 如何使用configMap?? 一.存储…
本文将梳理 QEMU/KVM 快照相关的知识,以及在 OpenStack Nova 中使用 libvirt 来对 QEMU/KVM 虚机做快照的过程. 1. QEMU/KVM 快照 1.1 概念 QEMU/KVM 快照的定义: 磁盘快照:磁盘的内容(可能是虚机的全部磁盘或者部分磁盘)在某个时间点上被保存,然后可以被恢复. 磁盘数据的保存状态: 在一个运行着的系统上,一个磁盘快照很可能只是崩溃一致的(crash-consistent) 而不是完整一致(clean)的,也是说它所保存的磁盘状态可能相…
QEMU/KVM磁盘的在线完整及增量备份,是"打包"方案的一种具体实现,可实现基于时间点的备份,同时支持本地与远程2种备份方式,并可指定备份文件进行恢复. tag: qemu, kvm, disk, live, backup, incremental, bitmap 小慢哥的原创文章,欢迎转载 目录 ▪ 1. 本文缘由 ▪ 2. 最终能实现什么 ▪ 3. 环境说明 ▪ 4. 常用命令一览 ▪ 5. 磁盘在线备份的4种方式 ▪ 6. 查询磁盘对应的设备名 ▪ 7. 什么是bitmap ▪…
介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价,首先,kubernetes中的volume被定义在Pod上,然后被一个Pod里的多个容器挂在到具体的文件目录下:其次,kubenetes中的volume与Pod的生命周期相同,但与容器生命周期不相关,当容器终止或者重启时,volume中的数据也不会丢失,最后Volume支持多种数据类型,比如:GlusterFS,Ceph等吸纳进的…
因为pod是有生命周期的,pod一重启,里面的数据就没了.所以我们需要数据持久化存储. 在k8s中,存储卷不属于容器,而是属于pod.也就是说同一个pod中的容器可以共享一个存储卷. 存储卷可以是宿主机上的目录,也可以是挂载在宿主机上的外部设备. 存储卷类型  emptyDIR存储卷 :pod一重启,存储卷也删除,这叫emptyDir存储卷.一般用于当做临时空间或缓存关系   hostPath存储卷 :宿主机上目录作为存储卷,这种也不是真正意义实现了数据持久性. SAN(iscsi)或NAS(n…
k8s volume存储卷   介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价,首先,kubernetes中的volume被定义在Pod上,然后被一个Pod里的多个容器挂在到具体的文件目录下:其次,kubenetes中的volume与Pod的生命周期相同,但与容器生命周期不相关,当容器终止或者重启时,volume中的数据也不会丢失,最后Volume支持多种数据类型,比如:Glu…
学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-…
本文收录在容器技术学习系列文章总目录 1.认识存储卷 1.1 背景 默认情况下容器中的磁盘文件是非持久化的,容器中的磁盘的生命周期是短暂的,这就带来了一系列的问题:第一,当一个容器损坏之后,kubelet 会重启这个容器,但是文件会丢失-这个容器会是一个全新的状态:第二,当很多容器在同一Pod中运行的时候,很多时候需要数据文件的共享.Kubernete Volume解决了这个问题. 1.2 介绍 Docker有一个Volumes的概念,虽然这个Volume有点宽松和管理性比较小.在Docker中…
由于KVM的架构为 Libvirt –> qemu –> KVM 所以对于live migration有两种方式,一种是qemu + KVM自己的方式,一种是libvirt的方式,当然libvirt也是基于qemu+kvm的方式 qemu + KVM自己的方式为使用monitor KVM Migration KVM currently supports savevm/loadvm and offline or live migration Migration commands are give…
场景分析 每个机房的Ceph都是独立的cluster,彼此之间没有任何关系. 多个机房都独立的提供对象存储功能,每个Ceph Radosgw都有自己独立的命名空间和存储空间. 这样带来两个问题: 针对Radosgw来说,我们的业务没法提供统一的命名空间: 没有机房级别的容灾,若一个机房Radosgw无法访问,则机房提供的对象存储瘫痪: Realm: Zonegroup: 理解为数据中心,由一个或多个Zone组成,每个Realm有且仅有 一个Master Zonegroup,用于处理系统变更,其他…
1. Libvirt 在 OpenStack 架构中的位置 在 Nova Compute 节点上运行的 nova-compute 服务调用 Hypervisor API 去管理运行在该 Hypervisor 的虚机.Nova 使用 libvirt 管理 QEMU/KVM 虚机,还使用别的 API 去管理别的虚机.        libvirt 的实现代码在 /nova/virt/libvirt/driver.py 文件中. 这里是 OpenStack Hypervisor Matrix. 这里是…
K8s的存储卷: 它有四种存储卷: 1. emptyDir: 空目录,这种存储卷会随着Pod的删除而被清空,它一般作为缓存目录使用,或临时目录, 当做缓存目录时,通常会将一块内存空间映射到该目录上,让Pod做为缓存目录使用. 2. hostPath SAN(存储区域网络): iSCSI,FB NAS(网络附加存储): nfs,cifs 分布式存储: Glusterfs, ceph(rbd), cephfs 云存储: EBS(弹性块存储),Azure Disk #emptyDir存储卷的示例: v…
一.概述 1.我们此前讲过根据应用本身是否需要持久存储数据以及某一次请求和之前的请求是否有联系,可以分为四类应用 a.有状态,要存储 b.有状态,无持久存储 c.无状态,要存储 d.无状态,无持久存储 其中,大多数和数据存储服务相关的应用和有状态应用几乎都是需要持久存储数据的.在docker中说过,容器有生命周期,为了使容器将来终结以后可以把其删除,甚至是编排到其它节点上去运行,意味着我们数据不能放在容器本地,不能放在容器自己的名称空间中.注意这是两套逻辑,以k8s为例,pod运行时应该是运行在…
client   :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13   1.实验环境 准备四台KVM虚拟机,其三台作为存储集群节点,一台安装为客户端,实现如下功能: 创建1台客户端虚拟机 创建3台存储集群虚拟机 配置主机名.IP地址.YUM源 修改所有主机的主机名 配置无密码SSH连接 配置NTP时间同步 创建虚拟机磁盘 1.1 五台机器(包括真机)配置yum源 1.1.1 全部搭建ftp服务 1.…
根据应用本身是否 需要持久存储数据,以及某一此请求和此前的请求是否有关联性,可以分为四类应用: 1.有状态要存储 2.有状态无持久存储 3.无状态无持久存储4.无状态有持久存储 在k8s上的数据持久性:1.emptyDir:只在节点本地使用,一旦pod删除存储卷也删除.只是用来做临时目录,可是做缓存用 没有任何持久性    2.hostPath:主机路径,直接在宿主机上找一个目录与容器建立关联关系,也不具有真正意义上的持久性    3.网络连接性存储 1)传统意义上的存储设备,本地的san(is…