前期环境:
Ubuntu
0 云硬盘类型
云硬盘类型包括:
- 高性能云硬盘
- 通用型 SSD 云硬盘
- SSD 云硬盘
- 增强型 SSD 云硬盘
- 极速型 SSD 云硬盘,仅支持随存储增强型云服务器一同购买,不支持单独购买
1 创建云硬盘
1.1 创建方式
1.1.1 单个创建
1.1.2 批量创建
2 挂载云硬盘
2.1添加驱动
modprobe acpiphp
2.2 acpiphp
模块设置成开机自动加载
vi /etc/modules
文件中添加
acpiphp
2.3 创建实例时自动挂载云硬盘
数据盘在制作快照前必须已经进行格式化,即在源云服务器上已经 mount 成功。
系统盘在制作自定义镜像前,需要在 /etc/rc.local 文件中添加以下命令,将数据盘挂载点写入文件中。
mkdir -p <mount-point>
mount <device-id> <mount-point>
说明:
需设置为文件系统的挂载点,例如 /data。
需设置为实际文件分区位置。例如,无分区有文件系统时填写 /dev/vdb,有分区有文件系统时填写 /dev/vdb1
3 初始化云硬盘
注意事项:
您可先了解 云硬盘使用注意事项 后再对云硬盘进行相关操作,以免损坏重要数据。
格式化数据盘会将数据全部清空,请确保数据盘中没有数据或已备份重要数据。
为避免服务发生异常,格式化前请确保云服务器已停止对外服务。
3.1 磁盘容量小于2TB时
请根据您实际使用场景选择初始化方式:
若整块硬盘只呈现为一个独立的分区(即不存在多个逻辑盘,如 vdb1 和 vdb2 ),强烈推荐您不使用分区,直接 在裸设备上构建文件系统。
若整块硬盘需要呈现为多个逻辑分区(即存在多个逻辑盘),则您需要先进行分区操作,再 在分区上构建文件系统。
3.1.1 在裸设备上构建文件系统
3.1.1.1 查看磁盘名称
fdisk -l
3.1.1.2 对 “/dev/vdb” 裸设备直接创建文件系统格式
mkfs -t <文件系统格式> /dev/vdb
eg:
mkfs -t ext4 /dev/vdb
3.1.1.3 新建挂载点
mkdir <挂载点>
eg:
mkdir /data
3.1.1.4 将新建分区挂载至新建的挂载点
mount /dev/vdb <挂载点>
以新建挂载点 /data 为例
mount /dev/vdb /data
3.1.1.5 查看挂载结果
df -TH
3.1.1.6 确认挂载方式并获取对应信息
使用弹性云硬盘的软链接(推荐)
ls -l /dev/disk/by-id
使用文件系统的 UUID
blkid /dev/vdb
使用设备名称
fdisk -l
3.1.1.7 备份 /etc/fstab 文件
以备份到 /home 目录下为例
cp -r /etc/fstab /home
3.1.1.8 使用 VI 编辑 /etc/fstab
vi /etc/fstab
<设备信息> <挂载点> <文件系统格式> <文件系统安装选项> <文件系统转储频率> <启动时的文件系统检查顺序>
以使用弹性云硬盘的软链接自动挂载为例,结合前文示例则添加:
/dev/disk/by-id/virtio-disk-drkhklpe /data ext4 defaults 0 0
- 以使用磁盘分区的 UUID 自动挂载为例,结合前文示例则添加:
UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data ext4 defaults 0 0
以使用设备名称自动挂载为例,结合前文示例则添加:
/dev/vdb /data ext4 defaults 0 0
3.1.1.9 检查 /etc/fstab 文件是否写入成功
mount -a
如果运行通过则说明文件写入成功,新建的文件系统会在操作系统启动时自动挂载。
3.1.2 在裸设备上构建文件系统
3.1.2.1 查看磁盘名称
fdisk -l
3.1.2.2 进入 fdisk 分区工具
fdisk <新增数据盘>
fdisk /dev/vdb
输入n,按 Enter,开始新建分区
表示磁盘有两种分区类型:
-
p 表示主要分区。
-
e 表示延伸分区。
输入 p,按 Enter,开始创建一个主分区
Partition number 表示主分区编号,可以选择1 - 4
以选择分区编号1为例,输入主分区编号 1,按 Enter。
First sector 表示初始磁柱区域,可以选择2048 - 125829119,默认为2048。
以选择默认初始磁柱编号2048为例,按 Enter
Last sector 表示截止磁柱区域,可以选择2048 - 125829119,默认为125829119。
以选择默认截止磁柱编号125829119为例,按 Enter。
表示分区完成,即为60GB的数据盘新建了1个分区。
输入 p,按 Enter,查看新建分区的详细信息。
表示新建分区 /dev/vdb1 的详细信息。 -
说明
若上述分区操作有误,请输入 q,退出 fdisk 分区工具,之前的分区结果将不会被保留。
输入 w,按 Enter,将分区结果写入分区表中。
回显信息类似如下图,表示分区创建完成。
3.1.2.3 将新的分区表变更同步至操作系统
命令:partprobe
3.1.2.4 将新建分区文件系统设置为系统所需格式
mkfs -t <文件系统格式> /dev/vdb1
eg:
mkfs -t ext4 /dev/vdb1
格式化需要等待一段时间,请观察系统运行状态,不要退出
3.1.2.5 新建挂载点
mkdir <挂载点>
eg:
mkdir /data/newpart
3.1.2.6 将新建分区挂载至新建的挂载点
mount /dev/vdb1 <挂载点>
eg:
mount /dev/vdb1 /data/newpart
3.1.2.7 查看挂载结果
df -TH
3.1.2.8 确认挂载方式并获取对应信息
使用弹性云硬盘的软链接(推荐)
ls -l /dev/disk/by-id
使用文件系统的 UUID
blkid /dev/vdb1
使用设备名称
fdisk -l
3.1.2.9 备份 /etc/fstab 文件
cp -r /etc/fstab /home
vi /etc/fstab
将光标移至文件末尾,按 Enter,添加如下内容
<设备信息> <挂载点> <文件系统格式> <文件系统安装选项> <文件系统转储频率> <启动时的文件系统检查顺序>
eg:
/dev/disk/by-id/virtio-disk-drkhklpe-part1 /data/newpart ext4 defaults 0 2
以使用磁盘分区的 UUID 自动挂载为例,结合前文示例则添加:
UUID=d489ca1c-5057-4536-81cb-ceb2847f9954 /data/newpart ext4 defaults 0 2
以使用设备名称自动挂载为例,结合前文示例则添加:
/dev/vdb1 /data/newpart ext4 defaults 0 2
3.1.2.10 检查 /etc/fstab 文件是否写入成功
mount -a
如果运行通过则说明文件写入成功,新建的文件系统会在操作系统启动时自动挂载。
3.2 磁盘容量大于等于2TB时
4 扩容云硬盘
4.1 扩容的方式
- 通过云服务器控制台扩容
- 通过云硬盘控制台扩容
- 通过 API 扩容
4.1.1 数据盘扩展分区及文件系统
4.1.1.1 在线扩展数据盘分区及文件系统
fdisk -l
可从图中获取以下信息:
/dev/vdb 数据盘容量为60GB,包含 MBR 分区 /dev/vdb1,容量为50GB。
/dev/vdc 数据盘容量为60GB,包含 GPT 分区 /dev/vdc1,容量为50GB。
4.1.1.2 确认已有分区的文件系统类型
df -TH'
可从图中获取以下信息:
/dev/vdb1 文件系统类型为 ext4,已挂载至 /mnt/disk1。
/dev/vdc1 文件系统类型为 xfs,已挂载至 /mnt/disk2。
4.1.1.3 扩容分区
yum install gdisk -y
yum install -y cloud-utils-growpart
使用 growpart 工具扩容分区
growpart /dev/vdb 1
若分区类型为 MBR,则请跳过此步骤。
若分区类型为 GPT,则请对应云服务器操作系统类型,执行以下命令安装工具
4.1.1.4 扩容文件系统
4.1.1.4.1 扩容 ext 文件系统
执行以下命令,扩容 ext 文件系统
resize2fs /dev/vdb1
查看扩容结果
df -TH
4.1.1.4.2 扩容 xfs 文件系统
扩容 xfs 文件系统
xfs_growfs <挂载点>
eg:
xfs_growfs /mnt/disk2
查看扩容结果
df -TH
5 卸载云硬盘
5.1 操作场景
当您需要将磁盘属性为数据盘的弹性云硬盘挂载到另一台云服务器上使用时,您可以主动地从云服务器卸载该弹性云硬盘,并将其挂载到其他云服务器上。卸载弹性云硬盘并不会清除该硬盘上的数据。
目前支持卸载磁盘属性为数据盘的弹性云硬盘,不可卸载系统盘和非弹性云硬盘。卸载云硬盘前需先执行umount(Linux)或脱机(Windows)操作,否则可能会导致该云服务器再次挂载弹性云硬盘时无法识别。
若未执行 umount 操作直接被强制卸载,关机时和开机时可能会出现如下图所示的问题:
如果您在云服务器内创建了逻辑卷管理(Logical Volume Manager,LVM),直接从控制台卸载磁盘会造成部分 device 数据残留在子机内存中,当子机内部有应用尝试遍历或者访问该设备时,将会出现系统错误。因此,需要提前执行以下操作(本例假设基于 /dev/vdb1 创建了逻辑卷 /dev/test/lv1,挂载在 /data 目录下):
a. 执行 umount /data 命令,在子机内部 umount 对应磁盘挂载点。
b. 执行 lvremove /dev/test/lv1 命令,移除逻辑卷(Logical Volume,LV)。 如果有多个 LV,请依次移除所有 LV。
c. 执行 vgremove test 命令,移除卷组。
d. 执行 pvremove /dev/vdb1 命令,移除物理卷。
e. 修改 /etc/fstab 文件,避免下次启动继续挂载对应 LV。
5.2 卸载操作
a. 单个卸载:单击状态为“已挂载”的目标云硬盘所在行的更多 > 卸载。
b. 批量卸载:勾选多个状态为“已挂载”的目标云硬盘,单击列表上方的卸载。
在弹出的“卸载云硬盘”提示框中,确认警告事项,单击确认,完成卸载。
6 销毁云硬盘
6.1 使用控制台手动销毁未过期云硬盘
单个销毁:在状态为“待挂载”的目标云硬盘所在行,选择更多 > 销毁/退还。
批量销毁:勾选多个状态为“待挂载”的目标云硬盘,单击列表上方的销毁/退还。
6.2 彻底销毁回收站中包年包月云硬盘
单个销毁:在状态为“待回收”的目标云硬盘所在行,选择释放。
批量销毁:勾选多个状态为“待回收”的目标云硬盘,单击列表上方的批量释放。