您现在的位置:新疆网站建设-新疆网站制作-新疆二域设计>> 帮助中心>服务器相关>> 初始化Linux数据盘(容量大于2TiB)

初始化Linux数据盘(容量大于2TiB)

作者:未知  来源:华为云  发布时间:2025-08-16 12:03:52  点击数:0

操作场景

新购买的云硬盘在挂载至云服务器后,还需要进行初始化,即格式化云硬盘,之后才可以正常使用。

云硬盘容量大于2TiB时,只能使用parted工具为磁盘新建GPT分区。不同云服务器的操作系统的初始化操作可能不同,请根据您的实际环境进行操作。


前提条件

云硬盘已挂载到云服务器上,挂载云硬盘参见挂载云硬盘。


约束与限制

从数据源创建的云硬盘无需初始化。该云硬盘在初始状态就具有数据源中的数据,初始化有丢失数据的风险。如果需要重新初始化,建议先备份云硬盘中的数据:使用CBR备份请参考备份云硬盘,使用快照备份请参考创建云硬盘快照。

初始化云硬盘不会删除云硬盘快照,初始化后仍可以使用快照回滚数据至原云硬盘。


使用Parted工具初始化数据盘

初始化主要操作步骤为创建分区和文件系统,挂载分区,设置开启自动挂载。

示例说明:使用parted工具,针对“/dev/vdb”数据盘划分1个GPT分区。


1:登录云服务器。

2:创建分区:针对数据盘“/dev/vdb”划分1个分区/dev/vdb1。

a.查看/dev/vdb数据盘容量为3TiB。

lsblk

[root@ecs-centos76 ~]# 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   3T  0 disk


表示当前有两块云硬盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘,有3T还未分区。

  1. 开始新建分区,您需要将命令中dev/vdb替换成您的磁盘名称。

    parted /dev/vdb

    p
[root@ecs-centos74 ~]# parted /dev/vdb
GNU Parted 3.1Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Error: /dev/vdb: unrecognised disk label
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 3299GB
Sector size (logical/physical): 512B/512BPartition Table: unknownDisk Flags:
(parted)

“Partition Table”:“unknown”表示磁盘分区格式未知,新的数据盘还未设置分区格式。


说明:

如果出现报错“-bash: parted: command not found”,则说明系统不识别该命令,需要执行“yum install -y parted”命令来安装该命令。安装成功后再执行上述命令。


c.针对分区设置分区格式为GPT。

mklabel gpt

unit s

p

(parted) mklabel gpt
(parted) unit s
(parted) p
Model: Virtio Block Device (virtblk)Disk /dev/vdb: 6442450944s
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
 
Number  Start  End  Size  File system  Name  Flags
 (parted)


说明:

  • mklabel 磁盘分区形式:如果磁盘容量小于等于2 TiB,您想使用parted工具新建MBR分区,分区命令为:mklabel msdos

  • unit s:设置磁盘的计量单位为磁柱

  • 切换云硬盘分区格式,则该云硬盘上的数据将会被清除,请您在初始化时谨慎选择云硬盘的分区格式。

  • 云硬盘初始化时设置的磁盘分区格式(MBR或GPT),后续在该云硬盘下创建的所有分区的格式均和首次初始化时设置的分区格式一致,因此如果您创建第2个及后续分区时,无需执行该步骤。


d.设置分区名称为/dev/vdb1并且容量全都划分给该分区。

mkpart /dev/vdb1 2048s 100%

p


说明:

mkpart 磁盘分区名称 起始磁柱值 截止磁柱值:“2048s”表示磁盘起始磁柱值,“100%”为磁盘截止磁柱值,表示将磁盘100%容量给到/dev/vdb1分区。

如果您需要将数据盘容量划分至两个及以上的分区,分区的起始磁柱值和截止磁柱值计算方法跟2中的相同。

(parted) mkpart /dev/vdb1 2048s 100%
(parted) p
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 6442450944s
Sector size (logical/physical): 512B
/512BPartition Table: gpt
Disk Flags:
 
Number  Start        End          Size         File system  Name          Flags 1      2048s        6442448895s  6442446848s               /dev/vdb1


输入“q”,按“Enter”,执行“lsblk”再次查看新建分区“/dev/vdb1”。

[root@ecs-centos74 ~]# 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     3T  0 disk
└─vdb1 253:17   0     3T  0 part

3:创建文件系统。

  1. 为“/dev/vdb1”创建ext4文件系统

    mkfs -t ext4 /dev/vdb1

说明:

mkfs -t 文件系统格式 磁盘分区名:设置xfs格式文件系统命令为mkfs -t xfs 磁盘分区名,设置btrfs格式文件系统命令为mkfs -t btrfs 磁盘分区名

创建文件系统格式需要等待一段时间,请确保看到如下回显后,再退出。

[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 blocks201326592 inodes, 805305856 blocks40265292 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=295279001624576 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,        102400000, 214990848, 512000000, 550731776, 644972544Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
[root@ecs-test-0001 ~]#


b.创建完成后可通过以下命令查看文件系统类型。

parted /dev/vdb

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: 3299GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End      Size     File system  Name        Flags 1      1049kB  3299GB   3299GB   ext4         /dev/vdb1           

(parted) q
[root@ecs-test-0001 ~]#


File system“ext4”代表创建成功。

输入“q”,按“Enter”,退出parted模式。


4:新建目录,并将新建分区挂载至新建目录。


mkdir -p /mnt/sdc

mount /dev/vdb1 /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   3T 0 disk
├vdb1 253:17   0   3T 0 part /mnt/sdc

表示新建分区“/dev/vdb1”已挂载至“/mnt/sdc”。



5:(可选)使用磁盘分区的UUID来设置开机自动挂载磁盘分区。

UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。重启后,挂载会失效,因此需要设置开机自动挂载磁盘分区,即在/etc/fstab文件中添加新建磁盘分区信息,启动开机自动挂载磁盘分区。


说明:

不建议采用在“/etc/fstab”文件中直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变(例如:/dev/vdb1可能会变成/dev/vdb2),可能会导致云服务器重启后不能正常运行。

该操作不会影响弹性云服务器中的现有数据。


a.查询磁盘分区的UUID。

blkid /dev/vdb1

[root@ecs-test-0001 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4"

下一步会使用查询到的UUID,请做好记录:示例磁盘分区“/dev/vdb1”的UUID:0b3040e2-1367-4abb-841d-ddb0b92693df。


b.设置开机自动挂载磁盘分区。

vi /etc/fstab

按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,添加下行内容:

UUID=0b3040e2-1367-4abb-841d-ddb0b92693df    /mnt/sdc     ext4    defaults     0    2


按“ESC”后,输入“:wq”,按“Enter”,保存设置并退出编辑器。


6:(可选)验证自动挂载功能已生效。

您可以重启云服务器验证自动挂载功能是否生效,也可以使用以下方式模拟自动挂载。


  1. 为了验证系统是否会执行自动挂载操作,请先卸载已挂载的分区

umount /dev/vdb1

  1. 将“/etc/fstab”文件所有内容重新加载。“/etc/fstab”是一个静态文件系统信息表,包含了系统启动时需要自动挂载的文件系统的列表。

mount -a

  1. 查询文件系统挂载信息。

mount | grep /mnt/sdc

回显类似如下信息,说明自动挂载功能生效:

root@ecs-test-0001 ~]# mount | grep /mnt/sdc
/dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)




关键字: 初始化 Linux 数据盘

上一篇:初始化Linux数据盘(容量小于等于2TiB)
下一篇:Linux 下 zip 文件解压乱码如何解决

版权所有 新疆二域信息技术有限公司 All Rights Reserved 地址:乌鲁木齐市北京南路高新街217号盈科广场B座615 备案号:新ICP备14003571号-6 新公网安备 65010402000050号