[OpenStack Nova] ephemeral disk & root disk & swap disk

来源:互联网 发布:中山 知乎 编辑:程序博客网 时间:2024/06/05 15:52

在openstack中, 一个instance涉及到的存储空间, 主要是根分区 (/ ,root分区), swap分区, ephemeral disk, 还有就是block storage (块存储,openstack中的cinder项目就是管理块存储的). 前面三种都是ephemeral的 (nova中专门定义ephemeral disk指的是除了root disk和swap disk之外的ephemeral空间), 他们随着instance的生命周期创建消亡。 block storage不会随着instance的生命周期结束而结束。它是persistent存储。

root disk

 提供boot loader, /分区

swap disk,

这个会比较熟, linux系统除了必须的root分区, swap分区是用于内存耗尽时, 可以物理内存中一部分空间挪到swap分区中,这样就释放了 一些物理内存空间。


ephemeral disk

这里说的ephemeral disk是狭义的,指除root分区和swap分区之外, 根据提供的资源状况提供的额外的临时存储。广义的ephemeral disk可包括root分区和swap分区,


ephemeral disk和swap disk在openstack中的使用:


通过创建flavor的方式,

# nova flavor-create --ephemeral <ephemeral> --swap <swap> ....

# nova boot --flavor FLAVOR --image IMAGE_ID [--swap 512 --ephemeral size=2] NAME

Note:“nova boot”时设置swap和ephemeral分区一定要比使用的flavor中相应值要小,也可以不设置这两项,不设置的时候会按照flavor的默认值创建, 不然novaclient会提示错误

[root@storage ~]# nova flavor-create --ephemeral 20 --swap 512 test1 7 512 1 1+----+-------+-----------+------+-----------+------+-------+-------------+-----------+| ID | Name  | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |+----+-------+-----------+------+-----------+------+-------+-------------+-----------+| 7  | test1 | 512       | 1    | 20        | 512  | 1     | 1.0         | True      |+----+-------+-----------+------+-----------+------+-------+-------------+-----------+<pre name="code" class="html">[root@storage ~]# nova boot --image cirros --flavor 7  --swap 512 --ephemeral size=20 test2222[root@storage ~]# nova list+--------------------------------------+----------+--------+------------+-------------+--------------------+| ID                                   | Name     | Status | Task State | Power State | Networks           |+--------------------------------------+----------+--------+------------+-------------+--------------------+| 3d6f79f4-4240-4a24-a21e-90f63a40c544 | test2222 | ACTIVE | -          | Running     | net_flat=10.20.1.6 |+--------------------------------------+----------+--------+------------+-------------+--------------------+

通过查看instance所在目录的disk结构

[root@storage ~]# cd /var/lib/nova/instances/3d6f79f4-4240-4a24-a21e-90f63a40c544[root@storage 3d6f79f4-4240-4a24-a21e-90f63a40c544]# ls -altotal 11768drwxr-xr-x. 2 nova nova     4096 May 29 02:16 .drwxr-xr-x. 5 nova nova     4096 May 29 02:15 ..-rw-rw----. 1 qemu qemu    23270 May 29 02:21 console.log-rw-r--r--. 1 qemu qemu 11665408 May 29 02:23 disk<strong>-rw-r--r--. 1 qemu qemu   197120 May 29 02:16 disk.eph0</strong>-rw-r--r--. 1 nova nova      245 May 29 02:16 disk.info<strong>-rw-r--r--. 1 qemu qemu   197120 May 29 02:16 disk.swap</strong>-rw-r--r--. 1 nova nova     1971 May 29 02:16 libvirt.xml
多了disk.eph0 和disk.swap. 注意, boot时参数ephemeral不设置, disk.eph0的命名会是disk.local。

此外,利用Virt-Manager 或者ssh进去建好的instance test2222 我们可以使用sudo fdisk -l 命令看到多了两块盘 (对比不用swap和ephemeral分区)



0 0