本文以
云服务器
的操作系统为“CentOS 7.4 64位”为例,采用Parted分区工具为数据盘设置分区。
MBR支持的磁盘最大容量为2 TiB,GPT最大支持的磁盘容量为18 EiB,因此当您初始化容量大于2 TiB的磁盘时,分区形式请采用GPT。
fdisk分区工具只适用于MBR分区,parted工具适用于MBR分区和GPT分区。关于磁盘分区形式的更多介绍,请参见
场景及磁盘分区形式介绍
。
不同
云服务器
的操作系统的格式化操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应的
云服务器
操作系统的产品文档。
首次使用磁盘时,如果您未参考本章节对磁盘执行初始化操作,主要包括创建分区和文件系统等操作,那么当后续扩容磁盘时,新增容量部分的磁盘可能无法正常使用。
划分分区并挂载磁盘
本操作以该场景为例,当
云服务器
挂载了一块新的数据盘时,采用parted分区工具为数据盘设置分区,分区形式设置为GPT,文件系统设为ext4格式,挂载在“/mnt/sdc”下,并设置开机启动自动挂载。
执行以下命令,查看新增数据盘。
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
表示当前的
云服务器
有两块磁盘,
“/dev/vda”
是系统盘,
“/dev/vdb”
是新增数据盘。
执行以下命令,进入parted分区工具,开始对新增数据盘执行分区操作。
parted
新增数据盘
命令示例:
parted /dev/vdb
回显类似如下信息:
[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”,按“Enter”,查看当前磁盘分区形式。
回显类似如下信息:
(parted) p
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 107GiB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
(parted)
“Partition Table”为“unknown”表示磁盘分区形式未知,新的数据盘还未设置分区形式。
输入以下命令,设置磁盘分区形式。
mklabel
磁盘分区形式
磁盘分区形式有MBR和GPT两种,以GPT为例:
mklabel gpt
MBR支持的云硬盘最大容量为2 TiB,GPT最大支持的云硬盘容量为18 EiB,当前数据盘支持的最大容量为32 TiB,如果您需要使用大于2 TiB的云硬盘容量,分区形式请采用GPT。
当云硬盘已经投入使用后,此时切换云硬盘分区形式时,云硬盘上的原有数据将会清除,因此请在云硬盘初始化时谨慎选择云硬盘分区形式。切换GPT分区形式前,请对云硬盘数据备份后,再格式化硬盘。
输入“p”,按“Enter”,设置分区形式后,再次查看磁盘分区形式。
回显类似如下信息:
(parted) mklabel gpt
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 107GiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
(parted)
“Partition Table”为“gpt”表示磁盘分区形式已设置为GPT。
输入“unit s”,按“Enter”,设置磁盘的计量单位为磁柱。
以整个磁盘创建一个分区为例,执行以下命令,按“Enter”。
mkpart
磁盘分区名称 起始磁柱值
截止磁柱
值
命令示例:
mkpart test 2048s 100%
“2048s”表示磁盘起始磁柱值,“100%”表示磁盘截止磁柱值,此处仅供参考,您可以根据业务需要自行规划磁盘分区数量及容量。
回显类似如下信息:
(parted) mkpart opt 2048s 100%
(parted)
输入“p”,按“Enter”,查看新建分区的详细信息。
回显类似如下信息:
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 209715200s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 2048s 209713151s 209711104s test
(parted)
输入“q”,按“Enter”,退出parted分区工具。
回显类似如下信息:
(parted) q
Information: You may need to update /etc/fstab.
“/etc/fstab”文件控制磁盘开机自动挂载,请先参考以下步骤为磁盘分区设置文件系统和挂载目录后,再根据文档指导更新“/etc/fstab”文件。
执行以下命令,查看磁盘分区信息。
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 100G 0 part
此时可以查看到新建分区“/dev/vdb1”
执行以下命令,将新建分区文件系统设为系统所需格式。
mkfs
-t
文件系统格式
/dev/vdb1
以设置文件系统为
“ext4”
为例:
mkfs -t ext4 /dev/vdb1
回显类似如下信息:
[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
6553600 inodes, 26213888 blocks
1310694 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2174746624
800 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, 11239424, 20480000, 23887872
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
格式化需要等待一段时间,请观察系统运行状态,不要退出。
不同文件系统支持的分区大小不同,请根据您的业务需求选择合适的文件系统。
执行以下命令,新建挂载目录。
mkdir
挂载目录
以新建挂载目录“/mnt/sdc”为例:
mkdir /mnt/sdc
Linux系统默认带有/mnt目录,如果创建失败,可能是/mnt被误删除了,可以执行命令
mkdir -p /mnt/sdc
创建。
执行以下命令,将新建分区挂载到
12
中创建的目录下。
mount
磁盘分区
挂载目录
以挂载新建分区“/dev/vdb1”至“/mnt/sdc”为例:
mount /dev/vdb1 /mnt/sdc
执行以下命令,查看挂载结果。
df -TH
回显类似如下信息:
[root@ecs-test-0001 ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 ext4 43G 1.9G 39G 5% /
devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs tmpfs 2.0G 9.0M 2.0G 1% /run
tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
tmpfs tmpfs 398M 0 398M 0% /run/user/0
/dev/vdb1 ext4 106G 63M 101G 1% /mnt/sdc
表示新建分区
“/dev/vdb1”
已挂载至
“/mnt/sdc”
。
云服务器
重启后,挂载会失效。您可以修改“/etc/fstab”文件,将新建磁盘分区设置为开机自动挂载,请参见
设置开机自动挂载磁盘分区
。
回显类似如下信息:
[root@ecs-test-0001 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"
记录下回显中磁盘分区
“/dev/vdb1”
的UUID,方便后续步骤使用。
执行以下命令,使用VI编辑器打开“fstab”文件。
vi /etc/fstab
按“i”,进入编辑模式。
将光标移至文件末尾,按“Enter”,添加如下内容。
UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2
以上内容仅为示例,具体请以实际情况为准,参数说明如下:
第一列为UUID,此处填写
1
中查询到的磁盘分区的UUID。
第二列为磁盘分区的挂载目录,可以通过
df -TH
命令查询。
第三列为磁盘分区的文件系统格式, 可以通过
df -TH
命令查询。
第四列为磁盘分区的挂载选项,此处通常设置为defaults即可。
第五列为Linux dump备份选项。
0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。
1表示使用Linux dump备份。
第六列为fsck选项,即开机时是否使用fsck检查磁盘。
0表示不检验。
挂载点为(/)根目录的分区,此处必须填写1。
根分区设置为1,其他分区只能从2开始,系统会按照数字从小到大依次检查下去。
mount
|
grep
/mnt/sdc
回显类似如下信息,说明自动挂载功能生效:
root@ecs-test-0001 ~]# mount | grep /mnt/sdc
/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)