本文介绍在Linux操作系统下分区格式化云盘的操作步骤。
已创建数据盘并将数据盘挂载至ECS实例,具体步骤,请参见创建云盘和挂载云盘。
分区格式化数据盘会将数据全部清空,请确保数据盘中没有数据或已备份重要数据。
大于等于2TiB的场景下,只能采用GPT分区形式。
本文以CentOS 7.6版本操作系统为例,当云服务器挂载了一块新的数据盘时,使用fdisk分区工具将该数据盘设为主分区,分区形式默认设置为MBR,文件系统设为ext4格式,挂载在/mnt/sdc
下。不同操作系统的分区格式化操作可能不同,本文仅供参考。
执行以下命令,查看新增数据盘。
fdisk -l
回显类似如下信息:
表示当前的云服务器有两块磁盘,/dev/vda
是系统盘,/dev/vdc
是新增数据盘。
执行fdisk _新增数据盘_
命令,进入fdisk分区工具,开始对新增数据盘执行分区操作。
以新挂载的数据盘/dev/vdc
为例:
fdisk /dev/vdc
回显类似如下信息:
[root@i-IVwlb**** ~]# fdisk /dev/vdc 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 0xff816a4b. Command (m for help):
输入n
,按“Enter”,开始新建分区。
回显类似如下信息:
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended
表示磁盘有两种分区类型:
说明
磁盘使用MBR分区形式,最多可以创建4个主分区,或者3个主分区加1个扩展分区,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。
磁盘使用GPT分区形式时,没有主分区、扩展分区以及逻辑分区之分。
以创建一个主要分区为例,输入p
,按“Enter”,开始创建一个主分区。
回显类似如下信息:
Select (default p): p Partition number (1-4, default 1):
“Partition number”表示主分区编号,可以选择1-4。
以分区编号选择“1”为例,输入主分区编号1
,按“Enter”。
回显类似如下信息:
Partition number (1-4, default 1): 1 First sector (2048-41943039, default 2048):
“First sector”表示起始磁柱值,可以选择2048-209715199,默认为2048。
以选择默认磁柱值为2050
为例,按“Enter”。系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。
回显类似如下信息:
First sector (2048-41943039, default 2048): 2050 Last sector, +sectors or +size{K,M,G} (2050-41943039, default 41943039):
“Last sector”表示截止磁柱值,可以选择2050-41943039,默认为41943039。
以选择默认截止磁柱值41943039为例,按“Enter”。系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。
回显类似如下信息:
Last sector, +sectors or +size{K,M,G} (2050-41943039, default 41943039): Using default value 41943039 Partition 1 of type Linux and of size 20 GiB is set Command (m for help):
表示分区完成,即为数据盘新建了1个分区。
输入p
,按“Enter”,查看新建分区的详细信息。
回显类似如下信息:
Disk /dev/vdc: 21.5 GB, 21474836480 bytes, 41943040 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: 0xff816a4b Device Boot Start End Blocks Id System /dev/vdc1 2050 41943039 20970495 83 Linux Command (m for help):
表示新建分区/dev/vdc1
的详细信息。
输入w
,按“Enter”,将分区结果写入分区表中。
回显类似如下信息,表示分区创建完成:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
说明
如果之前分区操作有误,请输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留。
执行以下命令,将新的分区表变更同步至操作系统。
partprobe
执行以下命令,将新建分区文件系统设为系统所需格式。
mkfs -t _文件系统格式_ /dev/vdc1
以设置文件系统为“ext4”为例:
mkfs -t ext4 /dev/vdc1
回显类似如下信息:
[root@i-IVwlb**** ~]# mkfs -t ext4 /dev/vdc1 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 1310720 inodes, 5242623 blocks 262131 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2153775104 160 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 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
执行mount _磁盘分区_ _挂载目录_
命令,将新建分区挂载到步骤13中创建的目录下。
以挂载新建分区/dev/vdc1
至/mnt/sdc
为例:
mount /dev/vdc1 /mnt/sdc
执行df -Th
命令,查看挂载结果。
回显类似如下信息:
[root@i-IVwlb**** ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/vda1 ext4 39G 1.7G 38G 5% / devtmpfs devtmpfs 4.1G 0 4.1G 0% /dev tmpfs tmpfs 4.2G 0 4.2G 0% /dev/shm tmpfs tmpfs 4.2G 9.1M 4.1G 1% /run tmpfs tmpfs 4.2G 0 4.2G 0% /sys/fs/cgroup tmpfs tmpfs 821M 0 821M 0% /run/user/0 /dev/vdb xfs 21G 34M 21G 1% /data /dev/vdc1 ext4 21G 47M 20G 1% /mnt/sdc
表示新建分区/dev/vdc1
已挂载至/mnt/sdc
。
说明
云服务器重启后,挂载会失效,您可以修改/etc/fstab
文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区。
本文以CentOS 7.6版本操作系统为例,当云服务器挂载了一块新的数据盘时,采用parted分区工具为数据盘设置分区,分区形式设置为GPT,文件系统设为ext4格式,挂载在/mnt/sdc
下。
在Linux操作系统上格式化云盘前,请确保您的Linux实例上已经安装了Parted工具和e2fsprogs工具。您可以参考以下命令安装相应工具:
yum install -y parted
yum install -y e2fsprogs
注意
rpm -qa | grep e2fsprogs
命令查看e2fsprogs工具包的版本信息。执行以下命令,查看新增数据盘。
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: 107GB Sector size (logical/physical): 512B/512B Partition Table: unknown Disk Flags: (parted)
“Partition Table”为“unknown”表示磁盘分区形式未知,新的数据盘还未设置分区形式。
输入mklabel _磁盘分区形式_
命令,设置磁盘分区形式。
磁盘分区形式有MBR和GPT两种,以GPT为例:
mklabel gpt
说明
MBR支持的磁盘最大容量为2TiB,GPT最大支持的磁盘容量为18EB,当前数据盘支持的最大容量为32TiB,如果您需要使用大于2TiB的磁盘容量,分区形式请采用GPT。
当磁盘已经投入使用后,此时切换磁盘分区形式时,磁盘上的原有数据将会清除,因此请在磁盘初始化时谨慎选择磁盘分区形式。
输入p
,按“Enter”,设置分区形式后,再次查看磁盘分区形式。
回显类似如下信息:
(parted) mklabel gpt (parted) p Model: Virtio Block Device (virtblk) Disk /dev/vdb: 107GB 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”,设置磁盘的计量单位为磁柱。
以整个磁盘创建一个分区为例,执行mkpart _磁盘分区名称 起始磁柱值_ _截止磁柱值_
命令,按“Enter”。
命令示例:
mkpart test 2048s 100%
“2048s”表示磁盘起始磁柱值,“100%”表示磁盘截止磁柱值,此处仅供参考,您可以根据业务需要自行规划磁盘分区数量及容量。
输入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
执行mount _磁盘分区_ _挂载目录_
命令,将新建分区挂载到步骤12中创建的目录下。
以挂载新建分区/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 39G 1.9G 37G 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 98G 63M 97G 1% /mnt/sdc
表示新建分区/dev/vdb1
已挂载至/mnt/sdc
。
说明
云服务器重启后,挂载会失效。您可以修改/etc/fstab
文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区。
本章节介绍将e2fsprogs工具包升级至1.42及以上版本的操作步骤。
执行以下命令,检查e2fsprogs工具包版本。
rpm -qa | grep e2fsprogs
如果您的版本低于1.42,请参考以下步骤安装软件。
执行以下命令,下载1.42.8版本的e2fsprogs。软件包的详细下载地址,请参见e2fsprogs。
wget https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/v1.42.8/e2fsprogs-1.42.8.tar.gz
执行以下命令,解压安装包。
tar xvzf e2fsprogs-1.42.8.tar.gz
执行以下命令,进入安装包目录。
cd e2fsprogs-1.42.8
执行以下命令,生成Makefile文件。
./configure
执行以下命令,编译e2fsprogs。
make
执行以下命令,安装e2fsprogs工具。
make install
安装完成后,执行以下命令查看是否成功更新版本。
rpm -qa | grep e2fsprogs