快速购买并使用Linux云服务器的云硬盘
操作场景
云硬盘分为数据盘和系统盘两种,系统盘需要随云服务器一同购买,数据盘可以单独购买,也可以跟随云服务器一起购买。单独购买的数据盘需要用户自行完成挂载和初始化操作。
本章主要指导用户购买单独的非共享数据盘并挂载给云服务器进行初始化操作,展示如何在Linux云服务器上快速使用云硬盘,示例配置说明见表1。
操作流程
操作步骤 |
说明 |
---|---|
|
|
在EVS控制台单独购买一块全新的数据盘。 |
|
将数据盘挂载给Linux云服务器。 |
|
对数据盘进行初始化操作,使其可以正常使用。 |
准备工作
- 注册华为云。
- 关于注册华为账号并开通华为云,请参见注册华为账号并开通华为云。
- 请参考实名认证完成个人或企业账号实名认证。
- 为账户充值。
- 关于云硬盘价格,请参见计费模式。
- 关于充值,请参见如何给华为云账户充值。
- 已购买云服务器。
- 购买和使用弹性云服务器请参见购买和使用弹性云服务器。
- 购买和使用裸金属服务器请参见购买和使用裸金属服务器。
步骤一:购买云硬盘
- 进入购买磁盘页面。
- 根据表2,完成云硬盘必要参数设置,其他参数均可保持默认配置。
图1 参数设置
表2 参数说明 参数名称
取值样例
说明
区域
华南-广州
不同区域的资源之间内网不互通。请选择靠近您的区域,可以降低网络时延、提高访问速度。
可用区
可用区1
云硬盘只能挂载到同一可用区的云服务器内,创建后不支持更换可用区,请谨慎选择。
暂不挂载
- 立即挂载:需要立即选择待挂载的云服务器,云硬盘的计费模式和云服务器保持一致。
- 暂不挂载:当没有云服务器可选的时候,可以创建完成后再进行挂载。
计费模式
按需计费
关于云硬盘价格,请参见计费模式。
数据源
不配置
创建一个全新的空数据盘时不需要配置数据源。
磁盘规格
磁盘类型:超高IO
关于磁盘类型的详细介绍,请参见磁盘类型及性能介绍。
容量 (GiB):100GiB
通过当前界面只能创建数据盘,容量范围为:10 GiB~32768 GiB
磁盘名称
volume-0001
- 批量创建云硬盘:一次创建多个云硬盘时,磁盘名称为云硬盘名称的前缀,最终云硬盘名称组成为“磁盘名称-四位数字”。
最大支持59个字节。
购买量
1
创建云硬盘的数量,默认为“1”,表示只创建一个云硬盘。目前最多可批量创建100个云硬盘。
- 单击“立即购买”。
- 购买完成后,返回云硬盘列表页。当云硬盘“volume-0001”状态为“可用”时,表示购买成功。
步骤二:挂载云硬盘
云硬盘不支持单独使用,需要挂载到云服务器上使用。
- 在云硬盘列表,找到云硬盘“volume-0001”,单击“挂载”。
- 将云硬盘“volume-0001”挂载至指定的云服务器,该云服务器必须与云硬盘位于同一个可用区。
图2 挂载云硬盘
- 单击“确定”,返回云硬盘列表页。当云硬盘“volume-0001”状态为“正在使用”时,表示挂载至云服务器成功。
步骤三:初始化云硬盘
云硬盘“volume-0001”挂载至云服务器上后,还需要进行初始化,才可以正常使用。本节主要使用fdisk工具,将云硬盘划分2个MBR主分区,分别为40GiB、60GiB。
- 登录云服务器后,针对数据盘“/dev/vdb”划分2个主分区/dev/vdb1、/dev/vdb2。
- 查看/dev/vdb数据盘容量为100GiB。
- 开始新建第一个主分区/dev/vdb1。
n
p[root@ecs-test-0001 ~]# fdisk /dev/vdb 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. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x38717fc1. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1
“Partition type”:“p”表示主分区,“e”表示扩展分区。
针对第一个分区/dev/vdb1(40 GiB)设置起始磁柱值(2048)和截止磁柱值(83886079)。
First sector (2048-209715199, default 2048): 2048 Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):83886079 Partition 1 of type Linux and of size 40 GB is set
- 开始新建第二个主分区/dev/vdb2。
p
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 2): 2
针对第2个分区/dev/vdb2设置起始磁柱值(83886080)和截止磁柱值(209715199)。
First sector (83886080-209715199, default 83886080): 83886080 Last sector, +sectors or +size{K,M,G} (83886080-209715199, default 209715199):209715199 Partition 2 of type Linux and of size 60 GB is set
分区的起始磁柱值和截止磁柱值计算方法:
sectors值=容量/512 bytes,1GiB=1073741824 bytes
- First sector (2048-209715199, default 2048)是数据盘/dev/vdb(100 GiB)的磁柱范围
截止磁柱值=sectors值-1=(100 * 1073741824 / 512)-1=209715200-1=209715199
- 数据盘/dev/vdb的第1个分区/dev/vdb1(40 GiB):
起始磁柱值=2048(此处使用数据盘/dev/vdb的起始磁柱)
截止磁柱值=sectors值-1=(40 * 1073741824 / 512 )-1=83886079
- 数据盘/dev/vdb的第2个分区/dev/vdb2(60 GiB):
起始磁柱值 = /dev/vdb1的截止磁柱值 + 1 = 83886079+1 = 83886080
截止磁柱值 = 起始磁柱值 + sectors - 1 = 83886080+(60 * 1073741824 / 512 ) -1 = 209715199
- First sector (2048-209715199, default 2048)是数据盘/dev/vdb(100 GiB)的磁柱范围
- 查看新建分区大小、分区格式信息。
- 确定之前的分区操作是否正确。
p
Command (m for help): p Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x994727e5 Device Boot Start End Blocks Id System /dev/vdb1 2048 83886079 41942016 83 Linux /dev/vdb2 83886080 209715199 62914560 83 Linux Command (m for help):
如果之前分区操作有误,请输入“q”,按“Enter”,则会退出fdisk分区工具,之前的分区结果将不会被保留。此时,重新执行创建分区步骤1和步骤2即可。
- 确认完成后,将分区结果写入分区表中,并变更同步至操作系统。
partprobe
如果出现报错“-bash: partprobe: command not found”,则说明系统不识别该命令,需要执行“yum install -y parted”命令来安装该命令。安装成功后再执行上述命令。
- 再次确认分区格式为MBR。
p
[root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 42.9GB 42.9GB primary 2 42.9GB 107GB 64.4GB primary (parted) q [root@ecs-test-0001 ~]#
“Partition Table:msdos”表示磁盘分区格式为MBR
输入“q”,按“Enter”,退出parted模式。
- 确定之前的分区操作是否正确。
- 分别对分区/dev/vdb1(40GiB)和/dev/vdb2(60GiB)创建ext4文件系统。
mkfs -t ext4 /dev/vdb1
mkfs -t ext4 /dev/vdb2
创建文件系统格式需要等待一段时间,请确保看到如下回显后,再退出。
[root@ecs-test-0001 ~]# mkfs -t ext4 /dev/vdb1 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 2621440 inodes, 10485504 blocks 524275 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2157969408 320 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
执行“parted /dev/vdb”命令,再输入“p”,查看分区文件系统类型已经是ext4。
[root@ecs-test-0001 ~]# parted /dev/vdb GNU Parted 3.1 Using /dev/vdb Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 42.9GB 42.9GB primary ext4 2 42.9GB 107GB 64.4GB primary ext4 (parted) q [root@ecs-test-0001 ~]#
输入“q”,按“Enter”,退出parted模式。
- 新建目录,并将新建分区挂载至新建目录。
mkdir -p /mnt/sdc
mkdir -p /mnt/sdd
mount /dev/vdb1 /mnt/sdc
mount /dev/vdb2 /mnt/sdd
lsblk
查看挂载结果
[root@ecs-test-0001 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├vda1 253:1 0 40G 0 part / vdb 253:16 0 100G 0 disk ├vdb1 253:17 0 40G 0 part /mnt/sdc ├vdb2 253:18 0 60G 0 part /mnt/sdd
表示新建分区“/dev/vdb1”和“/dev/vdb2”已分别挂载至“/mnt/sdc”、“/mnt/sdd”。
- 使用磁盘分区的UUID来设置开机自动挂载磁盘分区。
- 重启后,挂载会失效,因此需要设置开机自动挂载磁盘分区,即在/etc/fstab文件中添加新建磁盘分区信息,启动开机自动挂载磁盘分区。
- 不建议采用在“/etc/fstab”文件中直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变(例如:/dev/vdb1可能会变成/dev/vdb2),可能会导致云服务器重启后不能正常运行。
- UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。
- 该操作不会影响弹性云服务器中的现有数据。
- 查询磁盘分区的UUID。
blkid /dev/vdb2
[root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" /dev/vdb2: UUID="0d6769k2-1745-9dsf-453d-hgd0b34267dj" TYPE="ext4"
磁盘分区“/dev/vdb1”和“/dev/vdb2”的UUID分别为0b3040e2-1367-4abb-841d-ddb0b92693df、0d6769k2-1745-9dsf-453d-hgd0b34267dj。
- 设置开机自动挂载磁盘分区
按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,添加下行内容:
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 UUID=0d6769k2-1745-9dsf-453d-hgd0b34267dj /mnt/sdd ext4 defaults 0 2
按“ESC”后,输入“:wq”,按“Enter”,保存设置并退出编辑器。
表3 参数说明 参数示例
说明
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df
磁盘分区的UUID
/mnt/sdc
磁盘分区的挂载目录
ext4
磁盘分区的文件系统格式
defaults
磁盘分区的挂载选项,此处通常设置为defaults即可
0
- Linux dump备份选项。
- 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。
- 1表示使用Linux dump备份。
2
- fsck选项,即开机时是否使用fsck检查磁盘。
- 2表示从挂载点为非根目录(/)的分区开始检验。
- 1表示从挂载点为根目录(/)的分区开始检验。
- 0表示不检验。
- Linux dump备份选项。
- 验证自动挂载功能已生效。
umount /dev/vdb1
umount /dev/vdb2
mount -a
则系统会将“/etc/fstab”文件所有内容重新加载。
查询文件系统挂载信息。
mount | grep /mnt/sdc
mount | grep /mnt/sdd
回显类似如下信息,说明自动挂载功能生效。
root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered) root@ecs-test-0001 ~]# mount | grep /mnt/sdd /dev/vdb2 on /mnt/sdd type ext4 (rw,relatime,data=ordered)
云硬盘初始化完成后,您可以返回云硬盘列表,当云硬盘状态显示为“正在使用”,表示云硬盘已经可以正常使用。