在OpenStack中定义临时磁盘并与持久性存储进行比较

时间:2020-01-09 10:38:10  来源:igfitidea点击:

OpenStack中的根磁盘与临时磁盘。
什么是临时磁盘。
定义临时存储openstack。
临时磁盘openstack。
了解临时存储和根磁盘之间的区别。
Openstack中的临时磁盘与根磁盘。
定义临时磁盘。
持久存储在openstack中。
OpenStack中的根磁盘。
openstack中的临时存储短暂存在很短时间。

OpenStack可以识别两种存储类型:Openstack中的"临时存储"和"持久存储"

定义临时存储

  • OpenStack中的临时存储仅与特定的Compute实例相关联,并且寿命很短。

  • 顾名思义,一旦VM终止,在OpenStack环境中积极使用虚拟机的用户将丢失关联的磁盘。

  • 这种类型的存储对于基本的运行时要求很有用,例如在短时间内(例如仅一天)存储实例的操作系统。

  • 临时磁盘可以通过NFS挂载在本地创建并添加在虚拟机管理程序主机的存储上,也可以在外部存储上托管。
    使用最后一个选项,可以在多个计算节点之间迁移虚拟机,因为实例根磁盘位于可由多个管理程序主机访问的共享存储上。

定义永久性存储

  • 另一方面,OpenStack中的持久性存储旨在独立于任何正在运行的实例而生存("持久")。

  • 关闭虚拟机电源不会影响OpenStack中永久存储上的数据。

  • OpenStack中的持久性存储用于需要重用的任何数据,这些数据可以由不同的实例使用,也可以在特定实例的生命周期之外使用。

  • 我们可以将OpenStack中的持久性存储分为三个选项:对象存储,文件共享存储和代码分别为Swift,Manila和Cinder的块存储。

  • 我已经写了另一篇关于使用流程图比较煤渣和快速存储之间的比较和差异的文章。

每个实例至少需要一个"根磁盘"(包含引导加载程序和核心操作系统文件),并且可能具有可选的"临时磁盘"。
根磁盘的内容或者来自存储在Glance存储库中的镜像(并复制到目标虚拟机管理程序添加的存储中),或者来自持久性块存储卷(通过Cinder)。

根磁盘与临时磁盘OpenStack之间的区别

根磁盘:

  • 根磁盘包含镜像的操作系统,它是使用镜像作为模板创建的。

  • 如果根磁盘的大小小于镜像定义的最小磁盘,则不会部署该实例。

  • OpenStack计算服务支持基于OpenStack卷的根磁盘的使用,以使根磁盘具有持久性。

临时磁盘:

  • 临时磁盘定义了实例将有多少额外的磁盘空间可用。

  • 为了使该空间可用,将在实例中创建一个设备。

  • 该设备的大小是为风味中的临时磁盘定义的大小。

  • 该设备是原始设备,因此需要使用文件系统进行分区和格式化。

  • 默认情况下,风味中的临时磁盘的大小为0 GB。

在OpenStack中列出flavor

以下列表存在于我的undercloud节点上OpenStack中的flavor

$openstack flavor list
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
| ID                                   | Name          |  RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+---------------+------+------+-----------+-------+-----------+
| 3cd8285a-7f9a-4176-91c5-6cc8d4b69d10 | compute       | 4096 |   20 |         0 |     1 | True      |
| 48c4e5fc-dba5-49e9-98a8-8fca11db781a | control       | 4096 |   20 |         0 |     1 | True      |
| c238e44a-d74e-4d08-91ae-33effb657005 | baremetal     | 4096 |   40 |         0 |     1 | True      |
| e3e95dfd-8a64-4cc0-a57f-bd8a133f5673 | block-storage | 4096 |   40 |         0 |     1 | True      |
| f95ea5d8-d776-4359-96ae-c5a099ddbdc1 | ceph-storage  | 4096 |   15 |         0 |     1 | True      |
| fd31fb4f-0ae5-47ce-a68f-3e5f412b503c | swift-storage | 4096 |   40 |         0 |     1 | True      |
+--------------------------------------+---------------+------+------+-----------+-------+-----------+

如何在OpenStack中使用根磁盘和临时磁盘创建flavor?

在下面的代码中,我将创建一个带有10 GB根磁盘和2 GB临时磁盘的flavor

$openstack flavor create --vcpus 1 --ram 1024 --disk 10 --ephemeral 2 --swap 1024 m1.exercise
+----------------------------+--------------------------------------+
| Field                      | Value                                |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled   | False                                |
| OS-FLV-EXT-DATA:ephemeral  | 2                                    |
| disk                       | 10                                   |
| id                         | c8be1fd2-c3e5-4cc4-b6ec-c61a6f544f8c |
| name                       | m1.exercise                          |
| os-flavor-access:is_public | True                                 |
| properties                 |                                      |
| ram                        | 1024                                 |
| rxtx_factor                | 1.0                                  |
| swap                       | 1024                                 |
| vcpus                      | 1                                    |
+----------------------------+--------------------------------------+