配置Nova--自动回收实例块存储空间到ceph存储池
2015-01-23 16:39
381 查看
自动回收实例的空置块存储空间到ceph存储池, 这是Juno版本中新增的feature[1]。
具体解决的问题这里[2]讲的很清楚了(虚机中文件删除了存储空间就应该回收)。
下面是如何配置使用这一feature:
环境:Openstack Juno release, qemu v1.5.3, libvirt v1.1.1, ceph v0.80.7, Nova uses shared rbd pool ; VM OS root file system is ext4.
配置:
1) mount root fs of instance with "discard" option, 这个需要做进image里面。
[root@host-10-13-42-171 ~]# cat /etc/fstab
... ...
UUID=322bb1b9-e58f-410a-86aa-16395823a903 / ext4 discard,defaults 1 1
2)configure image to use "ide" as disk_bus type, the defaut is virtio, but bus type must be "ide", please refer to [3].
glance image-update $image-uuid --property hw_disk_bus=ide
3)configure Nova-compute
in /etc/nova/nova.conf, add:
... ...
hw_disk_discard=unmap
# restart nova-compute service
4) boot VM as normal
查看虚机的配置:
cat /var/lib/nova/instances/45370d57-523e-45cd-8ed7-60bdfe7eda90/libvirt.xml
... ...
<disk type="network" device="disk">
<driver type="raw" cache="none" discard="unmap"/>
<source protocol="rbd" name="system/45370d57-523e-45cd-8ed7-60bdfe7eda90_disk">
... ...
<target bus="ide" dev="hda"/>
</disk>
5)verify
#log into VM:
dd if=/dev/zero of=./test_file bs=1M count=1024
然后删除文件,用”ceph df “命令查看对比 文件创建和删除后的已使用空间。应该看到的是虚机中文件删除后,存储空间就会立马回收。
由于IDE类型虚拟设备不支持热插拔, 而目前Ceph RBD只IDE才支持discard功能,所以要是想给虚机挂载盘Cinder volume(后端是Ceph) 并支持discard是行不通的。
不使用discard这一功能的坏处就是会有一定量的存储空间由于没有及时回收而造成额外浪费。
使用discard也会带来一些副作用,继续研究~
参考:
[1] https://wiki.openstack.org/wiki/ReleaseNotes/Juno Add support for handing back unused disk blocks to the underlying storage system
[2]http://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/libvirt-disk-discard-option.html
[3] http://ceph.com/docs/master/rbd/qemu-rbd/
具体解决的问题这里[2]讲的很清楚了(虚机中文件删除了存储空间就应该回收)。
下面是如何配置使用这一feature:
环境:Openstack Juno release, qemu v1.5.3, libvirt v1.1.1, ceph v0.80.7, Nova uses shared rbd pool ; VM OS root file system is ext4.
配置:
1) mount root fs of instance with "discard" option, 这个需要做进image里面。
[root@host-10-13-42-171 ~]# cat /etc/fstab
... ...
UUID=322bb1b9-e58f-410a-86aa-16395823a903 / ext4 discard,defaults 1 1
2)configure image to use "ide" as disk_bus type, the defaut is virtio, but bus type must be "ide", please refer to [3].
glance image-update $image-uuid --property hw_disk_bus=ide
3)configure Nova-compute
in /etc/nova/nova.conf, add:
... ...
hw_disk_discard=unmap
# restart nova-compute service
4) boot VM as normal
查看虚机的配置:
cat /var/lib/nova/instances/45370d57-523e-45cd-8ed7-60bdfe7eda90/libvirt.xml
... ...
<disk type="network" device="disk">
<driver type="raw" cache="none" discard="unmap"/>
<source protocol="rbd" name="system/45370d57-523e-45cd-8ed7-60bdfe7eda90_disk">
... ...
<target bus="ide" dev="hda"/>
</disk>
5)verify
#log into VM:
dd if=/dev/zero of=./test_file bs=1M count=1024
然后删除文件,用”ceph df “命令查看对比 文件创建和删除后的已使用空间。应该看到的是虚机中文件删除后,存储空间就会立马回收。
由于IDE类型虚拟设备不支持热插拔, 而目前Ceph RBD只IDE才支持discard功能,所以要是想给虚机挂载盘Cinder volume(后端是Ceph) 并支持discard是行不通的。
不使用discard这一功能的坏处就是会有一定量的存储空间由于没有及时回收而造成额外浪费。
使用discard也会带来一些副作用,继续研究~
参考:
[1] https://wiki.openstack.org/wiki/ReleaseNotes/Juno Add support for handing back unused disk blocks to the underlying storage system
[2]http://specs.openstack.org/openstack/nova-specs/specs/juno/implemented/libvirt-disk-discard-option.html
[3] http://ceph.com/docs/master/rbd/qemu-rbd/
相关文章推荐
- 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置
- OpenStack+Ceph存储空间回收《转》
- new 出来的存储空间(如果不使用delete),系统会自动回收?
- OpenStack+Ceph存储空间回收
- 远程拷贝、查看端口、vim常见快捷键、查找替换命令、grep命令、查看存储空间的命令、chkconfig命令、系统自动启动级别、主机名配置、IP地址配置、域名映射、防火墙设置
- shell 监控磁盘空间并自动报警实例
- Oracle 数据库自动存储管理-安装配置
- Oracle 数据库自动存储管理-安装配置
- 实例讲解制作OTA短信来自动配置手机WAP书签
- [未成功]VMware vSphere 5.5 存储空间回收实验
- oracle不同数据模范存储空间的实例较量
- SAN BOOT-用IBM BladeCenter HS20刀片服务器连接IBM FastT 700存储远程启动Windows 2003配置实例
- 打洞(Punch a hole):回收存储空间(File、Block以及其他)
- nginx配置wordprocess访问wp-admin自动加斜杠配置实例
- TMS320C54x系列DSP存储空间的配置
- 组播配置RP自动获得实例
- [SMS&WAP]实例讲解制作OTA短信来自动配置手机WAP书签[附源码]
- spring 配置实例4(使用DefaultAdvisorAutoProxyCreator 自动代理,比较省时省力的做法)
- 连续的磁盘存储空间的分配和回收。
- [ORACLE RAC安装]配置 Oracle 自动存储管理 失败