文章目录

  • 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

  1. glance help image-create ## 通过该命令查看都用什么参数
  2. glance help image-delete
  3. glance help image-list

glance command

  1. 创建镜像
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
  1. glance image-list 查看镜像列表
  2. glance image-show 镜像名字/ID 查看镜像详细内容
  3. glance image-list --property-filter __support*=true --property-filter __imagetype=gold 过滤某些属性的镜像
  4. glance image-update --remove-property __** 去除某些属性标签(更新镜像)
    glance image-update --min-ram 2048 image-id/name
  5. glance image-delete 镜像名字/ID 删除某个镜像

Nova

nova help

  1. 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的序号

  1. nova secgroup-create test1 'access' 创建一个安全组,其中test1是安全组的名字, ‘access’是对这个安全组的描述
  2. nova flavor-list 查看所有规格
  3. openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano 创建一个64M的 1个CPU的flavor,名字是m1.nano
  4. nova flavor-show m1.nano 查看m1.nano这个实例的具体信息
  5. nova service-list 查看nova service,并查看都部署到哪个节点上##当一台compute节点关机,这条命令会显示出关机的compute节点,而第20条命令不会
  6. nova service-disable compute-1 nova-compute --reason maintenance 服务状态改成disable
  7. openstack server show==nova show vm-name/vm-id
  8. nova list --fields name,instance_name,status,task_state,power_state,host,OS-EXT-AZ:availability_zone 查看更细
  9. nova hypervisor-list #查看有哪些compute节点以及状态
  10. nova list --host compute-1 #查看compute节点有哪些虚拟机、状态以及IP
  11. nova list --ip 129.168.0.1 #查看这个IP是哪个虚机的
  12. nova aggregate-list 查看az
  13. nova availability-zone-list 查看az, 这个命令的结果和上面一样,上面的结果拼凑成这样
  14. nova aggregate-create az01 az01创建一个az名字为az01
  15. [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’ |
    ±—±------±------------------±------±-------------------------+
  16. 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)
  17. nova host-list==openstack host list #查看openstack环境上的主机有哪些
  18. openstack host show compute-2-全名
  19. nova host-describe compute-2-全名 ##和第21条命令一样,查看该server的disk\CPU\memory
  20. openstack project list #list所有租户
    openstack project create --description ‘description’ project-name #创建租户
    openstack project set 【ID|name】 --name project-newname #更新租户名
    openstack project delete 租户名name #删除租户
  21. 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 ##删除用户
  22. openstack role list #list所有角色
    openstack role create new_role #创建新的role
  23. 查找虚拟的console口
    nova get-vnc-console vm_id novnc ##可以获取vm的临时web 登录界面;需要在xshell 设置一个动态端口,然后,在浏览器启用动态端口,最好是火狐或者谷歌

Neutron

Neutron

neutron help

  1. 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

  1. neutron agent-list 查看网络服务
    neutron agent-list -c alive -c host -c availability_zone #查看这三列的内容
  2. neutron agent-show ID 查看网络服务信息
  3. neutron net-list 查看网络列表
  4. neutron net-show ID 查看网络的具体信息
  5. neutron subnet-list 查看子网列表
  6. neutron subnet-show ID 查看子网的具体信息
  7. neutron port-list 查看所有port
  8. neutron port-list -c id -c fixed_ips -c device_owner
  9. neutron port-list --network_id network_ID 显示网络上的所有端口/ip分配
  10. 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

  1. cinder service-list 列出cinder 服务
  2. cinder create --name test1 1 创建一个硬盘,1是大小
  3. cinder list #列出所有的volumes
  4. cinder type-list #列出所有volume类型
  5. cinder show ID #查看某个硬盘具体信息
  6. cinder delete # 删除某个盘
  7. cinder rename 卷名 new-volume-name #重命名卷

openstack command

openstack image command

管理OpenStack中的镜像(Image),包括查看、创建、删除和修改等操作。

  1. openstack image list:列出所有镜像
  2. openstack image create:创建一个新的镜像
  3. openstack image delete:删除一个镜像
  4. openstack image show:查看一个镜像的详细信息
    openstack image create --disk-format=qcow2 --container-format=bare --public --file=/path/to/image.img myimage ##创建一个新的镜像

openstack server command

管理OpenStack中的虚拟机实例(Instance),包括查看、创建、删除和修改等操作。

  1. openstack server list:列出所有虚拟机实例
  2. openstack server create:创建一个新的虚拟机实例
  3. openstack server delete:删除一个虚拟机实例
  4. openstack server show:查看一个虚拟机实例的详细信息
  5. openstack server stop <server_id> ##关机
  6. openstack server start <server_id> #开机
  7. openstack server rebuild <server_id> <image_id> ##重建云主机
    openstack server create --image myimage --flavor 1 --key-name mykey myinstance ##创建一个新的虚拟机实例

openstack flavor command

管理OpenStack中的实例规格(Flavor),包括查看、创建、删除和修改等操作。

  1. openstack flavor list:列出所有实例规格
  2. openstack flavor create:创建一个新的实例规格
  3. openstack flavor delete:删除一个实例规格
  4. openstack flavor show:查看一个实例规格的详细信息
    openstack flavor create --ram 1024 --disk 10 --vcpus 1 myflavor #创建一个新的实例规格

openstack network command

管理OpenStack中的网络(Network),包括查看、创建、删除和修改等操作。

  1. openstack network list:列出所有网络
  2. openstack network create:创建一个新的网络
  3. openstack network delete:删除一个网络
  4. openstack network show:查看一个网络的详细信息

openstack volume command

管理OpenStack中的卷(Volume),包括查看、创建、删除和修改等操作。

  1. openstack volume list:列出所有卷
  2. openstack volume create:创建一个新的卷
  3. openstack volume delete:删除一个卷
  4. 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),包括查看、创建、删除和修改等操作。

  1. openstack security group list:列出所有安全组
  2. openstack security group create:创建一个新的安全组
  3. openstack security group delete:删除一个安全组
  4. 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报错,显示如下:

openstack怎么删除neutron数据库 openstack删除网络_子网


分析:删除计算节点的过程中,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=‘********’;