增加block storage - 前期准备 (controller)
block storage又叫做cinder,用来给openstack提供存储服务,比如我们在阿里云购买一台云主机,同时想购买容量大的磁盘,通常叫做云盘,这个云盘就是block storage。
创建库并授权cinder用户
mysql -uroot -ptn1Pi6Ytm
> CREATE DATABASE cinder;
> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'O3bwbpoZ3';
> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'O3bwbpoZ3';
执行初始化脚本
source admin-openrc.sh
创建cinder用户 (密码为hf8LX9bow)
openstack user create --domain default --password-prompt cinder
添加admin角色
openstack role add --project service --user cinder admin
创建网络
neutron net-create public --shared --provider:physical_network public \
--provider:network_type flat
创建子网(为了不和虚拟机的DHCP服务产生冲突先关闭虚拟机的DHCP服务)
neutron subnet-create public 192.168.163.0/24 --name public \
--allocation-pool start=192.168.163.10,end=192.168.163.30 \
--dns-nameserver 218.85.157.99 --gateway 192.168.163.2
说明:这里的公网,实际上是虚拟机用的那个网段,我们暂时把它作为公网,在这里因为涉及到dhcp服务,会和局域网内的路由器上的dhcp服务产生冲突,所以需要先把路由器上的dhcp服务关掉。
运行实例 - 创建key (controller)
执行初始化脚本
source demo-openrc.sh
生成密钥
ssh-keygen -q -N ""
nova keypair-add --pub-key ~/.ssh/id_rsa.pub mykey
验证密钥
nova keypair-list
增加安全组规则
nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
允许ssh 访问
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
运行实例 - 配置实例选项 (controller)
执行初始化脚本
source demo-openrc.sh
列出实例类型
nova flavor-list
列出所有镜像
nova image-list
列出可用网络
neutron net-list
列出安全组
nova secgroup-list
运行实例
nova boot --flavor m1.tiny --image cirros --nic net-id=PUBLIC_NET_ID \
--security-group default --key-name mykey public
说明:这里的PUBLIC_NET_ID需要替换为可用网络里面public网络的id
检测实例状态
nova list
使用vnc连接(使用下面命令可以列出vnc的连接)
nova get-vnc-console public novnc
得到返回链接,可使用浏览器直接访问
http://controller:6080/vnc_auto.html?token=7d13571f-1ba3-4ccd-8d91-1f17befc46da
验证网络(在实例里面)
ping -c 4 192.168.163.2