1.操作场景

本文以云服务器的操作系统为“CentOS 7.4 64位”为例,采用fdisk分区工具为数据盘设置分区。

MBR支持的磁盘最大容量为2 TB,GPT最大支持的磁盘容量为18 EB,因此当您初始化容量大于2 TB的磁盘时,分区形式请采用GPT。对于Linux操作系统而言,当磁盘分区形式选用GPT时,fdisk分区工具将无法使用,需要采用parted工具。

不同云服务器的操作系统的格式化操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应的云服务器操作系统的产品文档。注意:

首次使用云硬盘时,如果您未参考本章节对云硬盘执行初始化操作,主要包括创建分区和文件系统等操作,那么当后续扩容云硬盘时,新增容量部分的磁盘可能无法正常使用。

2.前提条件

  • 已挂载数据盘至云服务器,且该数据盘未初始化。

3.划分分区并挂载磁盘

本操作以该场景为例,当云服务器挂载了一块新的数据盘时,使用fdisk分区工具将该数据盘设为主分区,分区形式默认设置为MBR,文件系统设为ext4格式,挂载在“/mnt/sdc”下,并设置开机启动自动挂载。

  1. 执行以下命令,查看新增数据盘。fdisk -l回显类似如下信息:
[root@ecs-test-0001 ~]# fdisk -l

Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 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: 0x000bcb4e Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83886079 41942016 83 Linux 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

表示当前的云服务器有两块磁盘,“/dev/vda”是系统盘,“/dev/vdb”是新增数据盘。

2.执行以下命令,进入fdisk分区工具,开始对新增数据盘执行分区操作。fdisk 新增数据盘以新挂载的数据盘“/dev/vdb”为例:fdisk /dev/vdb回显类似如下信息:

[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):

3.输入“n”,按“Enter”,开始新建分区。回显类似如下信息:

Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended

表示磁盘有两种分区类型:

  • “p”表示主分区。
  • “e”表示扩展分区。

说明: 

磁盘使用MBR分区形式,最多可以创建4个主分区,或者3个主分区加1个扩展分区,扩展分区不可以直接使用,需要划分成若干个逻辑分区才可以使用。

磁盘使用GPT分区形式时,没有主分区、扩展分区以及逻辑分区之分。

4. 以创建一个主要分区为例,输入“p”,按“Enter”,开始创建一个主分区。回显类似如下信息:

Select (default p): p
Partition number (1-4, default 1):

“Partition number”表示主分区编号,可以选择1-4。

5.以分区编号选择“1”为例,输入主分区编号“1”,按“Enter”。回显类似如下信息:

Partition number (1-4, default 1): 1
First sector (2048-209715199, default 2048):

“First sector”表示起始磁柱值,可以选择2048-209715199,默认为2048。

6. 以选择默认起始磁柱值2048为例,按“Enter”。

系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。回显类似如下信息:

First sector (2048-209715199, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):

“Last sector”表示截止磁柱值,可以选择2048-209715199,默认为209715199。

7.以选择默认截止磁柱值209715199为例,按“Enter”。

系统会自动提示分区可用空间的起始磁柱值和截止磁柱值,可以在该区间内自定义,或者使用默认值。起始磁柱值必须小于分区的截止磁柱值。

回显类似如下信息:

Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199):
Using default value 209715199
Partition 1 of type Linux and of size 100 GiB is set Command (m for help):

表示分区完成,即为数据盘新建了1个分区。

8.输入“p”,按“Enter”,查看新建分区的详细信息。回显类似如下信息:

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: 0x38717fc1 Device Boot Start End Blocks Id System
/dev/vdb1 2048 209715199 104856576 83 Linux Command (m for help):

表示新建分区“/dev/vdb1”的详细信息。

9. 输入“w”,按“Enter”,将分区结果写入分区表中。回显类似如下信息:

Command (m for help): w
The partition table has been altered! Calling ioctl() to re-read partition table.
Syncing disks.

表示分区创建完成。

说明: 

如果之前分区操作有误,请输入“q”,则会退出fdisk分区工具,之前的分区结果将不会被保留。

10.执行以下命令,将新的分区表变更同步至操作系统。

partprobe

11.执行以下命令,将新建分区文件系统设为系统所需格式。

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)
Fileexperience label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
6553600 inodes, 26214144 blocks
1310707 blocks (5.00%) reserved for the super user
First data block=0
Maximum fileexperience 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 fileexperience accounting information: done

格式化需要等待一段时间,请观察系统运行状态,不要退出。注意:

不同文件系统支持的分区大小不同,请根据您的业务需求选择合适的文件系统。

12.执行以下命令,新建挂载目录。

mkdir 挂载目录

以新建挂载目录“/mnt/sdc”为例:

mkdir /mnt/sdc

13.执行以下命令,将新建分区挂载到步骤12中创建的目录下。

mount 磁盘分区 挂载目录

以挂载新建分区“/dev/vdb1”至“/mnt/sdc”为例:

mount /dev/vdb1 /mnt/sdc

14.执行以下命令,查看挂载结果。

df -TH

回显类似如下信息:

[root@ecs-test-0001 ~]# df -TH
Fileexperience 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.1M 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”文件,将新建磁盘分区设置为开机自动挂载,请参见设置开机自动挂载磁盘分区

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

设置云服务器系统启动时自动挂载磁盘分区,不能采用在“/etc/fstab”直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启云服务器过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2。推荐使用UUID来配置自动挂载磁盘分区。

说明: 

UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。

1.执行如下命令,查询磁盘分区的UUID。

blkid 磁盘分区

以查询磁盘分区“/dev/vdb1”的UUID为例:

blkid /dev/vdb1

回显类似如下信息:

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

表示“/dev/vdb1”的UUID。

2.执行以下命令,使用VI编辑器打开“fstab”文件。

vi /etc/fstab

3.按“i”,进入编辑模式。

4. 将光标移至文件末尾,按“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开始,系统会按照数字从小到大依次检查下去。

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

6.执行以下步骤,验证自动挂载功能。

a.执行如下命令,卸载已挂载的分区。

umount 磁盘分区

命令示例:

umount /dev/vdb1

b.执行如下命令,将“/etc/fstab”文件所有内容重新加载。

mount -a

c.执行如下命令,查询文件系统挂载信息。

mount | grep 挂载目录

命令示例:

mount | grep /mnt/sdc

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

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

初始化Linux数据盘、磁盘分区、挂载磁盘(fdisk)的更多相关文章

  1. Linux crond任务调度(定时任务),Linux磁盘分区/挂载

    一.crond任务调度 1.基本语法 crontab [选项] -e : 编辑 crontab定时任务 -l : 查询crontab -r : 删除当前用户所有的crontab任务 例子: 每分钟执行 ...

  2. linux数据盘分区以及格式化

    首先切换到root账户下  sudo -i 手动格式化 请根据以下步骤对数据盘进行分区以及格式化,并挂载分区使数据盘可用. 注:执行以下命令时,请注意修改数据盘符,可以使用”fdisk -l”查看盘符 ...

  3. 阿里云Linux格式化数据盘,分区并挂载一个文件系统

    阿里云一块全新的数据盘挂载到ECS实例后,您必须创建并挂载至少一个文件系统.本示例使用I/O优化实例,操作系统为CentOS 7.6,为一块新的300GiB数据盘(设备名为/dev/vdb)创建一个M ...

  4. aix磁盘分区挂载问题

    aix在进行磁盘分区挂载时,可能会报错

  5. linux 数据盘和系统盘的查看

    系统盘就像linux的c盘,使用df -l命令查看 如下所示: 可以看到根路径 / 都是位于系统盘.而/root,/home,/usr就如同c盘下的c:\windows,c:\usr这些目录 如果单独 ...

  6. Linux下磁盘分区挂载

    一般你去买vps都会看到介绍说硬盘多少G  比如 80G 但是你进入系统df -h的时候发现怎么只有10G呢, 其实这10G是用来装系统的和一些常用服务软件的  不是给你放网站数据的 那50G硬盘在哪 ...

  7. Linux如何根据UUID自动挂载磁盘分区

    一般服务器都有多个硬盘分区,在重启后,这些分区的逻辑位置加载时可能会发生变动,如果使用传统的设备名称(例如:/dev/sda)方式挂载磁盘,就可能因为磁盘顺序变化而造成混乱. Linux环境中每个Bl ...

  8. Linux 磁盘 分区 挂载点的理解

    在Linux中一切皆文件: 虚拟文件系统(Virtual File System, 简称 VFS), 是 Linux 内核中的一个软件层,用于给用户空间的程序提供文件系统接口:同时,它也提供了内核中的 ...

  9. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

随机推荐

  1. 『学了就忘』Linux基础命令 — 27、搜索操作相关命令

    目录 1.whereis命令 2.which命令 3.locate命令 1.whereis命令 whereis是搜索系统命令的命令,也就是说,whereis命令不能搜索普通文件,而只能搜索系统命令. ...

  2. 字符编码之间的转换 utf-8 , gbk等,(解决中文字符串乱码)

    目录 1.背景. 2.编码的理解 3.编码之间的相互转化 4. str类型说明 5. 可以使用的编码类型 6.参考文章 1.背景 Python中与其他程序进行交互时,如果存在字符串交互,特别是字符串中 ...

  3. 痞子衡嵌入式:实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率. 上一篇文章 <聊聊i.MXRT1xxx上的普通GPIO与高速GP ...

  4. 【JAVA】编程(2)---时间管理

    作业要求: 定义一个名为 MyTime 的类,其中私有属性包括天数,时,分,秒:定义一个可以初始化时,分,秒的构造方法,并对初始化数值加以限定,以防出现bug:定义一个方法,可以把第几天,时,分,秒打 ...

  5. 记一次 .NET 某电商无货源后端服务 死锁分析

    一:背景 1. 讲故事 这个月初,星球里的一位朋友找到我,说他的程序出现了死锁,怀疑是自己的某些写法导致mongodb出现了如此尴尬的情况,截图如下: 说实话,看过这么多dump,还是第一次遇到真实的 ...

  6. python实现色彩空间转换

    目录: (一)调用转换函数实现图像色彩空间转换------ cv2.cvtColor函数 (二)色彩空间转换,利用inrange函数过滤视频中的颜色,实现跟踪某一颜色 正文: (一)调用转换函数实现图 ...

  7. 关于Java内存泄漏的介绍

    翻译自这篇文章 Java一个最显著的优势就是它的内存管理.你只需要简单地创建对象,而Java垃圾收集器会负责内存的分配与释放.不过,事情并没有那么简单,因为在Java应用中时常会出现内存泄漏. 1. ...

  8. [noi1774]array

    容易想到树套树,但数据范围太大,会超时 考虑平衡树的作用,就是将这个区间内的所有数排序,所以可以离线+归并来处理,预处理复杂度$o(n\log n)$,然后考虑维护:1.删除:2.询问 删除操作维护可 ...

  9. [bzoj1115]石子游戏

    考虑令$bi=ai-a_{i-1}$,那么每一次操作相当于让$bi-=x$且$b_{i+1}+=x$,相当于从i向i+1移动x个石子,那么容易发现偶数堆没有用处,因为另一方可以用同样的操作,因此问题相 ...

  10. git新手配置(windows环境)

    windows环境,初步了解git是个什么东西,使用过svn相关软件最佳,否则可以先补一下git的相关概念和用处,相关教程:https://www.liaoxuefeng.com/wiki/89604 ...