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. JMeter学习记录收藏

    1.如何进行一个简单的性能测试 2.JMeter各种功能名词解释,比较全 3.聚合报告分析 4.CSV文件参数化,名词解释 5.JMeter快捷键

  2. svg的animate动画动态加载删除遇到删除animate后再次加载的animate动画没有效果问题

    svg上有多个圆圈,当选中特定圆圈后给其加上animate动画效果,并把其他圆圈的animate效果去除. 第一次选择一个点实现动画效果完全达到效果,因为是第一次所以不需要把其他圆圈的animate子 ...

  3. matlab与python scipy.signal中 freqs freqz 中w,什么时候是角频率,什么时候是真实的工程中使用的采样频率Hz,如何转化

    matlab与python scipy.signal中的freqs,freqz频率分析函数,输出的w,有时候是角频率,有时候是真实频率,容易搞混,这里对比一下. 0.  精要总结: 1) freqs: ...

  4. Linux&c 文件操作,线程进程控制,网络编程,简单知识点梳理

    一:文件操作 在linux下,一切皆文件,目录是文件,称为目录文件,内容是该目录的目录项(但是目录只有内核可以编辑,超级用户也不可以编辑),设备也是设备文件,在/dev存放的就是一些设备文件,linu ...

  5. ESP32-IDF安装并在VSCode上编译Hello World

    ESP32-IDF安装 准备工作 安装python 3 安装方法参考链接:https://blog.csdn.net/hg_qry/article/details/106415252 安装git 安装 ...

  6. [后端及服务器][WSL2(Ubuntu)+Docker]从零开始在WSL中安装Docker

    目录 简介 WSL 安装 开启虚拟化(BIOS) 检查系统版本 安装WSL 老版本安装详情 简介 想花三篇文章写下从Windows(WSL)上开启Docker部署php/node/vue/html等项 ...

  7. Sqlserver中判断表是否存在

    在sqlserver(应该说在目前所有数据库产品)中创建一个资源如表,视图,存储过程中都要判断与创建的资源是否已经存在  在sqlserver中一般可通过查询sys.objects系统表来得知结果,不 ...

  8. 问题 A: 大数阶乘

    题目描述 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它? 输入 输入一个整数m(0<m<=5000) 输出 输出m的阶乘,并在输出结束之后输入一个换行 ...

  9. OAuth 2.0 扩展协议之 PKCE

    前言 阅读本文前需要了解 OAuth 2.0 授权协议的相关内容, 可以参考我的上一篇文章 OAuth 2.0 的探险之旅. PKCE 全称是 Proof Key for Code Exchange, ...

  10. Mac 下安装 MySQL 步骤

    安装 MySQL Mac 下安装MySQL推荐去官网下载dmg 版本的,我使用的版本是5.7.30. 如上图所示. 之后就是傻瓜式一键狂点不过需要注意的是,不要关闭下图所示的框框!不要关闭下图所示的框 ...