分享

openstack 如何改变实例的存储位置

创建m1.tiny 型实例的时候正常
当创建 大一点磁盘的 实例时出现:
No valid host was found. There are not enough hosts available

我认为是我的 / 目录的容量不够了,只剩下2个G

我有一个/data 分区有 1个T
默认的存储位置 是 /var/lib/nova/instance 下面
如何修改这个位置,不要让他 把实例存储在 / 分区下呢

已有(7)人评论

跳转到指定楼层
heshan0511 发表于 2016-5-6 22:14:15
为啥还没有审核通过啊
回复

使用道具 举报

tntzbzc 发表于 2016-5-8 22:04:45
heshan0511 发表于 2016-5-6 22:14
为啥还没有审核通过啊

这个需要修改配置,
另外的一个可能原因就是超过了系统默认的最大分配磁盘空间
回复

使用道具 举报

jixianqiuxue 发表于 2016-5-8 22:53:16


官方也查不到,不过这个确实可以配置,下面内容来自官方。
个人认为可以通过改变instances的两个目录,从而改变存储位置。不过在不同的配置文件里


/var/lib/nova/instances

It's worth mentioning this directory in the context of failed compute nodes. This directory contains the libvirt KVM file-based disk images for the instances that are hosted on that compute node. If you are not running your cloud in a shared storage environment, this directory is unique across all compute nodes.

/var/lib/nova/instances contains two types of directories.

The first is the _base directory. This contains all the cached base images from glance for each unique image that has been launched on that compute node. Files ending in _20 (or a different number) are the ephemeral base images.

The other directories are titled instance-xxxxxxxx. These directories correspond to instances running on that compute node. The files inside are related to one of the files in the _base directory. They're essentially differential-based files containing only the changes made from the original _base directory.

All files and directories in /var/lib/nova/instances are uniquely named. The files in _base are uniquely titled for the glance image that they are based on, and the directory names instance-xxxxxxxx are uniquely titled for that particular instance. For example, if you copy all data from /var/lib/nova/instances on one compute node to another, you do not overwrite any files or cause any damage to images that have the same unique name, because they are essentially the same file.

Although this method is not documented or supported, you can use it when your compute node is permanently offline but you have instances locally stored on it.


回复

使用道具 举报

rsgg03 发表于 2016-5-8 22:55:38
还有两种办法:
1.查看源码
2.查看日志
创建实例的时候,日志应该详细记录了
回复

使用道具 举报

heshan0511 发表于 2016-5-9 23:29:17
这个我最终虽然没解决,但是到是发现了问题,而且觉得应该差不多
首先,确实是因为存储不够用了,所以创建虚拟机的时候出错
配置应该在nova.conf 里面,有个state_path=/var/lib/nova
但是直接改这个始终会出现 Pemission Denied 。我尝试了各种方法改权限都不行。也是因为我是一个新手,对系统的这方面不太了解
后来查阅到 /etc/passwd  这个文件里面,每一个用户后面跟了一个该用户的主目录。发现nova用户的目录就是var/lib/nova,所以我猜想应该改一下这里就行了。
我没有弄出来是因为我弄权限的时候除了新问题,最后实在不行重新装了  = =
新手就是各种坑
回复

使用道具 举报

heshan0511 发表于 2016-5-9 23:31:58
jixianqiuxue 发表于 2016-5-8 22:53
官方也查不到,不过这个确实可以配置,下面内容来自官方。
个人认为可以通过改变instances的两个目录 ...

亲,我又有新问题了。我是校园网环境,默认是可以连接ipv6的。可是openstack 的实例 v4 是没有问题的,v6却得不到ip地址。不知道在那里能配置呢。
学校的校园网默认ipv6 是 自动分配的。
我在我的物理机上手动分配了v4地址,没有手动分v6.他就自己有了v6、
可是虚拟机中却不行。求指点
回复

使用道具 举报

jixianqiuxue 发表于 2016-5-10 07:57:21
heshan0511 发表于 2016-5-9 23:31
亲,我又有新问题了。我是校园网环境,默认是可以连接ipv6的。可是openstack 的实例 v4 是没有问题的,v6 ...




首先需要安装一个虚拟机,本次实验采用的是linux系统,首先需要确认Linux系统可支持IPv6地址,查询方法:输入
ifconfig,回车后,如果有类似inet6 addr : fe80::20c:29ff:fed7:4563/64 Scope:link 类型的地址,说明这个
linux系统可支持IPv6,否则需要先加载IPv6模块

运行命令insmod ipv6或者modprobe ipv6,然后用命令lsmod可以查看系统已加载的模块列表,如果看到ipv6,则表示
模块已经加载成功。用命令rmmod ipv6可以删除ipv6模块。也可以让系统在网络启动的时候自动加载ipv6模块,方法是
编辑/etc/sysconfig/network文件,加入新的一行NETWORKING_IPV6=YES。
配置IPv6地址:

ifconfig eth0 add 2001:470:23:13::6/64
2001:470:23:13::6为你的IPv6地址,需要向网络管理员咨询索取,也可配置为私有IPv6地址,不影响测试
私有IPv6地址空间为:FEC0:0000:0000:0000:0000:0000:0000:0000/10
这样就配置成功了



需要注意的几点:
1、虚拟机网络连接方式务必设置为桥接,NAT是不支持IPv6的
2、主机和虚拟主机的IPv6地址必须位于同一个子网
3、实验采用的VMware版本为7.1,老版本可能不支持IPv6

4、Linux下Ping IPv6地址时需要使用ping6,否则会出现ping: unknown host错误,windows下ping和ping6均可



更多参考
在VMware下实现主机与虚拟主机之间的IPv6通信








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条