在另一台机器上配置计算结点:
IP:192.168.200.200
Hosts:
$ sudo vim /etc/hosts
修改主机名:
1、安装包
apt-get install nova-compute-kvm python-guestfs
2、有个BUG,你必须读取当前kernel
# dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)
或者使用这个来覆盖以后的内核更新,并把文件弄成可执行
#cat /etc/kernel/postinst.d/statoverride
# chmod +x /etc/kernel/postinst.d/statoverride
3、编辑配置文件注册keystone和数据库连接方式,
#cat /etc/nova/nova.conf
4、使用消息队列,使用[DEFAULT]项
#cat /etc/nova/nova.conf
5、提供远程控制台的使用[DEFAULT]项
#cat /etc/nova/nova.conf
6、指定镜像服务的地址[DEFAULT]项
#cat /etc/nova/nova.conf
7、添加凭据
# cat /etc/nova/api-paste.ini
8、删除表,也是因为ubuntu默认使用sqlite有关系
# rm /var/lib/nova/nova.sqlite
9、重启服务
启用网络:
配置网络用DHCP,使用了多主机功能,主要是怕网络控制器成为一个单点故障,所以每个计算结点都配置网络。
1、安装nova-network的包,不用在控制节点也安装这个包。
# apt-get install nova-network
2、编辑nova.conf文件定义网络模式,还是默认项,eth1做内网,eth0做外网。
3、重启网络服务
4、创建虚拟机可用的网络,只要运行一次就好,不用在每个机器上运行
出错了,因为我们重启了虚拟主机,环境变量失效了,我们重新定义下。
启动一个实例
我们来创建一个低资源的实例
1、无密码登陆
查看密钥对
2、是创建一个实例,你必须要知道flavor的ID,他显示了你可以用的CPU,内存等信息,查看有哪些flavor(flavor 就跟菜单一样,你选哪个菜单由你决定)
3、获取镜像ID用来创建实例
4、要使用ssh和ping就必须要配置安全组的规则
5、启动实例
nova boot --flavor 1 --key_name mykey --image 1dc349d2-1ddb-4bc1-bbb1-e68c979682ed --security_group default FirstVM
格式: nova boot --flavor flavorType --key_name keypairName --image ID newInstanceName
注意:如果没有足够的可用内存,虚拟机可以创建,但不能启动。
6、使用nova list来查看虚拟机实例,状态分为两种build和active
正常状态:
查看nova-computer日志发现
有人回复主机必须启用VT-x/EPT,我们是虚拟机做的测试,那么我们尝试更改虚拟机选项。
我们在虚拟机上启用试试:
再次创建一个
现在就跑起来了,同样我们可以查看详细信息
7、经过实例启动并初始化并且配置了安全组后,你可以使用nova boot 命令指定密钥对到该实例,使用nova list获取实例的IP地址,你并不要私钥,因为它是存储在默认的位置~/.ssh/.id_rsa
注意,如果是使用cirrOS image,你就必须用cirros登陆,而不是用root,你不需要ssh key可以用 cubswin:) 作为密码登陆
Ssh cirros@192.168.200.