云盘
概述
| 云盘类型 | 描述 | |
|---|---|---|
| 根云盘 |
云主机的系统云盘,用于支撑云主机的系统运行。 |
|
| 数据云盘 | 普通云盘 |
云主机的数据云盘,用于云主机扩展的存储使用。普通云盘类似PC中的硬盘,需要挂载至云主机使用,无法单独使用。 |
| 共享云盘 | 云主机的数据云盘,用于云主机扩展的存储使用。可将同一块共享云盘挂载给多台云主机使用,类似于将一块物理硬盘挂载给多台物理服务器,每一台服务器均可以对该硬盘进行数据读取和写入。 | |
| 未实例化云盘 | 创建数据云盘时,若未指定主存储和云主机,创建出的数据云盘将被展示在未实例化栏中。为未实例化云盘加载实例后,即可作为可用资源被云主机使用。 | |
注意事项
- 一台云主机最多可加载24块数据云盘。
- 根云盘作为云主机的附属,不能卸载。
- 数据云盘可在相同类型Hypervisor的不同云主机之间加载和卸载。不同Hypervisor上的数据云盘不可加载到不同类型的云主机上。例如,KVM云主机的云盘不能被VMware云主机加载。
- 普通云盘同一时间只能加载到一台云主机使用。Ceph类型的主存储和Shared Block类型的主存储支持共享云盘,共享云盘可被多台云主机识别并同时访问。
- 直接将共享云盘挂载给多台云主机无法实现文件共享功能,如需在多台云主机之间共享文件,需搭建共享文件系统。
- 云盘占用空间采用虚拟容量来计算。创建云盘时扣除的是云盘的虚拟容量大小,而本身只占用少量实际容量。随着写入文件额增加,实际容量会逐步增加。
- 多个主存储环境下,可以指定主存储创建云盘。如果未指定主存储:
- 针对本地主存储,云盘默认会从容量大的主存储创建。
- 针对NFS主存储,云盘默认会随机选择一个主存储创建。
- 针对本地主存储+NFS/SharedMountPoint类型主存储,默认会选择与当前根云盘不在同一个主存储的存储来创建。
- 数据云盘可设置QoS进行磁盘带宽限速,需注意限速不可过低,过低的QoS可能导致I/O性能过低。
- 采用Virtio类型的存储扩展盘,需确保加载该云盘的云主机已安装Virtio驱动。主流Linux、CentOS 6/7系列已集成Virtio驱动,无需额外安装。Windows系列需手动安装Virtio驱动,可前往云主机详情页安装性能优化工具。
应用场景
- Oracle RAC
Oracle Real Application Clusters (Oracle RAC) 最初旨在提供改进的数据库服务,经过多年的发展,如今它已立足于全面的高可用性 (HA) 体系基础上,该HA体系可用作数据库云系统的基础,也可以作为共享基础架构确保为数据中心中的所有应用程序提供高度的可用性、可伸缩性、灵活性和敏捷性。Oracle RAC采用共享磁盘架构,因此卷管理和用于存储数据库数据的文件系统必须支持集群识别。Oracle自动存储管理 (ASM) 是为Oracle数据库推荐的(集群)卷管理器。
由于ASM可以自动管理共享磁盘,因而用户可采用共享云盘为RAC节点提供存储,交由RAC进行数据管理而无需额外部署共享文件系统。
创建数据云盘
在ZStack Cloud主菜单,点击,进入数据云盘界面。点击创建数据云盘,弹出创建数据云盘界面。
- 基于云盘规格创建普通云盘。
- 基于云盘镜像创建普通云盘。
- 基于云盘规格创建共享云盘。
- 基于云盘镜像创建共享云盘。
基于云盘规格创建普通云盘
- 名称:设置数据云盘名称
- 简介:可选项,可留空不填
- 数量:设置数据云盘数量,支持批量创建数据云盘Note: 需输入整数,取值范围:1~24。
- 云盘属性:选择普通云盘
- 创建方式:选择已有云盘规格或自定义云盘规格
- 主存储:可选项,选择数据云盘所在主存储
- 实例:可选项,选择需要加载的实例(云主机、弹性裸金属实例)
- VirtioSCSI:表示采用VirtioSCSI总线,创建VirtioSCSI类型的数据云盘Note:
- 云盘属性为普通云盘时:VirtioSCSI 默认关闭,若开启,可创建 VirtioSCSI 类型的数据云盘。
- 云盘属性为共享云盘时:VirtioSCSI 默认开启,且不支持修改。
- VirtioSCSI类型的数据云盘支持I/O多队列,可以通过唯一识别ID(WWN)识别。
- 本地存储不建议使用VirtioSCSI类型的数据云盘。
- Vhost类型主存储暂不支持使用VirtioSCSI类型的数据云盘。

基于云盘镜像创建普通云盘
- 名称:输入数据云盘名称
- 简介:可选项,可留空不填
- 数量:输入数据云盘数量,使用云盘镜像创建数据云盘,一次仅支持创建一个数据云盘。
- 云盘属性:选择普通云盘
- 创建方式:选择云盘镜像
- 实例:选择需要绑定的实例(云主机、弹性裸金属实例)
- 主存储:可选项,可指定主存储,数据云盘将在指定主存储中创建Note: 支持使用ImageStore类型的镜像服务器中的云盘镜像在Ceph主存储上创建数据云盘。
- VirtioSCSI:表示采用VirtioSCSI总线,创建VirtioSCSI类型的数据云盘Note:
- 云盘属性为普通云盘时:VirtioSCSI 默认关闭,若开启,可创建 VirtioSCSI 类型的数据云盘。
- 云盘属性为共享云盘时:VirtioSCSI 默认开启,且不支持修改。
- VirtioSCSI类型的数据云盘支持I/O多队列,可以通过唯一识别ID(WWN)识别。
- 本地存储不建议使用VirtioSCSI类型的数据云盘。
- Vhost类型主存储暂不支持使用VirtioSCSI类型的数据云盘。

基于云盘规格创建共享云盘
- 名称:输入数据云盘名称
- 简介:可选项,可留空不填
- 数量:输入数据云盘数量,支持批量创建数据云盘Note: 需输入整数,取值范围:1~24。
- 云盘属性:选择共享云盘Note:
- Ceph主存储以及Shared Block主存储支持共享云盘,其他主存储类型暂不支持。
- Shared Block主存储不支持精简置备的共享云盘。
- 创建方式:选择合适的云盘规格
- 主存储:可选项,选择数据云盘所在主存储
- 实例:可选项,选择需要绑定的实例(云主机、弹性裸金属实例)
- VirtioSCSI:表示采用VirtioSCSI总线,创建VirtioSCSI类型的数据云盘Note:
- 云盘属性为普通云盘时:VirtioSCSI 默认关闭,若开启,可创建 VirtioSCSI 类型的数据云盘。
- 云盘属性为共享云盘时:VirtioSCSI 默认开启,且不支持修改。
- VirtioSCSI类型的数据云盘支持I/O多队列,可以通过唯一识别ID(WWN)识别。
- 本地存储不建议使用VirtioSCSI类型的数据云盘。
- Vhost类型主存储暂不支持使用VirtioSCSI类型的数据云盘。

基于云盘镜像创建共享云盘
- 名称:输入数据云盘名称
- 简介:可选项,可留空不填
- 数量:输入数据云盘数量,使用云盘镜像创建数据云盘,一次仅支持创建一个数据云盘。
- 云盘属性:选择共享云盘Note:
- Ceph主存储以及Shared Block主存储支持共享云盘,其他主存储类型暂不支持。
- Shared Block主存储不支持精简置备的共享云盘。
- 创建方式:选择云盘镜像
- 实例:选择需要绑定的实例(云主机、弹性裸金属实例)
- 主存储:可选项,可指定主存储,数据云盘将在指定主存储中创建Note: 支持使用ImageStore类型的镜像服务器中的云盘镜像在Ceph主存储上创建数据云盘。
- VirtioSCSI:表示采用VirtioSCSI总线,创建VirtioSCSI类型的数据云盘Note:
- 云盘属性为普通云盘时:VirtioSCSI 默认关闭,若开启,可创建 VirtioSCSI 类型的数据云盘。
- 云盘属性为共享云盘时:VirtioSCSI 默认开启,且不支持修改。
- VirtioSCSI类型的数据云盘支持I/O多队列,可以通过唯一识别ID(WWN)识别。
- 本地存储不建议使用VirtioSCSI类型的数据云盘。
- Vhost类型主存储暂不支持使用VirtioSCSI类型的数据云盘。

注意事项
- 批量创建数据云盘仅支持云盘规格方式。
- 基于云盘规格创建普通云盘或共享云盘时,可按需选择主存储与云主机:
- 若两个都不选择:创建的数据云盘为未实例化的云盘,显示在未实例化栏中。
- 若只选择云主机:
- 单主存储时创建云盘策略:在云主机所在主存储中创建数据云盘。
- 多主存储时创建云盘策略:
- 多主存储时未指定主存储:
- 存在多个本地主存储:优先选择可用容量大的存储来创建数据云盘。
- 存在多个NFS主存储时或多个Shared Block主存储:随机选择主存储来创建数据云盘。
- 存在本地主存储+NFS/Shared Mount Point/Shared Block类型主存储:默认会选择与当前根云盘不在同一个主存储的存储来创建数据云盘。
- 存在Ceph主存储+Shared Block类型主存储:优先选择可用容量大的存储来创建数据云盘。
- 多主存储时未指定主存储:
- 若只填写主存储:创建的数据云盘会是可用状态,会占用真实空间。Note:
- 主存储选择本地存储:必须指定物理机
- 主存储选择Ceph:可指定Ceph存储池
- 主存储选择SharedBlock:必须选择置备方式,包括精简置备、厚置备
- 精简置备:按实际使用情况分配存储空间给数据云盘,实现更高的存储利用率。
- 厚置备:预先分配需要的存储空间,提供充足的存储容量给数据云盘,保证存储性能。
- 基于云盘镜像创建普通云盘或共享云盘时,若不指定主存储:
- 若云盘镜像所在镜像服务器为Ceph类型,则会选择Ceph主存储来创建数据云盘。
- 若云盘镜像所在镜像服务器为非Ceph类型:
- 存在多个本地主存储:优先选择可用容量大的存储来创建数据云盘。
- 存在多个NFS主存储时或多个Shared Block主存储:随机选择主存储来创建数据云盘。
- 存在本地主存储+NFS/Shared Mount Point/Shared Block类型主存储:默认会选择与当前根云盘不在同一个主存储的存储来创建数据云盘。
- 存在Ceph主存储+Shared Block类型主存储:优先选择可用容量大的存储来创建数据云盘。
管理数据云盘
在ZStack Cloud主菜单,点击,进入数据云盘界面。
| 操作 | 描述 |
|---|---|
| 创建数据云盘 | 基于云盘规格创建一个新的数据云盘。
|
| 编辑数据云盘 | 修改数据云盘的名称和简介。 |
| 启用数据云盘 | 将处于停用状态的数据云盘启用。 |
| 停用数据云盘 | 停用后,数据云盘的相关操作将受限,如加载实例、云盘迁移等。 |
| 加载实例 | 将选中的数据云盘加载到指定的实例。
|
| 卸载实例 | 将数据云盘从实例卸载。 Note:
|
| 更改物理机 | 将数据云盘迁移到其他物理机。
|
| 更改主存储 | 将数据云盘迁移到其他主存储。支持云盘跨同类型主存储的迁移以及同一Ceph主存储下不同存储池的迁移。更改主存储操作仅迁移有效数据,迁移后的云盘将跟随目标主存储的置备类型(跨SharedBlock主存储迁移支持自定义云盘置备类型)。
Note:
|
| 更改所有者 | 可以更改数据云盘的所有者。
|
| 云盘扩容 | 在云主机运行或者停止状态下,支持对数据云盘扩容。
|
| 绑定标签 | 为数据云盘绑定标签。
|
| 解绑标签 | 将数据云盘上的标签解除绑定。 Note:
|
| 立即备份 | 对数据云盘创建备份数据。
|
| 绑定备份任务 | 为数据云盘绑定备份任务。
|
| 创建云盘镜像 | 对当前云盘进行创建镜像操作,此镜像可用于创建新的数据云盘。
|
| 创建数据云盘快照 | 做重要操作前,对数据云盘在特定时间点进行临时状态保留,方便出现故障后迅速回滚。
|
| 设置云盘QoS | 通过设置总速度或读写速度的方式,设置数据云盘带宽上限。
|
| 扁平合并 | 将数据云盘的多个快照拍平合并,以提升资源性能和数据安全性。通过扁平合并,可解除链接克隆的云主机/云盘与源云主机/云盘之间的依赖关系,实现数据独立。 Note:
|
| 导出云盘 | 将云盘信息导出为CSV文件。
|
| 删除数据云盘 | 将云盘删除后,
云盘会显示在已删除栏。 Note: 删除云盘需要注意以下情况:
|
| 彻底删除/还原数据云盘 | 支持将已删除的云盘彻底删除或进行还原操作,还原后云盘将显示在可用栏。 |
管理根云盘
在ZStack Cloud主菜单,点击,进入根云盘界面。
| 操作 | 描述 |
|---|---|
| 编辑名称简介 | 修改根云盘的名称和简介。 |
| 云盘扩容 | 在云主机运行或者停止状态下,支持对根云盘扩容。
|
| 绑定标签 | 为根云盘绑定标签。
|
| 解绑标签 | 将根云盘上的标签解除绑定。
|
| 立即备份 | 为根云盘快速执行一次备份,生成备份数据。
|
| 绑定备份任务 | 为根云盘绑定备份任务。
|
| 创建云盘镜像 | 对当前云盘进行创建镜像操作,此镜像可用于创建新的数据云盘。 |
| 创建根云盘快照 | 做重要操作前,对云主机根云盘在特定时间点进行临时状态保留,方便出现故障后迅速回滚。若需长期备份,请选择灾备相关功能。 |
| 设置云盘QoS | 通过设置总速度或读写速度的方式,设置根云盘带宽上限。
|
| 扁平合并 | 将根云盘的多个快照拍平合并,以实现数据独立,提升资源性能和数据安全性。
|
| 导出云盘 | 将云盘信息导出为CSV文件。
|
云盘详情
云盘快照
快照:某一时间点某一磁盘的数据状态文件。做重要操作前,保存云盘当前状态数据,便于出现异常故障及时恢复数据。如需长期备份,建议使用灾备服务。
云盘快照类型
- 手动快照:用户随时手动对数据云盘创建快照。
- 自动快照:通过定时任务创建快照,或系统在特定场景触发一次性自动快照。
- 通过定时任务创建快照,用户需提前创建定时快照策略,系统会在设置的时间点自动对相应资源创建快照。
- 系统在以下特定场景可能触发一次性自动快照:
- 数据云盘扩容
- 快照回滚Note:
- 系统默认快照回滚不会触发一次性自动快照。
- 用户可自行设置快照回滚是否触发一次性自动快照,设置方法:
进入,开启自动创建云盘快照开关即可。
- 在Ceph主存储上创建数据云盘的镜像。
应用场景
- 故障迅速还原:当生产环境出现异常故障,可使用快照回滚功能迅速还原至正常状态。该手段为临时方案,考虑到数据的长期完善保护,建议使用灾备服务。
- 数据开发:通过对生产数据创建快照,从而为数据挖掘、报表查询和开发测试等应用提供近实时的真实生产数据。
- 提高操作容错率:在系统升级或业务数据迁移等重大操作前,建议创建一份或多份快照。一旦升级或者迁移过程中出现任何问题,可以通过快照及时恢复到正常的系统数据状态。
创建数据云盘快照
数据云盘快照可在数据云盘详情页和云主机详情页进行创建,具体如下:
在ZStack Cloud主菜单,点击,进入数据云盘界面。点击数据云盘名称进入详情页,点击,弹出创建数据云盘快照弹窗。
若所选云盘已加载至云主机,可在云主机详情页,点击,进入该数据云盘详情页,点击,弹出创建数据云盘快照弹窗。
创建根云盘快照
根云盘快照可在根云盘详情页和云主机详情页进行创建,具体如下:
在ZStack Cloud主菜单,点击,进入根云盘界面。点击根云盘名称进入详情页,点击,弹出创建根云盘快照弹窗。
也可在云主机详情页,点击,进入该根云盘详情页,点击,弹出创建根云盘快照弹窗。
云盘扩容
ZStack Cloud支持云盘扩容,包括云平台扩容云盘以及云主机操作系统硬盘扩容两个步骤。
云平台扩容云盘
- 新容量必须大于当前容量,且增量不得小于4MB。
- 新容量必须为4MB的倍数,例如填写新容量为37MB,实际扩容到40MB。

云主机内部扩容云盘
- 扩容存在风险。安全的扩容方式是对扩容的新容量,规划新的分区。
- 扩容只能增加容量,不能减少容量。
- 扩容增加的容量可以合并到最后一个分区,将其连续使用。
以下分三种不同的应用场景来介绍:
- 使用resize2fs命令扩容ext4分区实例。Note: 调整分区时需谨慎操作,建议操作前对重要数据备份,防止数据丢失。
假定云主机操作系统为CentOS7,ext4分区与云盘容量均为60G,在云平台将云盘从60G扩容至100G后,打算将新增容量扩容至ext4分区。
操作步骤如下:- 使用lsblk命令查看当前分区容量,可见扩容后的容量未增加到磁盘分区中。
[root@10-0-18-185 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 8:0 0 60G 0 disk └─vda1 8:1 0 60G 0 part / sr0 11:0 1 1024M 0 rom sda 253:0 0 100G 0 disk └─sda1 253:1 0 60G 0 part /data - 使用fdisk
/dev/sda命令重建分区。Note: 新建分区的起始sector需与原磁盘保持一致,否则可能造成数据丢失。
[root@10-0-18-185 ~]# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): d #删除现有分区 Selected partition 1 Partition 1 is deleted Command (m for help): n #新建分区 Partition type: #选择新分区类型为主分区 p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p Partition number (1-4, default 1): #选择新分区Partition number为1 First sector (2048-209715199, default 2048): #设置新分区起始sector,需与原磁盘保持一致,否则可能造成数据丢失。 Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): #使用默认值作为新分区结束sector,将全部磁盘空间分配给新分区 Using default value 209715199 Partition 1 of type Linux and of size 100 GiB is set Command (m for help): w #将以上配置写入磁盘 The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. - 使用partprobe命令重新读取分区表。
[root@10-0-18-185 ~]# partprobe - 使用e2fsck -f
/dev/sda1命令检查文件系统分区是否正常工作。
[root@10-0-18-185 ~]# e2fsck -f /dev/sda1 e2fsck 1.42.9 (28-Dec-2013) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sda1: 12/2621440 files (0.0% non-contiguous), 209591/10485504 blocks - 使用resize2fs命令使xfs文件系统识别新容量。
[root@10-0-18-185 ~]# resize2fs /dev/sda1 resize2fs 1.42.9 (28-Dec-2013) Resizing the filesystem on /dev/sda1 to 26214144 (4k) blocks. The filesystem on /dev/sda1 is now 26214144 blocks long. - 使用lsblk命令查看当前分区容量。
[root@10-0-18-185 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk └─sda1 8:1 0 100G 0 part /data sr0 11:0 1 1024M 0 rom vda 253:0 0 60G 0 disk └─vda1 253:1 0 60G 0 part /
- 使用lsblk命令查看当前分区容量,可见扩容后的容量未增加到磁盘分区中。
- 使用xfs_growfs命令扩容xfs分区实例。Note:
- 此方式适用于xfs分区动态扩容,无须挂载ISO或使用LVM分区工具管理磁盘。
- 扩容分区有一定风险,建议操作前对重要数据备份。
假定云主机操作系统为CentOS7,xfs分区与云盘容量均为60G,xfs分区挂载点为/data,在云平台将云盘总容量从60G扩容至100G后,打算将新增容量扩容至xfs分区。
云主机内操作步骤如下:- 使用lsblk命令查看当前分区容量,可见扩容后的容量未增加到磁盘分区中。
[root@10-0-44-210 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 8:0 0 50G 0 disk └─vda1 8:1 0 50G 0 part / sr0 11:0 1 1024M 0 rom sdb 253:0 0 100G 0 disk └─sdb1 253:1 0 60G 0 part /data - 卸载挂载点。partprobe命令执行前需确保改动分区无占用,使用umount /data命令卸载/dev/sdb1分区的挂载。
[root@10-0-44-210 ~]# umount /data - 使用fdisk
/dev/sdb命令重建分区。Note: 新建分区的起始sector需与原磁盘保持一致,否则可能造成数据丢失。
[root@10-0-44-210 ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): d #删除现有分区 Selected partition 1 Partition 1 is deleted Command (m for help): n #新建分区 Partition type: #选择新分区类型为主分区 p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p Partition number (1-4, default 1): #选择新分区Partition number为1 First sector (2048-209715199, default 2048): #设置新分区起始sector,需与原磁盘保持一致,否则可能造成数据丢失。 Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): #使用默认值作为新分区结束sector,将全部磁盘空间分配给新分区 Using default value 209715199 Partition 1 of type Linux and of size 100 GiB is set Command (m for help): w #将以上配置写入磁盘 The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. - 使用partprobe命令重新读取分区表。
[root@10-0-44-210 ~]# partprobe - 使用mount /dev/sdb1
/data命令重新挂载分区至/data挂载点。
[root@10-0-44-210 ~]# mount /dev/sdb1 /data - 使用xfs_growfs
/dev/sdb1命令使xfs文件系统识别新容量。
[root@10-0-44-210 ~]# xfs_growfs /dev/sdb1 meta-data=/dev/sdb1 isize=512 agcount=7, agsize=3932096 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=26214144, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=7679, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 16214144 to 28835584 - 使用lsblk命令查看当前分区容量。
[root@10-0-44-210 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 100G 0 disk └─sdb1 8:17 0 100G 0 part /data sr0 11:0 1 1024M 0 rom vda 253:0 0 50G 0 disk └─vda1 253:1 0 50G 0 part /
- Windows分区扩容实例Windows分区可以在磁盘管理界面直接进行磁盘扩容。Note: Windows在线扩容后需重新扫描磁盘。如图 2所示:
图 2. 重新扫描磁盘 
