OpenStack之云主机管理

一)必备知识

1.云主机与快照管理
a-云主机管理

云主机管理是OpenStack云计算平台的核心功能,通常,云主机的管理包括创建、删除、查询等。可使用以下命令对OpenStack的云主机进行管理:

shell 复制代码
openstack server <操作><云主机名>[选项]

云主机管理命令的常用操作及其功能说明:

常用操作 功能说明
create 创建云主机
delete 删除云主机
list 列出已有的云主机列表
start 开启云主机
stop 关闭云主机
lock 锁住云主机
unlock 解锁云主机
pause 暂停云主机,将当前状态保存到内容中
unpause 取消暂停云主机
reboot 重启云主机
rebuild 重建云主机
rescue 修复云主机
unrescue 取消修复云主机
resize 调整云主机规格
restore 还原云主机
suspend 挂起云主机,将当前状态保存到磁盘中
resume 取消挂起云主机
show 查看云主机的详细信息

云主机管理命令的常用选项及其功能说明:

常用选项 功能说明
--h 显示帮助信息
--image 创建云主机时用到的镜像
--flavor 创建云主机时用到的实例类型
--volume 创建云主机时用到的卷
--snapshot 创建云主机时用到的快照
--security-group 创建云主机时用到的安全组
--host 指定某台服务器创建云主机
--network 云主机连接的网络
--port 云主机连接的端口
--nic<net-id=net-uuid,v4-fixed-ip=ip-addr,v6-fixed-ip=ip-addr,port-id=port-uuid,auto,none> 该选项用于设置云主机的网络属性:"net-id"为云主机连接的网络;"v4-fixed-ip""v6-fixed-ip"为绑定的IP地址;"port-id"为云主机连接的端口;"auto"为自动连接网络;"none"为不连接网络
--key-name 将密钥对注入云主机
b-例子

用"cirros"镜像和"myflavor"实例类型创建一台名为"VM_host"的云主机

shell 复制代码
openstack server create VM_host --image cirros --flavor myflavor --network vm-network

查看已存在的云主机列表

shell 复制代码
openstack server list

重启云主机:

重启分为两种,分别是软重启和硬重启。软重启就是尝试正常关机并重启云主机,硬重启就是将云主机进行断电重启。

软重启如下:

shell 复制代码
openstack server reboot VM_host
#可以通过云主机名或者云主机ID进行操作

硬重启如下:

shell 复制代码
openstack server reboot VM_host --hard
#可以通过云主机名或者云主机ID进行操作
#其中,--hard选项代表采用硬重启方式

暂停与挂起云主机:

暂停时将云主机当前状态存入内存,并停用云主机。暂停后可以取消暂停,将云主机恢复到暂停前的状态并启用。

挂起时将云主机当前状态存放到磁盘中,并停用云主机。挂起后可以取消挂起,将云主机恢复到挂起前的状态并启用。

暂停云主机:

shell 复制代码
openstack server pause VM_host
#可以通过云主机名或者云主机ID进行操作

取消暂停云主机:

shell 复制代码
openstack server unpause VM_host
#可以通过云主机名或者云主机ID进行操作

挂起云主机:

shell 复制代码
openstack server suspend VM_host
#可以通过云主机名或者云主机ID进行操作

取消挂起云主机:

shell 复制代码
openstack server unsuspend VM_host
#可以通过云主机名或者云主机ID进行操作

关闭云主机:

shell 复制代码
openstack server stop VM_host
#可以通过云主机名或者云主机ID进行操作

开启云主机:

shell 复制代码
openstack server start VM_host
#可以通过云主机名或者云主机ID进行操作

重建云主机:

如果已存在的云主机出现了故障,可以通过重建操作还原云主机。

shell 复制代码
openstack server rebuild VM_host --image cirros
#可以通过云主机名或者云主机ID进行操作

删除云主机:

shell 复制代码
openstack server delete VM_host
#可以通过云主机名或者云主机ID进行操作

快照管理:

通过对云主机进项拍摄快照可以获得一个镜像,而这个镜像可以用来还原云主机或者创建新的云主机。

shell 复制代码
openstack server image create <快照名>[选项]
#例如
openstack server image create VM_host --name vmSnapshot
#生成的镜像可以通过Glance进行管理,查看已有的镜像列表
openstack image list
2.云控制台
a.virsh云主机管理工具

virsh是由Libvirt软件包提供的管理工具,它提供了对云主机的一系列管理功能,如对云主机的启动、删除、控制、监控等。virsh的功能强大,管理命令也比较复杂。我将用两个例子阐述如何用virsh连接到某个虚拟机并操作它。Libvirt软件包在计算节点上已经安装,virsh的管理命令从计算节点发起。

b.例子

查看已经启动的云主机列表

shell 复制代码
virsh list

用virsh连接ID为"1"的云主机

shell 复制代码
virsh console 1

连接后你需要输入你的用户名和密码由具体情况决定,登录成功后会显示$,在其后即可输入相应的系统管理命令。需要退出时按【ctrl+]】即可。

二)项目实施

以下均在控制节点上完成。

1.用命令模式创建云主机

导入环境变量

shell 复制代码
source admin-login

查看网络列表,获得网络信息

shell 复制代码
openstack network list

查看实例类型列表

shell 复制代码
openstack flavor list

查看镜像列表,获得镜像信息

shell 复制代码
openstack image list

创建实例

利用前面获得的网络、实例类型、镜像的信息,创建名为"VM_host"的云主机。

shell 复制代码
openstack server create VM_host --image <镜像名> --flavor <实例类型名> --nicnet-id=<网络id>

查看现有实例列表

shell 复制代码
openstack server list
2.用命令模式管理云主机

通过实例名(可重复)或者实例ID(唯一性)可以在控制节点上操作云主机。

下面以名为VM_host的云主机作为示范

a.重启云主机

软重启云主机:

shell 复制代码
openstack server reboot VM_host

硬重启云主机:

shell 复制代码
openstack server reboot VM_host --hard
b.暂停和挂起云主机

暂停云主机:

shell 复制代码
openstack server pause VM_host

取消暂停云主机:

shell 复制代码
openstack server unpause VM_host

挂起云主机:

shell 复制代码
openstack server suspend VM_host

取消挂起云主机:

shell 复制代码
openstack server resuspend VM_host
c.停止和开启云主机

停止云主机:

shell 复制代码
openstack server stop VM_host

开启云主机:

shell 复制代码
openstack server start VM_host
d.删除云主机
shell 复制代码
openstack server delete VM_host
3.用命令模式创建与管理快照
a-用命令模式创建快照

为云主机创建一个名为kz-demo的快照

查看云主机列表:

shell 复制代码
openstack server list

为已有的名为VM_host的云主机拍摄快照:

shell 复制代码
openstack server image create VM_host --name kz-demo

查看快照列表:

shell 复制代码
openstack image list
b-用命令模式管理快照

重建云主机:

shell 复制代码
openstack server rebuild VM_host --image kz-demo

删除快照或镜像:

shell 复制代码
openstack image delete kz-demo
相关推荐
冷曦_sole10 分钟前
linux-19 根文件系统(一)
linux·运维·服务器
AI大模型学徒13 分钟前
Linux(二)_清理空间
linux·运维·服务器
花鱼白羊21 分钟前
TCP Vegas拥塞控制算法——baseRtt 和 minRtt的区别
服务器·网络协议·tcp/ip
PyAIGCMaster42 分钟前
文本模式下成功。ubuntu P104成功。
服务器·数据库·ubuntu
luck_0071 小时前
PhpSpreadsheet 导出excel 找不到setCellValueByColumnAndRow
php
生椰拿铁You1 小时前
解决Apache/2.4.39 (Win64) PHP/7.2.18 Server at localhost Port 80问题
php
shelby_loo5 小时前
使用 Docker 在 Ubuntu 下部署 Cloudflared Tunnel 服务器
服务器·ubuntu·docker
咏颜6 小时前
Ubuntu离线安装Docker容器
linux·运维·服务器·经验分享·ubuntu·docker
索然无味io6 小时前
跨站请求伪造之基本介绍
前端·笔记·学习·web安全·网络安全·php
爱学习的白杨树7 小时前
什么是MVCC?
java·服务器·数据库