OpenStackNova创建的实例没有永久存储,也就是说关闭实例后所有数据都会丢失,所以需要存储来保存每个实例的数据。这种实例和存储分离的设计方式非常巧妙,使得运行在其上的实例具有很大的灵活性,存储的管理也非常方便,使得实例在不同服务器节点之间的在线迁移(livemigration)更加方便和简单的。OpenStackNova使用nova-volume服务来管理存储。与Amazon的ElasticBlockStorage(EBS)不同,nova-volume提供了基于LinuxLVM的iSCSI解决方案。Nova-volume需要一个单独的分区用于LVM。如果系统上没有额外的LVM分区,可以用一个文件作为硬盘。当然这个方法只能自己测试玩了。生产环境最好使用物理硬盘。为LVM创建一个新文件:#ddif=/dev/zeroof=/home/vpsee/nova-volumes.imgbs=1Mseek=100000count=0#losetup-fnova-volumes。img#losetup-a/dev/loop0:[fb00]:24120015(/home/vpsee/nova-volumes.img)#vgcreatenova-volumes/dev/loop0Nophysicalvolumelabelreadfrom/dev/loop0Physicalvolume"/dev/loop0"successfullycreatedVolumegroup"nova-volumes"successfullycreated#pvscanPV/dev/sda5VGnode01lvm2[465.52GiB/48.00MiBfree]PV/dev/loop0VGnova-volumeslvm2[97.65GiB/77.65GiBfree]总计:2free[563.17GiB]/inuse:2[563.17GiB]/innoVG:0[0]iscsitarget包默认安装后不会自动启动,需要手动配置并启动iscsitarget服务:#vi/etc/default/iscsitargetISCSITARGET_ENABLE=true#serviceiscsitargetstart*启动iSCSIenterprisetarget服务新建一个10GB大小的volume,检查是否创建成功(available),将新建的volume附加到正在运行的实例上,并附加成功后再次查看卷的状态变为使用中:#euca-create-volume-s10-znovaVOLUMEvol-0000000310creating(mycloud,None,None,None)2011-08-30T13:20:04Z#euca-describe-volumesVOLUMEvol-0000000310nova可用(mycloud,node01,无,无)2011-08-30T13:20:04Z#euca-describe-instancesRESERVATIONr-i5927300myclouddefaultINSTANCEi-00000031ami-00000006172.16.39.224172.16.39.224运行mykey.priv(mycloud,node01)0m1.tiny2011-08-26T07:12:57Znova#euca-attach-volume-ii-00000031-d/dev/vdbvol-00000003VOLUMEvol-00000003#euca-describe-volumesVOLUMEvol-0000000310novain-use(mycloud,node01,i-00000031[node01],/dev/vdb)2011-08-30T13:20:04Z如果要从正在运行的实例中卸载volume,使用euca-detach-volume,如果卸载成功,然后你会看到volumestatus变回available了:#euca-detach-volumevol-00000003VOLUMEvol-00000003#euca-describe-volumesVOLUMEvol-0000000310novaavailable(mycloud,node01,None,None)2011-08-30T13:20:04Z来源正文:http://www.vpsee.com/2011/09/openstack-nova-storage-management/【编辑推荐】在CentOS上安装配置OpenStackNovaHP加入OpenStack云计算大潮Ubuntu将告别Eucalyptus,走向OpenStack
