文章目录
- openstack 搭建
- Glance
- glance help
- glance command
- Nova
- nova help
- nova command
- Neutron
- neutron help
- neutron command
- Cinder
- cinder help
- cinder command
- openstack command
- openstack image command
- openstack server command
- openstack flavor command
- openstack network command
- openstack volume command
- openstack security group command
- Pacemaker/CRM
- 常见问题定位
openstack 搭建
安装
Glance
glance help
- glance help image-create ## 通过该命令查看都用什么参数
- glance help image-delete
- glance help image-list
glance command
- 创建镜像
touch /mnt/*.zvhd
glance image-create --name "ABC" --disk-format vhd --container-format bare --min-disk 40 --visibility public --protected true --property __image_location= --property __os_type=Linux --property __image_source_type=uds --property __platform=CentOS --property virtual_env_type=Ironc/FusionCompute --property __imagetype=gold/private <br /> --property __os_version="" --property __os_bit=64 --property __isregistered=true --property __support_arm=true --property hw_firmware_type=uefi </mnt/*.zvhd
- glance image-list 查看镜像列表
- glance image-show 镜像名字/ID 查看镜像详细内容
- glance image-list --property-filter __support*=true --property-filter __imagetype=gold 过滤某些属性的镜像
- glance image-update --remove-property __** 去除某些属性标签(更新镜像)
glance image-update --min-ram 2048 image-id/name - glance image-delete 镜像名字/ID 删除某个镜像
Nova
nova help
- nova help flavor-create 创建flavor
nova command
nova list --all-tenants//nova list --all-t
## #列出所有租户的虚拟机nova show vm_id/vm_name
:显示指定虚拟机实例的详细信息nova list --all-t --fields name,host,status,metadata
#查看虚拟机以及相应的字段novalist --all-t --host 主机ID
##查看该主机上所有的虚拟机
nova start <vm_id>
##开启虚拟机nova stop <vm_id>
##停止虚拟机nova reboot (--hard)
##(硬)重启虚拟机nova reboot (--hard)
##(硬)重启虚拟机nova reset-state vm_id
##重置虚拟机状态nova instance-action-list vm_id
##查看虚拟机操作记录nova delete vm_id
##删除指定虚拟机实例
nova service-list
# 查看nova各组件状态nova service-list | grep compute-0-1
nova service-delete 161
##删除compute节点,161为compute-0-1的序号
nova secgroup-create test1 'access'
创建一个安全组,其中test1是安全组的名字, ‘access’是对这个安全组的描述nova flavor-list
查看所有规格openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
创建一个64M的 1个CPU的flavor,名字是m1.nanonova flavor-show m1.nano
查看m1.nano这个实例的具体信息nova service-list
查看nova service,并查看都部署到哪个节点上##当一台compute节点关机,这条命令会显示出关机的compute节点,而第20条命令不会nova service-disable compute-1 nova-compute --reason maintenance
服务状态改成disableopenstack server show==nova show vm-name/vm-id
nova list --fields name,instance_name,status,task_state,power_state,host,OS-EXT-AZ:availability_zone
查看更细nova hypervisor-list
#查看有哪些compute节点以及状态nova list --host compute-1
#查看compute节点有哪些虚拟机、状态以及IPnova list --ip 129.168.0.1
#查看这个IP是哪个虚机的nova aggregate-list
查看aznova availability-zone-list
查看az, 这个命令的结果和上面一样,上面的结果拼凑成这样nova aggregate-create az01 az01
创建一个az名字为az01- [root@controller ~]# nova aggregate-
aggregate-add-host aggregate-delete aggregate-list aggregate-set-metadata
aggregate-create aggregate-details aggregate-remove-host aggregate-update
[root@controller ~]# nova aggregate-details 1 查看az的具体信息,aggregate中的metadata的value值就是az
±—±------±------------------±------±-------------------------+
| Id | Name | Availability Zone | Hosts | Metadata |
±—±------±------------------±------±-------------------------+
| 1 | azone | az01 | | ‘availability_zone=az01’ |
±—±------±------------------±------±-------------------------+ nova aggregate-add-host 2 compute
#将compute节点加入AZ#00(2为AZ id,通过nova aggregate-list查看id号)nova aggregate-remove-host 2 compute
#将compute节点移出AZ#00(2为AZ id)nova host-list==openstack host list
#查看openstack环境上的主机有哪些openstack host show compute-2-全名
nova host-describe compute-2-全名
##和第21条命令一样,查看该server的disk\CPU\memoryopenstack project list
#list所有租户
openstack project create --description ‘description’ project-name #创建租户
openstack project set 【ID|name】 --name project-newname #更新租户名
openstack project delete 租户名name #删除租户- openstack user list #list所有用户
openstack user create --password name 创建一个用户,该方式指定密码字符串
openstack user create --password-prompt name 创建一个用户,该方式交互式填入密码
openstack user set user_name --disable #禁用用户
openstack user set user_name --enable #启用用户
openstack user set user_name --name username_new #update用户名
openstack user delete user_name ##删除用户 openstack role list
#list所有角色openstack role create new_role
#创建新的role- 查找虚拟的console口
nova get-vnc-console vm_id novnc
##可以获取vm的临时web 登录界面;需要在xshell 设置一个动态端口,然后,在浏览器启用动态端口,最好是火狐或者谷歌
Neutron
Neutron
neutron help
- neutron agent-list --help
controller:~$ openstack network list
or neutron net-list
##查看网络以及对应的子网
controller:~$ openstack subnet list
or neutron subnet-list
## 查看地址池
controller:~$ openstack port list
or neutron port-list
## 查看所属子网、ip、mac
#####openstack port create name --network networkname --fixed-ip subnet=subname,ip-address=X.X.X.X
controller:~$ openstack port create port_name --network network_name(port要所属的network) --fixed-ip subnet=subnet_172.30.0(port要所属的sub-network),ip-address=172.30.0.88(指定ip)
####创建的port也就是分配的ip ,绑到虚拟上nova interface-attach --port-id portid serverid
##绑定ip语法
controller:~$ nova interface-attach --port-id 70223854-45a1-44c7-aeb9-8d7be2328948 5680b384-7449-4a63-a874-9991f01dde4e
nova interface-detach serverid portid
##卸载网卡从虚拟机上
openstack port delete portid
##删除网卡
neutron command
- neutron agent-list 查看网络服务
neutron agent-list -c alive -c host -c availability_zone #查看这三列的内容 - neutron agent-show ID 查看网络服务信息
- neutron net-list 查看网络列表
- neutron net-show ID 查看网络的具体信息
- neutron subnet-list 查看子网列表
- neutron subnet-show ID 查看子网的具体信息
- neutron port-list 查看所有port
- neutron port-list -c id -c fixed_ips -c device_owner
- neutron port-list --network_id network_ID 显示网络上的所有端口/ip分配
- neutron port-list -c id -c tenant_id --status DOWN -c device_owner -c device_id -c fixed_ips ##查看所有port down的
[root@controller /]# openstack network set --name vmnetwork vm-network
##修改网络名称
[root@controller /]# openstack network [create | delete |list | show | set] network_name
##网络操作
[root@controller /]# openstack network [create | delete |list | show | set] --h
##网络操作
–enable 启用网络
–disable 禁用网络
–enable-port-security 启动端口安全
–disable-port-security 禁用端口安全
–share 设置网络为共享网络
–no-share 设置网络为非共享网络
–external 设置网络为外部网络
–intrenal 设置网络为内部网络
–provider-network-type 网络的类型
–provider-physical-network 实现虚拟网络的物理网络的名称
Cinder
cinder help
cinder command
- cinder service-list 列出cinder 服务
- cinder create --name test1 1 创建一个硬盘,1是大小
- cinder list #列出所有的volumes
- cinder type-list #列出所有volume类型
- cinder show ID #查看某个硬盘具体信息
- cinder delete # 删除某个盘
- cinder rename 卷名 new-volume-name #重命名卷
openstack command
openstack image command
管理OpenStack中的镜像(Image),包括查看、创建、删除和修改等操作。
- openstack image list:列出所有镜像
- openstack image create:创建一个新的镜像
- openstack image delete:删除一个镜像
- openstack image show:查看一个镜像的详细信息
openstack image create --disk-format=qcow2 --container-format=bare --public --file=/path/to/image.img myimage
##创建一个新的镜像
openstack server command
管理OpenStack中的虚拟机实例(Instance),包括查看、创建、删除和修改等操作。
- openstack server list:列出所有虚拟机实例
- openstack server create:创建一个新的虚拟机实例
- openstack server delete:删除一个虚拟机实例
- openstack server show:查看一个虚拟机实例的详细信息
- openstack server stop <server_id> ##关机
- openstack server start <server_id> #开机
- openstack server rebuild <server_id> <image_id> ##重建云主机
openstack server create --image myimage --flavor 1 --key-name mykey myinstance
##创建一个新的虚拟机实例
openstack flavor command
管理OpenStack中的实例规格(Flavor),包括查看、创建、删除和修改等操作。
- openstack flavor list:列出所有实例规格
- openstack flavor create:创建一个新的实例规格
- openstack flavor delete:删除一个实例规格
- openstack flavor show:查看一个实例规格的详细信息
openstack flavor create --ram 1024 --disk 10 --vcpus 1 myflavor
#创建一个新的实例规格
openstack network command
管理OpenStack中的网络(Network),包括查看、创建、删除和修改等操作。
- openstack network list:列出所有网络
- openstack network create:创建一个新的网络
- openstack network delete:删除一个网络
- openstack network show:查看一个网络的详细信息
openstack volume command
管理OpenStack中的卷(Volume),包括查看、创建、删除和修改等操作。
- openstack volume list:列出所有卷
- openstack volume create:创建一个新的卷
- openstack volume delete:删除一个卷
- openstack volume show:查看一个卷的详细信息
penstack volume create --size 10 myvolume
#创建一个新的卷
openstack volume create --size : size的单位为GB
openstack server add volume <instance_id> <volume_id> : 将卷连接到instance
openstack security group command
管理OpenStack中的安全组(Security Group),包括查看、创建、删除和修改等操作。
- openstack security group list:列出所有安全组
- openstack security group create:创建一个新的安全组
- openstack security group delete:删除一个安全组
- openstack security group show:查看一个安全组的详细信息
Pacemaker/CRM
Pacemaker,即Cluster Resource Manager(CRM),有两种命令工具,一种是pcs,一种是crmsh,crmsh使用的就是crm相关命令。
Pacemaker是整个高可用集群的控制中心,用来管理整个集群的资源状态行为,客户端通过 pacemaker来配置、管理、监控整个集群的运行状态。开源集群资源管理器。
[root@controller1 ~]# pcs --help
[root@controller1 ~]:~# crm_mon -1 --help
-r, --inactive Display inactive resources
-f, --failcounts Display resource fail counts
显示集群状态两种方式都可以:
crmsh # crm_mon -1
crmsh # crm_mon -1 -rf
crmsh # crm status
pcs # pcs status
pcs # pcs status cluster
显示集群设置
crmsh # crm configure show
pcs # pcs cluster cib
开启资源
crmsh # crm resource start ClusterIP
crmsh # crm resource restart ClusterIP
pcs # pcs resource start ClusterIP
关闭资源
crmsh # crm resource stop ClusterIP
pcs # pcs resource stop ClusterIP
pcs resource list |grep http #查看集群中所有可用资源列表
crm resource status
常见问题定位
问题定位 删除一个compute节点之后,执行nova hypervisor-list报错,显示如下:
分析:删除计算节点的过程中,nova service-list所呈现的信息与nova hypervisor-list所呈现的数据不一致。
方法:—删除无效数据即可,确保nova service-list 数据与nova hypervisor-list 一样就ok了
[controller~]# mysql
mysql> use nova;
mysql> show tables;
mysql> desc compute_nodes;
mysql> select host_ip,hypervisor_hostname from compute_nodes;
mysql> delete from compute_nodes where hypervisor_hostname=‘********’;