openstack创建虚拟机
创建虚拟机 1、界面或命令行通过RESTful API向keystone获取认证信息。 2、keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。 3、界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。 ...
创建虚拟机 1、界面或命令行通过RESTful API向keystone获取认证信息。 2、keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。 3、界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。 ...
不同命令的功能有重复和交集 Openstack篇 Openstack每个组件都有其命令,openstack社区为了方便使用,将所有组件的命令进行了统一,以openstack开头 # 查看所有openstack服务 openstack service list # 查看openstack服务状态 openstack-service status # 重启本节点所有openstack服务 openstack-service restart # openstack服务URL列表查询 # endpoint表示一个服务在哪可被访问的URL和端口号列表 openstack endpoint list # 查询domain,domain是一个keystone验证实体 openstack domain list # 查看nova服务列表 openstack compute service list # 查看网络服务列表 openstack network agent list # ======================================================= # 项目(租户)列表查询 openstack project list # 查看租户详情 openstack project show <project_id/name> # 创建租户 openstack project create --description 'Admin Project' <租户名> # 删除租户 openstack project delete <租户id/name> # 禁用启用租户 openstack project set <租户id/name> --disable/enable # 更新租户名称 openstack project set <租户id/name> --name <new name> # ======================================================== # 查看某一个项目下所有用户user openstack user list --project=<project_id/name> # 查看所有用户 openstack user list # 查看用户详情 openstack user show <user_name/id> # 创建用户 openstack user create --domain <域名> --project <项目/租户名> --password <密码> <用户名> # 删除用户 openstack user delete <用户名> # 禁用启用某一个用户 openstack user set <user_name/id> --disable/enable # 更新用户名称 openstack user set <user_name/id> --name <new name> # 查询某一用户与项目、角色的关系 openstack role assignment list --user=用户名 # ======================================================= # 角色查询 # 一个角色包括一组权利和特权,角色访问控制提供预定义的用户可操作列表,如开启或停止虚机,重置密码等。在身份验证服务和计算服务中均被支持。 openstack role list # 角色详情查询 opensatck role show <role_name/id> # 创建角色 openstack role create <role_name> # 分配角色,将项目和用户加入到角色中 openstack role add --user <用户名> --project <项目名> <角色名> # 删除角色 openstack role remove --user <用户名> --project <项目名> <角色名> # ====================================================== # 列出所有的镜像 openstack image list # 查看某一个镜像信息 openstack image show <image_id> # 设置镜像标签 openstack image set --tag <标签名> <image_name/id> # 创建镜像 # 格式化类型包括raw、qcow2、vmdk等 openstack image create <镜像名> --file <镜像文件名> --disk-format <格式化类型> --container-format bare --public # openstack image create “test1” --file cirros-0.5.1-x86_64-disk.img --disk-format qcow2 --container-format bare --public # 查看安全组信息 openstack group list # 查看flavor类型 openstack flavor list # 查询网络信息 openstack network list # 查看端口信息(虚拟网络) openstack port list # 创建虚拟机 openstack server create --image <image_id/name> --flavor <flavor_id/name> --nic net-id=<net_id> <instance_name> # 创建虚拟机帮助 openstack server create --help # ================================================== # 查看openstack环境主机列表 openstack host list # 查看某个host主机资源情况 openstack host show <host_name> # 查看虚拟机列表 openstack server list # 查看虚拟机详情 openstack server show <instance_id> # 虚拟机暂停 openstack server pause <instance_id> # 虚拟机从暂停中恢复 openstack server unpause <instance_id> # 虚拟机重启 openstack server reboot <instance_id> # 虚拟机删除 openstack server delete <instance_id> Nova篇 # 查看openstack版本 nova-manage version # 查看命令帮助信息 nova help <command> # 返回nova服务所在的host信息 # 在电子通信领域,host和node的区别在于,host是向外提供某种服务,而node只需要是连接到网络的设备 # 运行有nova服务的主机被认为是host nova host-list # 查看host具体资源信息 nova host-describe <host_name> # 查看nova服务和状态 nova service-list # ======================================= # 查看计算节点 nova hypervisor-list # 查看计算节点详情 nova hypervisor-show <hypervisor ID> # 查看计算节点上的虚拟机 nova hypervisor-servers <hypervisor ID> # ====================================== # 列出所有flavor(模板) nova flavor-list # 创建flavor,模板ID建议为auto nova flavor-create --is-public true <模板名称> <模板ID> <内存(MB)> <磁盘(GB)> <VCPUS> # 显示flavro详情 nova flavor-show <模板ID> # 删除flavor nova flavor-delet <模板ID> # ======================================= # 查看虚拟机列表 nova list nova list --all-te # 查看虚拟机详情 nova show <instance_id> # 查看虚拟机控制台日志 nova console-log <instance_id> # 查看密钥对列表 nova keypair-list # 查看镜像列表 nova image-list # 查看浮动ip列表 nova floating-ip-list # 查看安全组列表 nova secgroup-list # ===================================== # 查看浮动ip列表 nova-manage floating list # 数据库同步 nova-manage db sync nova-manage api_db sync nova-manage placement sync # 查看数据库版本 nova-manage db version # nova组件更新检查 nova-status upgrade check # ==================================== nova suspend <instance_id> nova resume <instance_id> nova start <instance_id> nova stop <instance_id> nova delete <instance_id> nova reboot <instance_id> # 硬重启 nova reboot --hard <instance_id> # 进入救援模式 nova rescue <instance_id> # 使用指定镜像进入救援模式 nova rescue --image <image_id> <instance_id> # 重启虚拟机,由救援模式进入正常模式 nova unrescue <instance_id> # 重置虚拟机状态 nova reset-state <instance_id> # 指定节点热迁移 nova live-migration <instance_id> <compute_node_id> # 调整虚拟机资源 nova resize <instance_id> <flavor_id> --poll # 确认调整虚拟机资源 nova resize-confirm <instance_id> # 资源调整失败回滚 nova resize-revert <instance_id> # 通过快照创建一个镜像 nova image-create <instance_id> <image_name> # =================================== # 从镜像创建虚拟机 nova boot --image cirros --flavor 1 --nic net-name=net1 vm1 # 从卷(块设备)创建虚拟机 # 1. 从镜像生成volumn cinder create --image-id <image_id> --name <volume_name> <size_in_gb> # 2. 从volumn创建虚拟机 nova boot --flavor <flavor_id> source=volumn,,id=卷ID,dest=volume,shutdown=preserve,bootindex=0 虚拟机名称 # ================================== # 挂载云硬盘 nova volume-attach <instance_id> <volume_name> /dev/sdb # 卸载云硬盘 nova volume-detach <instance_id> <volume_name> Neutron篇 # 列出当前租户网络 neutron net-list # 列出所有租户网络 neutron net-list --all-te # 查看网络详情 neutron net-show <net_id> # 删除一个网络 neutron net-delete <net_id> # 查看所有agent neutron agent-list # 查看所有租户拥有的port # port是虚拟网口,是路由器和虚拟机挂接网络的着附点 neutron port-list # 查看port详情 neutron port-show <port_id> # 查看安全组 neutron security-group-rule-list Glance篇 # 列出全部镜像 glance image-list # 查看image具体信息 glance show <image ID> # 上传镜像 glance image-create --visibility public --container-format docker/bare --disk-format raw/qcow2 --name xxx --file /root/xxx --progress glance image-create --name "CentOS7.0" --disk-format qcow2 --container-format bare --progress </opt/images/centos_7-x86_64_xiandian.qcow2 Cinder篇 # 显示存储列表 cinder list # 显示存储卷类型列表 cinder type-list # 创建存储卷 cinder create --display-name VOLNAME SIZE(SIZE的单位为GB) Ceilmeter篇 # 查看监控资源 ceilometer meter-list #查看告警列表 ceilometer alarm-list # 删除一个告警 ceilometer alarm-delete -a ALARM_ID # 获取某一个告警信息 ceilometer alarm-state-get ALARM_ID 服务状态 systemctl list-units | grep openstack systemctl status httpd.service # 查看Apache的http服务日志 cd /etc/httpd/logs tail -f <日志文件> 参考 Openstack常用命令 ...
环境搭建和准备 # 查看cpu是否支持硬件虚拟化 grep -E -c "vmx|svm" /proc/cpuinfo sudo apt install -y qemu qemu-kvm libvirt-daemon bridge-utils virt-manager virtinst # if centos # yum install -y kvm virt-manager libvirt libvirt-python python-virtinst virt-install qemu-kvm lsmod | grep -i kvm sudo systemctl status libvirtd.service # 如果服务未启动 sudo systemctl enable libvirtd --now # 配置网桥使得libvirt可以从外部访问 cat /etc/netplan/00-installer-config.yaml # 可选,GUI管理工具 sudo apt-get install virt-manager python-spice-client-gtk 下载调试镜像: 从官方地址下载cirros镜像,用来调试虚拟机,用户名和密码如下 user:cirros pass:cubswin:) # 不同版本密码不同 通常将cirros镜像放置到/var/lib/libvirt/boot路径下 ...
Microstack 简介 Microstack 是在 ubuntu 平台上快速部署 Openstack 环境的工具,其通过 snap 构建,而 snap 安装目录是一个独立的只读文件系统,这就导致难以改动代码进行调试。 因此,Microstack 环境只适用于 Openstack 初学者学习命令行和数据库等等,调试的话可以通告 gdb 调试,而不便于通过 pdb 调试,因为无法修改源文件,并在文件还中加断点。 Microstack 是目前 Ubuntu 上最简洁的 Openstack 配置工具,可以在笔记本上部署单节点环境用于学习,也可以在多台设备上部署多节点环境。 ...