OpenStack 实验指导手册

文章目录

  • [OpenStack 实验指导手册](#OpenStack 实验指导手册)
    • [1 OpenStack 界面管理](#1 OpenStack 界面管理)
      • [1.1 实验介绍](#1.1 实验介绍)
        • [1.1.1 关于本实验](#1.1.1 关于本实验)
        • [1.1.2 前提条件](#1.1.2 前提条件)
        • [1.1.3 实验目的](#1.1.3 实验目的)
      • [1.1.4 实验流程](#1.1.4 实验流程)
      • [1.2 登录 OpenStack Dashboard](#1.2 登录 OpenStack Dashboard)
        • [1.2.1 操作步骤](#1.2.1 操作步骤)
      • [1.3 登录 OpenStack 客户端 (命令行)](#1.3 登录 OpenStack 客户端 (命令行))
        • [1.3.1 操作步骤](#1.3.1 操作步骤)
    • [2 OpenStack 认证管理](#2 OpenStack 认证管理)
      • [2.1 实验介绍](#2.1 实验介绍)
        • [2.1.1 关于本实验](#2.1.1 关于本实验)
        • [2.1.2 实验目的](#2.1.2 实验目的)
        • [2.1.3 实验流程](#2.1.3 实验流程)
      • [2.2 OpenStack Dashboard 操作](#2.2 OpenStack Dashboard 操作)
        • [2.2.1 创建角色、用户及用户组](#2.2.1 创建角色、用户及用户组)
        • [2.2.2 禁用用户,删除用户](#2.2.2 禁用用户,删除用户)
        • [2.2.3 创建项目,修改项目配额](#2.2.3 创建项目,修改项目配额)
      • [2.3 OpenStack CLI 操作](#2.3 OpenStack CLI 操作)
        • [2.3.1 创建角色、用户及用户组](#2.3.1 创建角色、用户及用户组)
        • [2.3.2 禁用用户,删除用户](#2.3.2 禁用用户,删除用户)
        • [2.3.3 创建项目,修改项目配额](#2.3.3 创建项目,修改项目配额)
    • [3 OpenStack 镜像管理](#3 OpenStack 镜像管理)
      • [3.1 实验介绍](#3.1 实验介绍)
        • [3.1.1 关于本实验](#3.1.1 关于本实验)
        • [3.1.2 实验目的](#3.1.2 实验目的)
        • [3.1.3 实验流程](#3.1.3 实验流程)
      • [3.2 OpenStack Dashboard 操作](#3.2 OpenStack Dashboard 操作)
        • [3.2.1 下载镜像 (cirros)](#3.2.1 下载镜像 (cirros))
        • [3.2.2 创建并注册镜像](#3.2.2 创建并注册镜像)
        • [3.2.3 修改镜像](#3.2.3 修改镜像)
      • [3.3 OpenStack CLI 操作](#3.3 OpenStack CLI 操作)
        • [3.3.1 下载镜像 (cirros)](#3.3.1 下载镜像 (cirros))
        • [3.3.2 创建并注册镜像](#3.3.2 创建并注册镜像)
        • [3.3.3 修改镜像](#3.3.3 修改镜像)
        • [3.3.4 共享镜像](#3.3.4 共享镜像)
        • [3.3.5 转换镜像格式](#3.3.5 转换镜像格式)
        • [3.3.6 导出镜像](#3.3.6 导出镜像)
        • [3.3.7 删除镜像](#3.3.7 删除镜像)
    • [4 OpenStack 计算管理](#4 OpenStack 计算管理)
      • [4.1 实验介绍](#4.1 实验介绍)
        • [4.1.1 关于本实验](#4.1.1 关于本实验)
        • [4.1.2 实验目的](#4.1.2 实验目的)
        • [4.1.3 实验流程](#4.1.3 实验流程)
      • [4.2 OpenStack Dashboard 操作](#4.2 OpenStack Dashboard 操作)
        • [4.2.1 Hypervisor 和主机聚合管理](#4.2.1 Hypervisor 和主机聚合管理)
        • [4.2.2 实例类型 (规格) 管理](#4.2.2 实例类型 (规格) 管理)
        • [4.2.3 密钥和虚拟机组管理](#4.2.3 密钥和虚拟机组管理)
        • [4.2.4 创建网络](#4.2.4 创建网络)
          • [操作步骤(创建 shared 网络)](#操作步骤(创建 shared 网络))
        • [4.2.5 虚拟机实例操作](#4.2.5 虚拟机实例操作)
          • [4.2.5.1 发放虚拟机实例](#4.2.5.1 发放虚拟机实例)
          • [4.2.5.2 虚拟机实例开启、关闭与重启](#4.2.5.2 虚拟机实例开启、关闭与重启)
          • [4.2.5.3 虚拟机实例锁定、解锁](#4.2.5.3 虚拟机实例锁定、解锁)
          • [4.2.5.4 虚拟机实例暂停、挂起和恢复](#4.2.5.4 虚拟机实例暂停、挂起和恢复)
          • [4.2.5.5 虚拟机实例废弃 (搁置) 和取消废弃 (解搁置)](#4.2.5.5 虚拟机实例废弃 (搁置) 和取消废弃 (解搁置))
          • [4.2.5.6 虚拟机实例快照和重建](#4.2.5.6 虚拟机实例快照和重建)
          • [4.2.5.7 调整实例大小](#4.2.5.7 调整实例大小)
          • [4.2.5.8 虚拟机实例删除](#4.2.5.8 虚拟机实例删除)
      • [4.3 OpenStack CLI 操作](#4.3 OpenStack CLI 操作)
        • [4.3.1 Hypervisor、主机聚合和可用分区管理](#4.3.1 Hypervisor、主机聚合和可用分区管理)
        • [4.3.2 规格管理](#4.3.2 规格管理)
        • [4.3.3 密钥对和虚拟机组管理](#4.3.3 密钥对和虚拟机组管理)
        • [4.3.4 虚拟机实例操作](#4.3.4 虚拟机实例操作)
    • [5 OpenStack 存储管理](#5 OpenStack 存储管理)
      • [5.1 实验介绍](#5.1 实验介绍)
        • [5.1.1 关于本实验](#5.1.1 关于本实验)
        • [5.1.2 实验目的](#5.1.2 实验目的)
        • [5.1.3 实验流程](#5.1.3 实验流程)
      • [5.2 OpenStack Dashboard 操作](#5.2 OpenStack Dashboard 操作)
        • [5.2.1 卷类型和 QoS 管理](#5.2.1 卷类型和 QoS 管理)
        • 操作步骤
        • [5.2.2 卷管理](#5.2.2 卷管理)
          • [5.2.2.1 创建卷](#5.2.2.1 创建卷)
          • [5.2.2.2 挂载和卸载卷](#5.2.2.2 挂载和卸载卷)
          • [5.2.2.3 上传卷到镜像](#5.2.2.3 上传卷到镜像)
          • [5.2.2.4 创建卷快照](#5.2.2.4 创建卷快照)
          • [5.2.2.5 卷扩容](#5.2.2.5 卷扩容)
          • [5.2.2.6 基于卷快照创建卷](#5.2.2.6 基于卷快照创建卷)
          • [5.2.2.7 基于卷发放虚拟机实例](#5.2.2.7 基于卷发放虚拟机实例)

OpenStack 实验指导手册

1 OpenStack 界面管理

1.1 实验介绍

1.1.1 关于本实验

本实验主要介绍如何通过 OpenStack Dashboard 及命令行登录 OpenStack,并进行一些基本操作,以便快速了解 OpenStack 的基本功能。

1.1.2 前提条件
  • OpenStack 开发环境已安装成功。
  • 已获取 OpenStack 开发环境的默认登录信息。
1.1.3 实验目的
  • 熟悉 OpenStack Dashboard 登录方式。
  • 熟悉 OpenStack Dashboard 界面内容显示。
  • 了解 OpenStack 的基本功能,比如修改默认用户的登录密码;创建一个用户,绑定主项目,分配角色等。
  • 熟悉如何登录 OpenStack 命令行客户端。

1.1.4 实验流程

  1. 登录 OpenStack
  2. 熟悉不同项目界面
  3. 熟悉修改密码步骤
  4. 创建特定用户(图 1-1 OpenStack 界面管理实验流程图)

1.2 登录 OpenStack Dashboard

1.2.1 操作步骤
  1. 在浏览器中输入: http://192.168.108.10(OpenStack主机地址),输入用户名(默认 admin)和密码,单击"登入"。
  2. 登录成功后,默认进入 admin 项目概况界面,可自行查看 admin 项目中计算、卷、网络等界面。
  3. 单击左侧导航栏中的"管理员",选择"概览",可查看系统使用情况的摘要界面。
  4. 单击左侧导航栏中的"身份管理",选择"项目",可查看项目的界面,包括身份管理的项目、用户、组、角色、应用程序凭证等。
  5. 修改用户"admin"的登录密码:单击右上角"admin",在弹出框中选择"设置"。
  6. 在弹出界面中,选择"修改密码",按要求输入原密码,自定义新密码,单击"修改"。
  7. 返回 OpenStack 登录界面,输入用户名和步骤 6 自定义的登录密码,单击"登入"。
  8. 本实验以项目"admin"为例创建业务员:打开"身份管理"。
  9. 单击"用户",可先单击左上角"admin"切换至"admin"项目。
  10. 在左边界面中,单击右上角的"创建用户",在创建用户框中设置用户名为 user1,自定义登录密码,主项目选择"admin",角色选择 "member",单击下方的"创建用户",右上角提示成功(成功:用户 "user1" 成功创建)。
  11. 单击右上角"admin",在弹出框中单击"退出",退回登录界面。
  12. 在登录界面中,输入新创建的用户名(user1)和步骤 10 自定义的密码,单击"登入"。
  13. 进入项目"admin"下用户名"user1"、角色为"member"的主界面。

思考user1admin 用户登录界面有何区别?


1.3 登录 OpenStack 客户端 (命令行)

1.3.1 操作步骤
  1. 使用 MobaXterm 远程登录:

    • 输入:

      复制代码
      root
    • 密码进行连接。

    • 会话设置:

      • Basic SSH settings :远程主机192.168.108.10,指定用户名root,端口 22。
      • Advanced SSH settings :会话名称controller,其他默认。
    • 点击"OK"开始会话。

  2. 直接执行 keystonerc_admin,进入管理员视图:

    bash 复制代码
    source keystonerc_admin
    [root@controller~]# source keystonerc_admin
  3. 输入命令,查看当前 OpenStack 中的项目列表,验证是否登录成功:

    bash 复制代码
    openstack project list
    • 若显示如下列表,表示导入环境变量成功:

      复制代码
      ID                                   | Name      |
      ------------------------------------ |-----------|
      849ccdf6e95c41f7857bee41d6252cb1    | services  |
      9dfc7c9839ea4ff387fc223cd4d61823    | admin     |
    • 若显示 -bash: openstack: command not found 等回显,表示导入环境变量失败,需检查 keystonerc_admin 中是否存在错误信息。

  4. 若要切换其他用户登录(以 user1 为例),创建 keystonerc_user1 文件并编辑:

    bash 复制代码
    [root@controller (keystone_admin)]# cp keystonerc_admin keystonerc_user1
    [root@controller ~(keystone_admin)]# vim keystonerc_user1
    • 写入以下内容:

      bash 复制代码
      unset OS_SERVICE_TOKEN 
      export OS_USERNAME=user1 
      export OS_PASSWORD='huawei' 
      export OS_REGION_NAME=RegionOne 
      export OS_AUTH_URL=http://192.168.108.10:5000/v3 
      export PS1='[\u@\h \W(keystone_user1)]\$ ' 
      export OS_PROJECT_NAME=admin 
      export OS_USER_DOMAIN_NAME=Default 
      export OS_PROJECT_DOMAIN_NAME=Default 
      export OS_IDENTITY_API_VERSION=3
  5. 执行文件并查看项目列表:

    bash 复制代码
    [root@controller ~(keystone_admin)]# source keystonerc_user1
    [root@controller ~(keystone_user1)]# openstack project list
    ID                                   | Name      |
    ------------------------------------ |-----------|
    9dfc7c9839ea4ff387fc223cd4d61823    | admin     |

2 OpenStack 认证管理

2.1 实验介绍

2.1.1 关于本实验

本实验主要介绍如何通过 OpenStack Dashboard 和 OpenStack CLI 两种方式创建角色、用户、用户组及项目等,并验证不同角色用户的权限区别,最后介绍通过 OpenStack CLI 创建服务和服务的 API 端点。

2.1.2 实验目的
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 创建角色、用户及用户组的方法。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 禁用和删除用户的方法。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 创建项目并修改项目配额的方法。
2.1.3 实验流程
  • 登录 OpenStack
  • 创建项目
  • 创建角色
  • 创建用户并添加角色
  • 创建用户组并添加用户
  • 验证不同角色用户的权限
  • 禁用 / 删除用户
  • 修改项目配额

2.2 OpenStack Dashboard 操作

2.2.1 创建角色、用户及用户组
操作步骤
  1. 使用 admin 用户登录 OpenStack Dashboard 界面,在左侧导航栏选择 "身份管理> 角色",进入角色列表,单击页面右上角的 "创建角色"。
  2. 弹出创建角色对话框,输入角色名称 "Role_web",单击"提交",完成角色创建,可在角色列表查看结果。
  3. 在左侧导航栏选择 "身份管理> 用户",进入用户列表,单击页面右上角的 "创建用户"。
  4. 弹出创建用户对话框,填写如下信息:
    • 用户名:User_web_01
    • 密码:自行设置并记录
    • 项目:选择 "admin"
    • 角色:选择刚创建的 "Role_web"
    • 其他保持默认
    • 单击 "创建用户",在用户列表查看结果。
  5. 参考步骤 3~4,创建用户 "User_web_02",角色选择 "admin",其他信息同上,在用户列表查看结果。
  6. 在左侧导航栏选择 "身份管理> 组",进入用户组列表,单击页面右上角的 "创建组"。
  7. 弹出创建用户组对话框,输入用户组名称 "Group_web",单击"创建组",完成用户组创建。
  8. 返回用户组列表,单击待操作的用户组 "Group_web" 所在行的 "管理成员"。
  9. 进入用户组成员列表,单击页面右上角的"添加用户"。
  10. 弹出添加组用户对话框,在下方用户列表中勾选 "User_web_01" 和 "User_web_02",单击右上角的"添加用户"。
  11. 返回用户组成员列表,查看添加的用户。
  12. 选择"身份管理> 用户",进入用户列表,单击用户名称"User_web_01",进入用户"概览"页面。
  13. 选择"角色分配"页签,查看用户的角色分配信息。
  14. 选择"组"页签,查看用户的用户组分配信息。
  15. 单击页面右上角 "admin",在操作列表中选择"退出",注销admin用户。
  16. 返回 OpenStack Dashboard 登录界面,分别输入 "User_web_01" 和 "User_web_02"的用户名和密码,登录后观察两者导航栏及菜单的不同之处。

2.2.2 禁用用户,删除用户
操作步骤
  1. 使用 admin 用户登录 OpenStack Dashboard 界面,选择 "身份管理> 组",进入用户组列表,单击 "Group_web" 所在行的 "管理成员"。
  2. 进入用户组成员列表,勾选 "User_web_02" 前的复选框,单击页面右上方的 "删除用户"。
  3. 弹出确认信息提示框,单击 "删除用户"。
    • 说明:此操作仅将用户从组中删除,不会在系统中删除用户(可验证:使用 "User_web_02" 密码登录 Dashboard 仍可成功)。
  4. 在左侧导航栏选择"身份管理> 用户",进入用户列表,在"User_web_02"所在行"编辑"后的下拉框中,单击"禁用用户"。
  5. 返回用户列表,查看"User_web_02"所在行"Enabled"列,状态由"Yes"变为"No"。
  6. 勾选"User_web_02"所在行前的复选框,单击页面右上角的"删除用户"。
  7. 弹出确认信息提示框,单击"删除用户",完成用户删除。

2.2.3 创建项目,修改项目配额
操作步骤
  1. 使用 admin 用户登录 OpenStack Dashboard 界面,选择"身份管理> 项目",进入项目列表,单击页面右上角"创建项目"。
  2. 弹出创建项目对话框,选择"项目信息"页签,填写项目名称"Project_web",其他保持默认。
  3. 选择"项目成员"页签,在左侧用户列表单击"User_web_01"后面的"+",右侧显示选择的用户;单击用户后面的角色列表,只勾选"admin"。
  4. 单击"创建项目",完成项目创建。
  5. 返回项目列表,单击项目名称"Project_web",进入项目概览页面,选择"用户"页签,查看项目中的用户及角色分配信息。
  6. 注销admin用户,使用"User_web_01"登录 Dashboard,切换页面上方项目为"Project_web",观察导航栏及菜单的变化。
  7. 使用admin用户登录 Dashboard,选择"身份管理> 项目",进入项目列表,在"Project_web"所在行"Actions"列,单击"管理成员"后的下拉框,选择"修改配额"。
  8. 弹出编辑配额对话框,在"计算""卷""网络"页签分别修改配额:
    • 计算:实例数量 = 5
    • 卷:卷数量 = 5
    • 网络:网络数量 = 5
    • 单击"保存"。
  9. 使用"User_web_01"登录 Dashboard,切换项目为"Project_web",在左侧导航栏选择"项目 > 计算 > 概况",查看配额变化。

2.3 OpenStack CLI 操作

2.3.1 创建角色、用户及用户组
操作步骤
  1. 远程登录 controller 节点,导入 admin 用户的环境变量:

    bash 复制代码
    [root@controller ~]# source keystonerc_admin
    [root@controller ~(keystone_admin)]#
  2. 创建角色 "Role_cli":

    bash 复制代码
    openstack role create Role_cli
  3. 创建用户 "User_cli_01" 并设置密码:

    bash 复制代码
    openstack user create --domain default --project admin --password-prompt User_cli_01
  4. 为 "User_cli_01" 在项目 "admin" 中添加角色 "Role_cli":

    bash 复制代码
    openstack role add --project admin --user User_cli_01 Role_cli
  5. 参考步骤 3~4,创建用户 "User_cli_02":

    bash 复制代码
    openstack user create --domain default --project admin --password-prompt User_cli_02

    为其添加"admin"角色:

    bash 复制代码
    openstack role add --project admin --user User_cli_02 admin
  6. 查看角色分配情况:

    bash 复制代码
    openstack role assignment list --names | grep User_cli
  7. 创建用户组 "Group_cli":

    bash 复制代码
    openstack group create Group_cli
  8. 为用户组 "Group_cli" 添加用户 "User_cli_01" 和 "User_cli_02":

    bash 复制代码
    openstack group add user Group_cli User_cli_01 User_cli_02
  9. 编辑 "User_cli_01"的环境变量文件 keystonerc_User_cli_01

    bash 复制代码
    [root@controller ~(keystone_admin)]# cp keystonerc_admin keystonerc_User_cli_01
    [root@controller ~(keystone_admin)]# vim keystonerc_User_cli_01

    修改内容如下:

    bash 复制代码
    unset OS_SERVICE_TOKEN 
    export OS_USERNAME=User_cli_01 
    export OS_PASSWORD='huawei' 
    export OS_REGION_NAME=RegionOne 
    export OS_AUTH_URL=http://192.168.108.10:5000/v3 
    export PS1='[\u@\h \W(keystone_User_cli_01)]\$ ' 
    export OS_PROJECT_NAME=admin 
    export OS_USER_DOMAIN_NAME=Default 
    export OS_PROJECT_DOMAIN_NAME=Default 
    export OS_IDENTITY_API_VERSION=3
  10. 导入环境变量并查看项目列表:

    bash 复制代码
    [root@controller ~(keystone_admin)]# source keystonerc_User_cli_01
    [root@controller ~(keystone_User_cli_01)]# openstack project list
    ID                                   | Name      |
    ------------------------------------ |-----------|
    9dfc7c9839ea4ff387fc223cd4d61823    | admin     |
  11. 参考步骤 9~10,编辑并导入"User_cli_02"的环境变量:

    bash 复制代码
    [root@controller ~(keystone_User_cli_01)]# cp keystonerc_User_cli_01 keystonerc_User_cli_02
    [root@controller ~(keystone_User_cli_01)]# vim keystonerc_User_cli_02 (修改 OS_USERNAME 为 User_cli_02)
    [root@controller ~(keystone_User_cli_01)]# source keystonerc_User_cli_02
    [root@controller ~(keystone_User_cli_02)]# openstack project list

    (可看到所有项目)


2.3.2 禁用用户,删除用户
操作步骤
  1. 导入 admin 环境变量:

    bash 复制代码
    [root@controller (keystone_User_cli_02)]# source keystonerc_admin
    [root@controller ~(keystone_admin)]#
  2. 从用户组"Group_cli"中移除用户"User_cli_02":

    bash 复制代码
    openstack group remove user Group_cli User_cli_02
  3. 验证用户是否移除:

    bash 复制代码
    openstack group contains user Group_cli User_cli_02
    [root@controller ~(keystone_admin)]# openstack group contains user Group_cli User_cli_02
    User_cli_02 not in group Group_cli
  4. 禁用用户"User_cli_02":

    bash 复制代码
    openstack user set --disable User_cli_02
  5. 查看用户禁用状态:

    bash 复制代码
    openstack user show User_cli_02
  6. 删除用户"User_cli_02":

    bash 复制代码
    openstack user delete User_cli_02
  7. 查看用户列表,确认删除:

    bash 复制代码
    openstack user list

2.3.3 创建项目,修改项目配额
操作步骤
  1. 创建项目"Project_cli":

    bash 复制代码
    openstack project create --domain default Project_cli
  2. 为"User_cli_01"在"Project_cli"中添加"admin"角色:

    bash 复制代码
    openstack role add --project Project_cli --user User_cli_01 admin
  3. 查看角色分配情况:

    bash 复制代码
    openstack role assignment list --names | grep User_cli_01
  4. 修改"User_cli_01"的环境变量,将 OS_PROJECT_NAME 改为"Project_cli":

    bash 复制代码
    vim keystonerc_User_cli_01
    # 修改行:export OS_PROJECT_NAME=Project_cli
  5. 导入环境变量:

    bash 复制代码
    [root@controller ~(keystone_admin)]# source keystonerc_User_cli_01
    [root@controller ~(keystone_User_cli_01)]#
  6. 查看项目列表,验证切换:

    bash 复制代码
    openstack project list
  7. (验证)为用户组"Group_cli"在"Project_cli"中添加"admin"角色:

    bash 复制代码
    openstack role add --project Project_cli --group Group_cli admin
    openstack role assignment list --names | grep Group_cli
  8. 查看"Project_cli"的默认配额:

    bash 复制代码
    openstack quota show Project_cli
  9. 修改配额(实例 = 5,卷 = 5,网络 = 10):

    bash 复制代码
    openstack quota set --instance 5 --volumes 5 --networks 10 Project_cli
  10. 查看配额变化:

    bash 复制代码
    openstack quota show Project_cli | grep -E "instances|volumes|networks"

3 OpenStack 镜像管理

3.1 实验介绍

3.1.1 关于本实验

本实验主要介绍如何通过 OpenStack Dashboard 和 OpenStack CLI 两种方式进行镜像的下载、创建、注册、共享以及镜像格式转换等基本操作。

3.1.2 实验目的
  • 了解下载镜像的方法。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 创建、注册以及修改镜像的方法。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 共享镜像、转换镜像格式以及导出和删除镜像的方法。
3.1.3 实验流程
  • 下载镜像
  • 创建并注册镜像
  • 修改镜像属性
  • 导出 / 删除镜像

3.2 OpenStack Dashboard 操作

3.2.1 下载镜像 (cirros)
操作步骤
  1. 在本机浏览器输入 cirros 镜像下载地址:http://download.cirros-cloud.net/0.5.2/
  2. 选择 "cirros-0.5.2-x86_64-disk.img",下载到本地(约 10 分钟)。
3.2.2 创建并注册镜像
操作步骤
  1. 使用 admin 用户登录 Dashboard,在 admin 项目下,左侧导航栏选择 "项目> 计算 > 镜像",进入镜像列表,单击"创建镜像"。
  2. 弹出创建镜像对话框:
    • 镜像名称:Img_web
    • 镜像文件:单击"浏览",选择本地下载的 cirros-0.5.2-x86_64-disk.img
    • 镜像格式:选择 "QCOW2 - QEMU 模拟器"
    • 最小磁盘:1 GB
    • 最低内存:128 MB
    • 可见性:私有
    • 受保护性:是
  3. 单击 "创建镜像",返回镜像列表,等待镜像状态变为 "运行中",表示注册成功。
  4. 查看镜像的可见性和受保护性(私有、受保护 = 是)。
3.2.3 修改镜像
操作步骤
  1. 使用 admin 用户登录 Dashboard,选择 "项目> 计算 > 镜像",在 "Img_web" 所在行的 "Actions" 列,单击 "编辑镜像"。
  2. 弹出编辑镜像对话框,将 "可见性" 改为 "公有","受保护" 改为 "否",单击 "更新镜像"。
  3. 返回镜像列表,查看镜像属性变化(可见性 = 公有,受保护 = 否)。
  4. 单击镜像名称 "Img_web",查看镜像详细信息(如大小、格式、创建时间等)。

3.3 OpenStack CLI 操作

3.3.1 下载镜像 (cirros)
操作步骤
  1. 远程登录 controller 节点,导入 admin 环境变量:

    bash 复制代码
    [root@controller ~]# source keystonerc_admin
    [root@controller ~(keystone_admin)]#
  2. 上传 cirros 镜像到 /root 目录(通过 MobaXterm 直接拖动文件到 /root 文件夹)。

  3. 查看下载的镜像文件:

    bash 复制代码
    [root@controller ~(keystone_admin)]# ls
  4. 查看镜像文件详细信息:

    bash 复制代码
    qemu-img info cirros-0.5.2-x86_64-disk.img
3.3.2 创建并注册镜像
操作步骤
  1. 导入 admin 环境变量(若未导入):

    bash 复制代码
    source keystonerc_admin
  2. 创建镜像 Img_cli(格式 QCOW2,私有):

    bash 复制代码
    openstack image create --disk-format qcow2 --container-format bare --min-disk 1 --min-ram 128 --private --file ./cirros-0.5.2-x86_64-disk.img Img_cli
  3. 查看镜像列表,确认状态为"active":

    bash 复制代码
    openstack image list
  4. (权限验证)移除 User_cli_01Project_cli 中的 admin 角色,添加 Role_cli 角色:

    bash 复制代码
    openstack role remove --project Project_cli --user User_cli_01 admin
    openstack role add --project Project_cli --user User_cli_01 Role_cli
  5. 导入 User_cli_01 环境变量,查看镜像列表(仅显示公有 / 共享镜像):

    bash 复制代码
    source keystonerc_User_cli_01
    openstack image list
3.3.3 修改镜像
操作步骤
  1. 导入 admin 环境变量:

    bash 复制代码
    source keystonerc_admin
  2. 将"Img_cli"设置为公有:

    bash 复制代码
    openstack image set --public Img_cli
  3. 查看镜像详细信息,确认可见性变为"public":

    bash 复制代码
    openstack image show Img_cli
  4. 导入"User_cli_01"环境变量,查看镜像列表(可看到"Img_cli"):

    bash 复制代码
    source keystonerc_User_cli_01
    openstack image list

3.3.4 共享镜像
操作步骤
  1. 导入 admin 环境变量:

    bash 复制代码
    source keystonerc_admin
  2. 将"Img_cli"设置为"shared"(共享模式):

    bash 复制代码
    openstack image set --shared Img_cli
  3. 导入"User_cli_01"环境变量,查看镜像列表(仍无法看到"Img_cli",需指定共享项目):

    bash 复制代码
    source keystonerc_User_cli_01
    openstack image list
  4. 导入 admin 环境变量,查看镜像和项目 ID:

    bash 复制代码
    source keystonerc_admin
    openstack image list
    openstack project list
  5. 将"Img_cli"共享给"Project_cli"项目:

    bash 复制代码
    openstack image add project 36772705-1ef6-449e-88a2-6a463b09d425 2d309ab0933d47a78553f4b3c723fbc3
  6. 导入"User_cli_01"环境变量,接受共享镜像:

    bash 复制代码
    source keystonerc_User_cli_01
    openstack image set --accept 36772705-1ef6-449e-88a2-6a463b09d425
  7. 查看镜像列表,确认共享成功:

    bash 复制代码
    openstack image list

结论:共享镜像需先设置"shared"模式,再指定共享项目,最后由目标项目用户"accept"后才能查看使用。


3.3.5 转换镜像格式
操作步骤
  1. 下载 VMDK 格式的 Ubuntu 镜像(下载地址:http://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.vmdk)。

  2. 导入 admin 环境变量,查看镜像文件:

    bash 复制代码
    source keystonerc_admin
    ls
  3. 查看 VMDK 镜像详细信息:

    bash 复制代码
    qemu-img info bionic-server-cloudimg-amd64.vmdk
  4. 转换为 QCOW2 格式(启用压缩,显示进度):

    bash 复制代码
    qemu-img convert -f vmdk -O qcow2 -c -p bionic-server-cloudimg-amd64.vmdk bionic-server-cloudimg-amd64.qcow2
  5. 查看转换后的 QCOW2 镜像信息:

    bash 复制代码
    qemu-img info bionic-server-cloudimg-amd64.qcow2
  6. 创建 Ubuntu 镜像 Ubuntu_cli(公有):

    bash 复制代码
    openstack image create --disk-format qcow2 --container-format bare --min-disk 1 --min-ram 128 --public --file ./bionic-server-cloudimg-amd64.qcow2 Ubuntu_cli

3.3.6 导出镜像
操作步骤
  1. 查看镜像列表,确认 Ubuntu_cli 存在:

    bash 复制代码
    openstack image list
  2. 导出 Ubuntu_cli 到本地文件 Ubuntu.qcow2:

    bash 复制代码
    openstack image save --file Ubuntu.qcow2 Ubuntu_cli
  3. 查看导出的文件:

    bash 复制代码
    ls

3.3.7 删除镜像
操作步骤
  1. 删除 Ubuntu_cli 镜像:

    bash 复制代码
    openstack image delete Ubuntu_cli
  2. 查看镜像列表,确认删除:

    bash 复制代码
    openstack image list

4 OpenStack 计算管理

4.1 实验介绍

4.1.1 关于本实验

本实验主要介绍如何通过 OpenStack Dashboard 和 OpenStack CLI 两种方式管理 Hypervisor、主机聚合、规格、密钥对以及虚拟机组,最后介绍虚拟机实例的发放、生命周期管理以及快照和重建等基本操作。

4.1.2 实验目的
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 主机聚合的创建和操作方法。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 规格的创建和操作方法。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 密钥对和虚拟机组的创建和操作方法。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 虚拟机实例的发放、生命周期管理以及快照和重建等基本操作方法。
4.1.3 实验流程

管理 Hypervisor / 主机聚合

→ 创建规格 / 密钥对 / 虚拟机组

→ 发放虚拟机实例

→ 实例生命周期管理(启动 / 关闭 / 重启 / 锁定 / 暂停等)

→ 创建实例快照 / 重建实例

→ 调整实例大小

→ 删除实例


4.2 OpenStack Dashboard 操作

4.2.1 Hypervisor 和主机聚合管理
操作步骤
  1. 使用 admin 用户登录 Dashboard,在左侧导航栏选择 "管理员> 计算 > 虚拟机管理器",进入虚拟机管理器概述列表,查看 VCPU、内存、本地磁盘的使用情况。
  2. 选择 "计算主机" 页签,查看计算节点(如 controllercompute)的状态(激活、启动)。
  3. 左侧导航栏选择 "管理员> 计算 > 主机聚合",进入主机聚合列表,单击 "创建主机聚合"。
  4. 弹出创建主机聚合对话框,"主机聚合信息" 页签输入:
    • 名称:HostAggr_web
    • 可用域:nova
  5. 选择 "管理聚合内的主机" 页签,在左侧可用主机中单击 "controller" 后面的 "+",右侧显示选择的主机,单击 "创建主机聚合"。
  6. 返回主机聚合列表,查看创建的 "HostAggr_web"。
验证操作
  1. 参考步骤 3~5,创建主机聚合 "HostAggr_web_test",可用域设置为 "AZ_web",添加主机 "controller":
    • 结果:创建失败,提示 "向聚合中添加主机时出错",同一主机无法加入不同可用域(AZ)。
  2. 编辑 "HostAggr_web_test"的可用域为 "nova",再添加 "controller":
    • 结果:添加成功,同一主机可加入不同主机聚合(同一 AZ 下)。
  3. 从 "HostAggr_web_test" 中移除 "controller",并删除该主机聚合。

4.2.2 实例类型 (规格) 管理
操作步骤
  1. 左侧导航栏选择 "管理员> 计算 > 实例类型",进入规格列表,单击 "创建实例类型"。
  2. 弹出创建实例类型对话框,"实例类型信息" 页签输入:
    • 名称:Flavor_web
    • VCPU 数量:1
    • 内存 (MB):128
    • 根磁盘 (GB):1
    • 其他保持默认
  3. 选择 "实例类型使用权" 页签,在左侧项目列表中单击 "Project_web" 后面的 "+",右侧显示选择的项目,单击 "创建实例类型"。
  4. 参考步骤 2~3,创建规格 "Flavor_web_test",不选择任何项目(默认对所有项目可用,即 "Public")。
验证操作
  1. 编辑 "Flavor_web"的使用权,移除 "Project_web":
    • 结果 :规格仍为 "Private",仅 admin 角色用户可见但无法使用,其他用户不可见。说明 "移除所有项目" ≠ "Public"。
  2. 结论:规格创建后无法变更 "Public/Private" 属性,需删除后重新创建。
  3. 删除 "Flavor_web" 和 "Flavor_web_test"

4.2.3 密钥和虚拟机组管理
操作步骤(密钥对)
  1. 左侧导航栏选择 "项目> 计算 > 密钥对",进入密钥对列表,单击 "创建密钥对"。
  2. 弹出创建密钥对对话框:
    • 密钥对名称:KeyPair_web
    • 密钥类型:SSH 密钥
    • 单击 "创建密钥对"。
  3. 弹出下载提示,下载密钥对文件 KeyPair_web.pem(保存到本地,用于 SSH 登录实例)。
  4. 返回密钥对列表,查看创建的 "KeyPair_web"。
操作步骤(虚拟机组)
  1. 左侧导航栏选择 "项目> 计算 > 主机组",进入虚拟机组列表,单击 "创建服务器组"。
  2. 弹出创建虚拟机组对话框:
    • 名称:ServerGroup_web
    • 策略:关联(亲和性,组内实例必须在同一主机)
    • 其他策略说明:
      • 不关联(反亲和性,组内实例不能在同一主机)
      • 软关联 / 软不关联(资源不足时忽略规则)
    • 单击 "提交"。
  3. 返回虚拟机组列表,查看创建的 "ServerGroup_web"。

4.2.4 创建网络
操作步骤(创建 shared 网络)
  1. 左侧导航栏选择 "项目> 网络 > 网络",单击 "创建网络"。
  2. 弹出创建网络对话框,"网络" 页签:
    • 网络名称:shared
    • 勾选 "共享的"
    • 勾选 "创建子网"
    • 单击 "下一项"。
  3. "子网" 页签:
    • 子网名称:shared_subnet

    • 网络地址:192.168.233.0/24

    • 网关 IP:

      bash 复制代码
      192.168.233.1
    • 单击 "下一项"。

  4. "子网详情" 页签:
    • 激活 DHCP(默认勾选)
    • 分配地址池:默认(或自定义,如 192.168.233.100-192.168.233.200)
    • 单击 "创建"。
  5. 返回网络列表,查看创建的 "shared" 网络。

4.2.5 虚拟机实例操作
4.2.5.1 发放虚拟机实例
  1. 使用 admin 用户登录 Dashboard,左侧导航栏选择 "项目> 计算 > 实例",单击 "创建实例"。
  2. "详情" 页签:
    • 实例名称:Instance_web_01
    • 可用域:nova
    • 数量:1
    • 单击 "下一项"。
  3. "源" 页签:
    • 选择源:Image
    • 创建新卷:否
    • 可用镜像:选择 "Img_web"(单击后面的 "+")
    • 单击 "下一项"。
  4. "实例类型" 页签:
    • 可用规格:选择 "Flavor_web_test"(单击后面的 "+")
    • 单击 "下一项"。
  5. "网络" 页签:
    • 可用网络:选择 "shared"(单击后面的 "+")
    • 单击 "下一项"(连续 3 次,跳过 "安全组""Key Pair""配置")。
  6. "服务器组" 页签:
    • 可用服务器组:选择 "ServerGroup_web"(单击后面的 "+")
    • 单击 "创建实例"。
  7. 返回实例列表,等待实例状态变为 "运行中",表示发放成功。

4.2.5.2 虚拟机实例开启、关闭与重启
  1. 进入实例列表,在 "Instance_web_01" 所在行的 "Actions" 列,单击 "关闭实例",确认关闭。
  2. 实例状态变为 "关机" 后,单击 "启动实例",确认启动,状态恢复为 "运行中"。
  3. 单击 "软重启实例"(优雅重启,类似 reboot 命令),确认重启,状态短暂变为 "重启中" 后恢复 "运行中"。
  4. 参考步骤 3,执行 "硬重启实例"(强制重启,类似 power cycle)。

4.2.5.3 虚拟机实例锁定、解锁
  1. 进入实例列表,单击 "锁定实例",确认锁定(实例列表显示锁标志)。
  2. 验证:
    • admin 用户仍可执行关闭 / 启动操作。
    • 普通用户(如 User_web_01)无法执行任何操作。
  3. 单击 "解锁实例",确认解锁,锁标志消失。

4.2.5.4 虚拟机实例暂停、挂起和恢复
  1. 进入实例列表,单击 "暂停实例",实例状态变为 "暂停",电源状态变为 "已暂停"(内存数据保留在主机内存)。
  2. 单击 "恢复实例",状态恢复为 "运行中"。
  3. 单击 "挂起实例",实例状态变为 "挂起",电源状态变为 "关闭"(内存数据写入磁盘,释放内存)。
  4. 单击 "恢复实例",状态恢复为 "运行中"。

思考:暂停(内存保留)适合短期临时停止,挂起(数据写入磁盘)适合长期停止以释放资源。


4.2.5.5 虚拟机实例废弃 (搁置) 和取消废弃 (解搁置)
  1. 进入实例列表,单击 "废弃实例",实例状态变为 "强制搁置",电源状态变为 "关闭"(实例磁盘数据保存为镜像,释放计算资源)。
  2. 单击 "取消废弃实例",实例从镜像恢复,状态变为 "运行中"。

思考:废弃比挂起更彻底(释放计算节点资源),适合长期不用但需保留数据的实例。


4.2.5.6 虚拟机实例快照和重建
  1. 进入实例列表,单击 "创建快照",输入快照名称 "Instance_Snap_web",单击 "创建快照"。
  2. 自动跳转到镜像列表,等待快照状态变为 "运行中"(类型为 "快照")。
  3. 进入实例列表,单击 "重建实例",选择快照 "Instance_Snap_web",单击 "重建实例"。
  4. 等待实例状态变为 "运行中",镜像名称变为 "Instance_Snap_web",表示重建成功。

思考:若实例损坏,可通过 "重建实例" 选择历史快照恢复数据。


4.2.5.7 调整实例大小
  1. 创建新规格 "Flavor_web_new"(VCPU=1,内存 = 156MB,根磁盘 = 1GB)。
  2. 进入实例列表,单击 "调整实例大小",选择 "Flavor_web_new",单击 "调整大小"。
  3. 实例状态变为 "确认或放弃 调整大小 / 迁移",单击 "确认 调整大小 / 迁移"。
  4. 等待实例状态恢复为 "运行中",查看规格已变为 "Flavor_web_new"。

4.2.5.8 虚拟机实例删除
  1. 进入实例列表,勾选 "Instance_web_01",单击 "删除实例",确认删除。
  2. 实例列表中该实例消失,表示删除成功。

4.3 OpenStack CLI 操作

4.3.1 Hypervisor、主机聚合和可用分区管理
  1. 远程登录 controller,导入 admin 环境变量:

    bash 复制代码
    source keystonerc_admin
  2. 查看 Hypervisor 列表:

    bash 复制代码
    openstack hypervisor list --long
  3. 查看主机列表:

    bash 复制代码
    openstack host list
  4. 创建主机聚合 "HostAggr_cli":

    bash 复制代码
    openstack aggregate create --zone nova HostAggr_cli
  5. 为主机聚合添加主机 "controller":

    bash 复制代码
    openstack aggregate add host HostAggr_cli controller
  6. (验证)尝试创建不同 AZ 的主机聚合并添加 "controller"(失败),修改 AZ 后添加(成功)。

  7. 移除主机并删除主机聚合:

    bash 复制代码
    openstack aggregate remove host HostAggr_cli_test controller
    openstack aggregate delete HostAggr_cli_test

4.3.2 规格管理
  1. 创建私有规格 "Flavor_cli"(仅 "Project_cli" 可见):

    bash 复制代码
    openstack flavor create --vcpus 1 --ram 128 --disk 1 --private --project Project_cli Flavor_cli
  2. 移除规格对 "Project_cli" 的可见性(仍为私有):

    bash 复制代码
    openstack flavor unset --project Project_cli Flavor_cli
  3. 删除规格并重新创建公有规格:

    bash 复制代码
    openstack flavor delete Flavor_cli
    openstack flavor create --vcpus 1 --ram 128 --disk 1 Flavor_cli  # 默认为 Public

4.3.3 密钥对和虚拟机组管理
  1. 创建密钥对 "KeyPair_cli":

    bash 复制代码
    openstack keypair create KeyPair_cli  # 输出私钥,保存到本地
  2. 创建虚拟机组 "ServerGroup_cli"(亲和性策略):

    bash 复制代码
    openstack server group create --policy affinity ServerGroup_cli

4.3.4 虚拟机实例操作
  1. 发放实例 "Instance_cli_01":

    bash 复制代码
    openstack server create --availability-zone nova --image Img_cli --flavor Flavor_cli --network shared --key-name KeyPair_cli --hint group=SERVER_GROUP_ID Instance_cli_01

    (将 SERVER_GROUP_ID 替换为 "ServerGroup_cli"的 ID)

  2. 实例生命周期管理(命令示例):

    bash 复制代码
    openstack server stop Instance_cli_01              # 关闭
    openstack server start Instance_cli_01             # 启动
    openstack server reboot Instance_cli_01            # 软重启
    openstack server reboot --hard Instance_cli_01      # 硬重启
    openstack server lock Instance_cli_01              # 锁定
    openstack server unlock Instance_cli_01            # 解锁
    openstack server pause Instance_cli_01             # 暂停
    openstack server unpause Instance_cli_01           # 恢复
    openstack server suspend Instance_cli_01           # 挂起
    openstack server resume Instance_cli_01           # 恢复
    openstack server shelve Instance_cli_01           # 废弃
    openstack server unshelve Instance_cli_01          # 解除废弃
  3. 创建实例快照并重建:

    bash 复制代码
    openstack server image create --name Instance_Snap_cli Instance_cli_01   # 创建快照
    openstack server rebuild --image Instance_Snap_cli Instance_cli_01     # 重建
  4. 调整实例大小:

    bash 复制代码
    openstack flavor create --vcpus 1 --ram 156 --disk 1 Flavor_cli_new  # 创建新规格
    openstack server resize --flavor Flavor_cli_new Instance_cli_01       # 调整大小
    openstack server resize confirm Instance_cli_01                   # 确认调整
  5. 删除实例:

    bash 复制代码
    openstack server delete Instance_cli_01

5 OpenStack 存储管理

5.1 实验介绍

5.1.1 关于本实验

本实验主要介绍如何通过 OpenStack Dashboard 和 OpenStack CLI 两种方式创建并管理卷类型和 QOS,最后介绍卷的创建、挂载及卸载、上传卷到镜像、创建卷快照并基于卷快照创建卷、基于卷发放虚拟机实例、卷扩容、更新卷状态以及删除卷等基本操作。


5.1.2 实验目的
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 创建并管理卷类型和 QOS。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 卷的创建、挂载及卸载以及卷快照、卷扩容、更新卷状态、卷删除等基本操作方法。
  • 熟悉 OpenStack Dashboard 和 OpenStack CLI 上传卷到镜像、基于卷快照创建卷、基于卷发放虚拟机实例等基本操作方法。

5.1.3 实验流程

创建卷类型 / QOS

→ 创建卷

→ 卷挂载 / 卸载

→ 卷快照 / 扩容

→ 基于卷快照创建卷

→ 基于卷发放实例

→ 更新卷状态

→ 删除卷


5.2 OpenStack Dashboard 操作

5.2.1 卷类型和 QoS 管理
操作步骤
  1. 使用 admin 用户登录 Dashboard,左侧导航栏选择 "管理员> 卷 > 卷类型",进入卷类型列表,单击 "创建卷类型"。
  2. 弹出创建卷类型对话框:
    • 名称:VolumeType_web
    • 勾选 "公有"
    • 单击 "创建卷类型"。
  3. 单击页面下方的 "创建 QoS 规格",弹出创建 QoS 规格对话框:
    • 名称:QoS_web
    • 消费者:后端(QoS 策略作用于存储后端)
    • 单击 "创建"。
  4. 返回卷类型列表,在 "VolumeType_web" 所在行的 "Actions" 列,单击 "管理 QoS 规格关联"。
  5. 弹出分配 QoS 规格对话框,选择 "QoS_web",单击 "关联"。
  6. 返回卷类型列表,查看 "VolumeType_web" 的 "Associated QoS Spec" 为 "QoS_web"。

5.2.2 卷管理
5.2.2.1 创建卷
  1. 左侧导航栏选择 "项目> 卷 > 卷",进入卷列表,单击 "创建卷"。
  2. 弹出创建卷对话框,输入如下信息:
    • 卷名称:Volume_web_01

    • 卷来源:镜像(选择 "Img_web")

    • 类型:VolumeType_web

    • 大小:1 GB

    • 可用域:

      bash 复制代码
      nova
    • 单击 "创建卷"。

  3. 返回卷列表,等待卷状态变为 "可用"。

5.2.2.2 挂载和卸载卷
  1. 进入卷列表,在 "Volume_web_01" 所在行的 "Actions" 列,单击 "管理连接"。
  2. 弹出管理卷挂载对话框,选择实例 "Instance_web_01",单击 "连接卷"。
  3. 返回卷列表,卷状态变为 "正在使用","Attached To" 显示 "Instance_web_01 上的 /dev/vdb"。
  4. 卸载卷:再次进入 "管理连接",单击 "分离卷",确认分离,卷状态恢复为 "可用"。

5.2.2.3 上传卷到镜像
  1. 进入卷列表,在 "Volume_web_01" 所在行的 "Actions" 列,单击 "上传镜像"。
  2. 弹出上传卷到镜像对话框:
    • 镜像名称:Volume_Img_web
    • 磁盘格式:QCOW2 - QEMU 模拟器
    • 单击 "上传"。
  3. 左侧导航栏选择 "项目> 计算 > 镜像",查看创建的 "Volume_Img_web"(类型为 "Image")。

5.2.2.4 创建卷快照
  1. 进入卷列表,在 "Volume_web_01" 所在行的 "Actions" 列,单击 "创建快照"。
  2. 弹出创建卷快照对话框,输入名称 "Volume_Snap_web",单击 "创建卷快照"。
  3. 自动跳转到卷快照列表,查看创建的 "Volume_Snap_web"(状态为 "可用")。

验证:卷挂载状态下仍可创建快照,但可能存在数据一致性风险(建议先暂停实例或确保数据已落盘)。


5.2.2.5 卷扩容
  1. 进入卷列表,在 "Volume_web_01" 所在行的 "Actions" 列,单击 "扩展卷"。
  2. 弹出扩容卷对话框,输入新大小 "2"(GB),单击 "扩展卷"。
  3. 返回卷列表,查看卷大小变为 "2 GiB"。

5.2.2.6 基于卷快照创建卷
  1. 左侧导航栏选择 "项目> 卷 > 快照",进入卷快照列表,在 "Volume_Snap_web" 所在行的 "Actions" 列,单击 "创建卷"。
  2. 弹出创建卷对话框,输入名称 "Volume_web_02"("使用快照作为源" 已默认选择 "Volume_Snap_web"),单击 "创建卷"。
  3. 自动跳转到卷列表,查看创建的 "Volume_web_02"(状态为 "可用")。

5.2.2.7 基于卷发放虚拟机实例
  1. 进入卷列表,在 "Volume_web_02" 所在行的 "Actions" 列,单击 "创建实例"。
  2. "详情" 页签输入实例名称 "Instance_web_02",单击 "下一项"。
  3. "源" 页签选择 "Volume",可用卷选择 "Volume_web_02",单击 "下一项"。
  4. "实例类型" 页签选择 "Flavor_web_test",单击 "下一项"。
  5. "网络" 页签选择 "shared",单击 "创建实例"。
  6. 返回卷列表,"Volume_web_02" 状态变为 "正在使用";实例列表中 "Instance_web_02" 状态为 "运行中"。

验证:仅 "可启动" 的卷可用于发放实例。若取消卷的 "可启动" 属性(编辑卷时取消勾选 "可启动"),则无法基于该卷创建实例。

相关推荐
不染尘.2 小时前
传输层协议头分析
服务器·网络·tcp/ip·计算机网络·udp·tcp
松涛和鸣2 小时前
37、UDP网络编程入门
linux·服务器·前端·网络·udp·php
宠..2 小时前
为单选按钮绑定事件
运维·服务器·开发语言·数据库·c++·qt·microsoft
QC七哥2 小时前
基于vnstat监控服务器的网卡流量
运维·服务器·监控·vnstat
怀旧,2 小时前
【Linux系统编程】14. 库使用与原理(上)
linux·运维·服务器
QT 小鲜肉2 小时前
【Linux命令大全】001.文件管理之locate命令(实操篇)
linux·运维·服务器·chrome·笔记
init_23613 小时前
Option B(MP-EBGP跨AS VRF)设备配置及ASBR标签转发原理
运维·服务器·网络
番茄撒旦在上3 小时前
Docker部署springboot项目
服务器·spring boot·docker·容器
Xの哲學3 小时前
Linux IPsec 深度解析: 架构, 原理与实战指南
linux·服务器·网络·算法·边缘计算