一、如何创建云主机
使用双节点部署,控制节点(controller):192.168.16.10,计算节点(compute):192.168.16.20
(一)、创建镜像
1、在控制节点中找到qcow2镜像
[root@controller ~]# cd /opt/iaas/images/
[root@controller images]# ls
CentOS_6.5_x86_64_XD.qcow2 CentOS_7.2_x86_64_XD.qcow2 MySQL_5.6_XD.qcow2
2、通过glance命令,将qcow2镜像上传到平台
[root@controller images]# source /etc/keystone/admin-openrc.sh
[root@controller images]# glance image-create --name "centos7.2" --disk-format qcow2 --container-format bare --progress < CentOS_7.2_x86_64_XD.qcow2
(二)、创建网络
打开浏览器,访问http://192.168.16.10/dashboard地址,域:demo,用户名:admin,密码:000000。
1、创建外部网络
选择菜单栏:项目 -> 网络 -> 网络。单击“创建网络”,来创建虚拟机网络。
创建网络名称为net-gre,配置子网名称为net-subnet,网络地址为192.168.20.0/24,网关为192.168.20.2。
再配置DHCP地址池,激活DHCP,配置DNS为114.114.114.114。点击“已创建”创建网络。
选择菜单栏:管理员 -> 系统 -> 网络。对已创建的net-gre网络,点击 “编辑网络”,在弹框中勾选“外部网络”。
2、创建内部网络
选择菜单栏:项目 -> 网络 -> 网络。单击“创建网络”,来创建虚拟机网络。
创建网络名称为int-gre,配置子网名称为int-subnet,网络地址为10.10.0.0/24,网关为10.10.0.1。
配置DHCP地址池,激活DHCP。点击“已创建”创建网络。
(三)、创建路由
1、创建路由
选择菜单栏:项目 -> 网络 -> 路由。单击“新建路由”,来创建路由。
创建路由名称为route,外部网络选择“net-gre”。点击“新建路由”创建路由。
2、添加内部网络端口
单击新建的路由名称,选择“接口”标签。点击“增加接口”按钮。
在弹框中,选择“int-gre”内部网络,再点击“提交”。
(四)、管理安全组
1、管理default默认安全组
选择菜单栏:项目 -> 计算 -> 访问&安全。单击default安全组“管理规则”按钮。
2、添加放行策略
点击“添加规则”,选择“所有ICMP协议”,单击“添加”按钮;选择“所有TCP协议”,单击“添加”按钮;选择“所有UDP协议”,单击“添加”按钮。
(五)、创建云主机
1、创建云主机
选择菜单栏:项目 -> 计算 -> 云主机。单击“创建云主机”按钮。
云主机名称为:test,数量为:1。选择centos7.2镜像;选择m1.small资源类型;选择int-gre网络。然后单击“启动实例”按钮创建实例。
2、绑定浮动IP
在主机下拉框中选择“绑定浮动IP”菜单命令。
在弹框中点击“+”分配一个地址,单击“分配IP”按钮。点击“关联”按钮,关联浮动IP地址。
(六)、连接云主机
1、测试连通性
创建完成后,可看到创建的云主机状态为“运行”。打开CMD窗口,通过ping命令测试连通云主机。
2、连接云主机
使用secureCRT工具,连接云主机,用户名:root,密码:000000。
二、Keystone服务操作
Keystone是OpenStack中的一个独立的提供安全认证的模块,主要负责openstack用户的身份认证、令牌管理、提供访问资源的服务目录(指引路径)、以及基于用户角色的访问控制。
(一)、keystone运维命令
1、环境配置
[root@controller ~]# source /etc/keystone/admin-openrc.sh
2、创建用户
语法:openstack user create --password 用户的密码 --email 邮箱 --domain demo 用户名
[root@controller ~]# openstack user create --password 000000 --email wzg@example.com --domain demo wzg
3、创建项目
语法:openstack project create --domain demo 项目名
[root@controller ~]# openstack project create --domain demo acme
4、创建角色
语法:openstack role create 角色名
[root@controller ~]# openstack role create compute-user
5、绑定用户和项目权限
语法:openstack role add --user 用户名 --project 项目名 角色名
[root@controller ~]# openstack role add --user wzg --project acme compute-user
(二)、keystone查询命令
1、查询用户列表
[root@controller ~]# openstack user list
2、查询wzg用户的详细信息
[root@controller ~]# openstack user show wzg
3、查询项目列表
[root@controller ~]# openstack project list
4、查询acme项目的详情信息
[root@controller ~]# openstack project show acme
5、查询角色列表
[root@controller ~]# openstack role list
6、查询compute-user角色的详细信息
[root@controller ~]# openstack role show compute-user
7、查看平台所有服务所使用的端点地址
[root@controller ~]# openstack endpoint list
三、Neutron服务操作
Neutron是一个用python写的分布式软件项目,用来实现OpenStack中的网络服务。
(一)、网络管理
1、查看网络列表
[root@controller ~]# neutron net-list
2、创建外部网络
语法:neutron net-create --shared --router:external=true --provider:network_type 网络类型 外网名称
[root@controller ~]# neutron net-create --shared --router:external=true --provider:network_type gre net-gre
3、创建内部网络
语法:neutron net-create --shared --provider:network_type 网络类型 内网名称
[root@controller ~]# neutron net-create --shared --provider:network_type gre int-gre
4、查看网络详情信息
[root@controller ~]# neutron net-show int-gre
5、更新网络
语法:penstack network set 网络名称 --name 新网络名称 --disable --no-share
[root@controller ~]# openstack network set nett-gre --name net-gre01 --disable --no-share
6、删除网络
[root@controller ~]# neutron net-delete int-gre
(二)、子网管理
1、查看子网列表
[root@controller ~]# neutron subnet-list
2、创建外网子网
语法:neutron subnet-create 外网名称 外网网段 --name 外网子网名称 --gateway 网关地址 --allocation-pool start=开始地址,end=结束地址 --enable-dhcp --dns-nameserver 8.8.8.8
[root@controller ~]# neutron subnet-create net-gre 192.168.20.0/24 --name net-subnet01 --gateway 192.168.20.2 --allocation-pool start=192.168.20.101,end=192.168.20.200 --enable-dhcp --dns-nameserver 8.8.8.8
3、创建内网子网
语法:neutron subnet-create 内网名称 内网网段 --name 内网子网名称 --gateway 网关地址 --allocation-pool start=开始地址,end=结束地址 --enable-dhcp
[root@controller ~]# neutron subnet-create int-gre 10.10.1.0/24 --name int-subnet01 --gateway 10.10.1.2 --allocation-pool start=10.10.1.101,end=10.10.1.200 --enable-dhcp
4、查看子网详细信息
[root@controller ~]# neutron subnet-show net-subnet01
5、修改子网
语法:neutron subnet-update 子网名称 --name 新子网名称 --no-gateway(不加网关) --allocation-pool start=开始地址,end=结束地址
[root@controller ~]# neutron subnet-update net-subnet01 --name net-subnet-test --no-gateway --allocation-pool start=192.168.20.101,end=192.168.20.200
6、删除子网
[root@controller ~]# neutron subnet-delete int-subnet01
(三)、路由管理
1、查看路由列表
[root@controller ~]# neutron router-list
2、创建路由
语法:neutron router-create 路由名称
[root@controller ~]# neutron router-create router
3、查看路由详情信息
[root@controller ~]# neutron router-show router
4、删除路由
[root@controller ~]# neutron router-delete router
5、添加外部网关
语法:neutron router-gateway-set 路由名称 外网名称(用neutron net-list查看)
[root@controller ~]# neutron router-gateway-set router net-gre
6、删除外部网关
[root@controller ~]# neutron router-gateway-clear router
7、查看路由端口信息列表
[root@controller ~]# neutron router-port-list router
8、添加内部接口
语法:neutron router-interface-add 路由名称 内网名称(用neutron int-list查看)
[root@controller ~]# neutron router-interface-add router int-subnet01
9、删除内部接口
语法:neutron router-interface-delete 路由名称 subnet=内网名称
[root@controller ~]# neutron router-interface-delete router subnet=int-subnet
(四)、端口管理
1、查看端口列表
[root@controller ~]# neutron port-list
2、创建端口
语法:neutron port-create 内网名称 --name 端口名称
[root@controller ~]# neutron port-create int-gre --name test-port
3、修改端口
语法:neutron port-update 端口名称 --name 新端口名称 --security-group 安全组
[root@controller ~]# neutron port-update test-port --name test-port-8080 --security-group 54c9ccb7-7f00-4485-898f-e4bbebafa73b
4、查看端口详情信息
语法:neutron port-show 端口id
[root@controller ~]# neutron port-show 1b46a0d6-0df6-4f96-b3a3-d47aae6ed589
5、删除端口
[root@controller ~]# neutron port-delete test-port
四、Nova组建操作
Nova是Openstack云中的计算组织控制器;管理OpenStack云中实例的生命周期的所有活动;是管理计算资源、网络认证所需的可扩展性平台。
(一)、安全组操作:
1、查看安全组列表
[root@controller ~]# nova secgroup-list
2、创建安全组
语法:nova secgroup-create 安全组名称 \'描述信息\'
[root@controller ~]# nova secgroup-create wzg \'Most great security group\'
3、更新安全组
语法:nova secgroup-update ID号 新名称 \'新描述信息\'
[root@controller ~]# nova secgroup-update 218faa36-c250-40d5-9775-534049e5771a wzg01 \'One of the most great security group\'
4、删除安全组
[root@controller ~]# nova secgroup-delete wzg
5、查看安全组规则详情信息
[root@controller ~]# nova secgroup-list-rules wzg
6、添加安全组规则
[root@controller ~]# nova secgroup-add-rule wzg icmp -1 -1 0.0.0.0/0
[root@controller ~]# nova secgroup-add-rule wzg udp 1 65535 0.0.0.0/0
[root@controller ~]# nova secgroup-add-rule wzg tcp 1 65535 0.0.0.0/0
7、删除安全组规则
[root@controller ~]# nova secgroup-delete-rule wzg icmp -1 -1 0.0.0.0/0
(二)、云主机类型操作
1、查看云主机类型列表
[root@controller ~]# nova flavor-list
2、添加云主机类型
语法:nova flavor-create 类型名称 ID号 1024 10 1
[root@controller ~]# nova flavor-create m1.wzg 6 1024 10 1
点击查看详情
[root@controller ~]# nova flavor-create m1.wzg 6 1024 10 1
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
| 6 | m1.wzg | 1024 | 10 | 0 | | 1 | 1.0 | True |
+----+--------+-----------+------+-----------+------+-------+-------------+-----------+
3、查看云主机类型详情信息
[root@controller ~]# nova flavor-show m1.wzg
4、删除云主机类型
[root@controller ~]# nova flavor-delete m1.wzg
(三)、云主机实例操作
1、查看实例列表
[root@controller ~]# nova list
2、创建实例
语法:nova boot --image --availability-zone nova --flavor
[root@controller ~]# nova boot --image centos7.2 --availability-zone nova --flavor m1.wzg --security-groups wzg --nic net-id=64306052-bcec-4209-ac4c-45b9d2de4dde wzg-server
注意:需要先查找出:
1)查看镜像
[root@controller ~]# glance image-list
2)查看规格(云主机类型)
[root@controller ~]# nova flavor-list
3)查看安全组
[root@controller ~]# nova secgroup-list
4)查看可用的网络
[root@controller ~]# neutron net-list
3、查看实例详情信息
[root@controller ~]# nova show wzg-server
4、启动实例
[root@controller ~]# nova start wzg-server
5、停止实例
[root@controller ~]# nova stop wzg-server
6、重启实例
[root@controller ~]# nova reboot wzg-server
7、挂起实例
[root@controller ~]# nova pause wzg-server
8、删除实例
[root@controller ~]# nova delete wzg-server
(四)、浮动IP
1、查看浮动IP列表
[root@controller nova]# nova floating-ip-list
2、创建浮动IP
语法:nova floating-ip-create 浮动IP地址池
[root@controller nova]# nova floating-ip-create net-gre
3、查看浮动IP地址池信息
[root@controller nova]# nova floating-ip-pool-list
4、查看浮动IP详细信息
语法:openstack ip floating show 浮动IP
[root@controller nova]# openstack ip floating show 192.168.100.4
5、关联浮动IP实例
语法:nova floating-ip-associate 云主机名称 浮动ip
[root@controller nova]# nova floating-ip-associate wzg-server 192.168.100.4
6、解除关联浮动IP实例
语法:nova floating-ip-disassociate 云主机名称 浮动ip
[root@controller nova]# nova floating-ip-disassociate wzg-server 192.168.100.4
7、删除浮动IP
[root@controller nova]# nova floating-ip-delete 192.168.100.4
(五)、密钥管理
1、查看密钥列表
[root@controller ~]# nova keypair-list
2、创建密钥
语法:nova keypair-add 密钥名称 --key-type ssh
[root@controller ~]# nova keypair-add wzg --key-type ssh
3、查看密钥详情信息
[root@controller ~]# nova keypair-show wzg
4、删除密钥
[root@controller ~]# nova keypair-delete wzg
(六)、云主机卷挂载操作
1、查看所有挂载到云主机上的卷
语法:nova volume-attachments 云主机名
[root@controller cinder]# nova volume-attachments test
2、卷挂载到云主机
语法:nova volume-attach 云主机名 卷ID [
[root@controller cinder]# nova volume-attach test111 f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 /dev/vdb
3、卷从云主机上卸载
语法:nova volume-detach 云主机名 卷ID
[root@controller ~]# nova volume-detach test f594e936-05e2-4a8c-b4c9-b96bbe7e2c82
五、Cinder组件
(一)、Volume管理
1、查看卷列表
[root@controller ~]# cinder list
2、创建卷
语法:cinder create [--name 卷名称, --volume-type 卷类型 --description 描述 --availability-zone nova] 卷大小(GB)
[root@controller ~]# cinder create --name test --description \'new volume\' --availability-zone nova 2
3、查看卷详情信息
[root@controller ~]# cinder show test
4、更新卷
4.1重命名
语法:cinder rename 旧名称 新名称
[root@controller ~]# cinder rename test test01
4.2修改状态
可修改的状态:"available", "error", "creating", "deleting", "in-use", "attaching", "detaching", "error_deleting" and "maintenance".
附加状态:"attached" , "detached" 默认状态为:None.
语法:cinder reset-state [--state 状态, --attach-status 附加状态, --reset-migration-status] 卷名称
[root@controller ~]# cinder reset-state --state deleting test
4.3修改类型
操作步骤:
#1)修改卷状态为available
#**注意:**修改类型时卷状态必须是available状态
[root@controller ~]# cinder reset-state --state available test
#2)查看卷类型,如果没有需要先创建
[root@controller ~]# cinder type-list
[root@controller ~]# cinder type-create lvm
#3)修改为对应的类型
#语法:cinder retype 卷名称 卷类型ID
[root@controller ~]# cinder retype test 5780bda0-0ac4-4f5a-a8c4-807980c28aaa
5、扩容
语法:cinder extend 卷名称 扩容大小
[root@controller ~]# cinder extend test 5
6、卷删除
[root@controller ~]# cinder delete test
(二)、Type管理
1、查看类型列表
[root@controller ~]# cinder type-list
2、创建类型
语法:cinder type-create [--description 描述信息, --is-public
[root@controller ~]# cinder type-create lvm
3、查看类型详情信息
[root@controller ~]# type-show lvm
4、修改类型
语法:cinder type-update [--name 新名称,--description 描述信息,--is-public
[root@controller ~]# cinder type-update --name ssd --description \'best of all\' b16ab5aa-f9d2-4402-89a8-1a72e9c51914
5、删除类型
语法:cinder type-delete 类型ID
[root@controller ~]# cinder type-delete ac57dcb7-d157-419f-bd63-3ea0eb6ff940
卷挂载操作步骤
1、卷创建
[root@controller ~]# cinder create --name test --description \'new volume\' --availability-zone nova 2
2、修改卷状态为available
[root@controller ~]# cinder reset-state --state available test
3、卷列表查看
[root@controller ~]# cinder list
4、卷挂载到云主机
[root@controller cinder]# nova volume-attach wzg-server f594e936-05e2-4a8c-b4c9-b96bbe7e2c82 /dev/vdb
5、查看所有挂载到云主机上的卷
[root@controller cinder]# nova volume-attachments wzg-server
声明:未经许可,不得转载