openstack创建虚拟机

创建虚拟机 1、界面或命令行通过RESTful API向keystone获取认证信息。 2、keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。 3、界面或命令行通过RESTful API向nova-api发送一个boot instance的请求(携带auth-token)。 ...

2020-10-31 · 15 分钟 · 7418 字 · Niuhe

Openstack命令行基础

不同命令的功能有重复和交集 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常用命令 ...

2020-10-23 · 5 分钟 · 2299 字 · Niuhe

Virsh命令和虚拟机

环境搭建和准备 # 查看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路径下 ...

2020-10-22 · 9 分钟 · 4338 字 · Niuhe

Microstack 基本使用

Microstack 简介 Microstack 是在 ubuntu 平台上快速部署 Openstack 环境的工具,其通过 snap 构建,而 snap 安装目录是一个独立的只读文件系统,这就导致难以改动代码进行调试。 因此,Microstack 环境只适用于 Openstack 初学者学习命令行和数据库等等,调试的话可以通告 gdb 调试,而不便于通过 pdb 调试,因为无法修改源文件,并在文件还中加断点。 Microstack 是目前 Ubuntu 上最简洁的 Openstack 配置工具,可以在笔记本上部署单节点环境用于学习,也可以在多台设备上部署多节点环境。 ...

2020-09-20 · 2 分钟 · 674 字 · Niuhe