如果您要分区格式化一块大于2 TiB的作数据盘用的云盘(本文统一称为 大容量数据盘,小于2 TiB的数据盘统称为 小容量数据盘),您必须采用GPT分区形式。本文档描述了如何在不同的操作系统里分区格式化一块大容量数据盘。

注意事项

分区格式化大容量数据盘时,需要注意以下事项:

  • 大容量数据盘支持的分区工具和文件系统如下表所示。

     
    操作系统 分区工具 文件系统
    Linux parted ext4或xfs
    Windows 磁盘管理 NTFS

Windows里分区格式化空的大容量数据盘

这部分以Windows Server 2008 R2 64位系统为例,说明如何在Windows实例中分区格式化一块大容量数据盘。假设需要处理的数据盘是一个4 TiB的空盘。

前提条件

数据盘已经挂载到实例上。

操作步骤

按以下步骤分区格式化一块大容量数据盘:

  1. 远程连接Windows实例。
  2. 在任务栏里,单击  图标。
  3. 在 服务器管理器 的左侧导航栏里,选择 存储 > 磁盘管理。
  4. 找到需要分区格式化的磁盘(本示例中为 磁盘 4)。磁盘状态显示为 脱机。
  5. 右击磁盘 4周边空白处,单击 联机。

    联机后,磁盘 4的状态显示为 没有初始化。

  6. 右键单击磁盘 4周边的空白区,在弹出菜单中,选择 初始化磁盘。
  7. 在 初始化磁盘 对话框里,选择 磁盘 4,并选择磁盘分区形式为 GPT。
  8. 在 磁盘管理 窗口,右键单击磁盘 4的 未分配 区域,选择 新建简单卷,创建一个4 TiB的NTFS格式的卷。
  9. 在 新建简单卷向导 中,完成以下操作:
    1. 单击 下一步。
    2. 指定卷大小:指定简单卷大小。如果您只要创建一个主区,使用默认值。单击 下一步。您也可以把 磁盘 4 分成多个分区来使用。
       
      说明 NTFS卷上的最大尺寸,理论上,NTFS的最大卷包含2 64-1个簇。实际上,WinXP Pro中,NTFS卷的最大限制是2 32-1个簇。举例来说,如果是64 KiB的簇,那NTFS卷的最大尺寸就是约256 TiB 。如果选择4 KiB的簇,那NTFS卷的最大尺寸就是约16 TiB。NTFS会根据磁盘的容量来自动选择簇的大小。
    3. 分配驱动器号和路径:选择一个驱动器号(即盘符),如本示例中选择G。单击 下一步。
    4. 格式化分区:选择格式化设置,包括文件系统、分配单元大小和卷标,确认是否 执行快速格式化 和 启用文件和文件夹压缩。这里仅选择 执行快速格式化。单击 下一步。
    5. 开始创建新简单卷。当向导对话框里显示已经完成新简单卷的创建时,单击 完成,关闭 新建简单卷向导。
格式化分区完成后, 磁盘管理 中 磁盘 4 的状态如下截图所示。

Windows里分区格式化由小容量数据盘的快照创建的大容量数据盘

如果您使用一个小容量数据盘的快照创建了一块大容量数据盘,您需要先将数据盘的分区形式从MBR转为GPT,再格式化数据盘,原来快照的数据将无法保存,所以我们不建议您使用小容量数据盘的快照创建大容量数据盘。

如果您确实创建了这样的大容量数据盘,按以下步骤分区格式化这块数据盘。本示例中的操作系统是Windows Server 2012 R2 64位,假设需要处理的数据盘容量为3 TiB。

前提条件

数据盘已经 挂载 到实例上。

操作步骤

按以下步骤分区格式化一块大容量数据盘:

  1. 远程连接Windows实例。
  2. 在Windows Server桌面,右键单击 开始 图标,选择 磁盘管理。

    未格式化分区的数据盘(如本示例中的磁盘 2)处于 脱机 状态。

  3. 右键单击磁盘 2周边的空白区,在弹出菜单中,选择 脱机。
  4. 右键单击一个简单卷,在弹出菜单中,选择 删除卷。
  5. 右键单击磁盘 2周边的空白区,在弹出菜单中,选择 转换成GPT磁盘。
  6. 在 磁盘管理 窗口,右键单击磁盘 2的 未分配 区域,选择 新建简单卷,创建一个3 TiB的NTFS格式的卷。
  7. 在 新建简单卷向导 中,完成以下操作:
    1. 单击 下一步。
    2. 指定卷大小:指定简单卷大小。如果您只要创建一个主区,使用默认值。单击 下一步。您也可以把 磁盘 2 分成多个分区来使用。
       
      说明 NTFS卷上的最大尺寸,理论上,NTFS的最大卷包含2 64-1个簇。实际上,WinXP Pro中,NTFS卷的最大限制是2 32-1个簇。举例来说,如果是64 KiB的簇,那NTFS卷的最大尺寸就是约256 TiB。如果选择4 KiB的簇,那NTFS卷的最大尺寸就是约16 TiB。NTFS会根据磁盘的容量来自动选择簇的大小。

    3. 分配驱动器号和路径:选择一个驱动器号(即盘符),如本示例中选择E。单击 下一步。
    4. 格式化分区:选择格式化设置,包括文件系统、分配单元大小和卷标,确认是否 执行快速格式化 和 启用文件和文件夹压缩。这里仅选择 执行快速格式化。单击 下一步。
    5. 开始创建新简单卷。当向导对话框里显示已经完成新简单卷的创建时,单击 完成,关闭 新建简单卷向导。
格式化分区完成后, 磁盘管理 中 磁盘 4 的状态如下截图所示。

Linux里分区格式化大容量数据盘

对于Linux实例上挂载的大容量数据盘,采用GPT分区形式。Linux系统里,大容量数据盘一般采用xfs或者ext4文件系统。

这部分以CentOS 7.4 64位系统为例,说明如何在Linux实例上使用 parted 和 e2fsprogs 工具分区并格式化一个大容量数据盘。假设需要处理的数据盘是一个新建的3 TiB的空盘,设备名为 /dev/vdd。

前提条件

您的Linux实例上已经安装了 parted。如果未安装,运行命令 yum install -y parted

您的Linux实例上已经安装了 e2fsprogs。如果未安装,运行命令 yum install -y e2fsprogs

数据盘已经挂载到实例上。

操作步骤

按以下步骤分区格式化大容量数据盘,并挂载文件系统:

  1. 运行命令 fdisk -l 查看数据盘是否存在。返回结果应包括如下所示的信息。如果没有,表示您未挂载数据盘。

     

    Disk /dev/vdd: 3221.2 GB, 3221225472000 bytes, 6291456000 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
  2. 运行命令 parted /dev/vdd 开始分区:
    1. 运行命令 mklabel gpt,将MBR分区形式转为GPT分区形式。
    2. 运行命令 mkpart primary ext4 <StartSector> <EndSector>,划分一个采用ext4文件系统的主分区,并设置分区的开始位置和结束位置。如果一个数据盘只分一个分区,则运行命令 mkpart primary ext4 0 -1
       
      说明 您也可以使用xfs文件系统。
    3. 运行命令 print,查看分区表。
       

      (parted) mkpart primary ext4 0 -1
      Warning: The resulting partition is not properly aligned for best performance.
      Ignore/Cancel? ignore
      (parted) print
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdd: 3221GB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      Number Start End Size File system Name Flags
      1 17.4kB 3221GB 3221GB primary
    4. 运行命令 quit,退出 parted 操作。
  3. 运行命令 partprobe,使系统重读分区表。
  4. 运行以下命令,创建一个ext4文件系统,并使 /dev/vdd1 分区使用ext4。
     
    mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize /dev/vdd1
     
    说明

    • 如果您要关闭ext4文件系统的lazy init功能,避免该功能对数据盘I/O性能的影响,可以参考 附录2:关闭lazy init功能
    • 如果数据盘的容量为16 TiB,需要使用指定版本的e2fsprogs工具包格式化,请参考 附录1:升级e2fsprogs工具包
    • 如果您要创建一个xfs文件系统,运行命令 mkfs -t xfs /dev/vdd1
  5. 运行命令 mkdir /test,创建一个名为 /test 的挂载点。
  6. 运行命令 mount /dev/vdd1 /test,将分区 /dev/vdd1 挂载到 /test。
  7. 运行命令 df -h,查看目前磁盘空间和使用情况。

    如果返回结果里出现新建文件系统的信息,说明挂载成功,可以使用新的文件系统了。挂载完成后,不需要重启实例即可开始使用新的文件系统。

     [root@izXXXXz ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 40G 6.4G 31G 18% /
    devtmpfs 487M 0 487M 0% /dev
    tmpfs 497M 0 497M 0% /dev/shm
    tmpfs 497M 364K 496M 1% /run
    tmpfs 497M 0 497M 0% /sys/fs/cgroup
    tmpfs 100M 0 100M 0% /run/user/0
    /dev/vdd1 2.9T 89M 2.8T 1% /test
  8. (可选)向 /etc/fstab 写入新分区信息,启动开机自动挂载分区。
    1. (可选)运行命令 cp /etc/fstab /etc/fstab.bak,备份 etc/fstab。
    2. 运行命令 echo /dev/vdd1 /test ext4 defaults 0 0 >> /etc/fstab,向 /etc/fstab 里写入新分区信息。
    3. 运行命令 cat /etc/fstab,查看 /etc/fstab 的信息。

      如果返回结果里出现了写入的新分区信息,说明写入成功。

至此,您已经成功分区并格式化了一个3 TiB数据盘。

附录1:升级e2fsprogs工具包

如果数据盘容量为16 TiB,您需要使用1.42及以上版本的e2fsprogs工具包完成ext4文件系统格式化。如果e2fsprogs版本太低(比如:e2fsprogs 1.41.11等),会出现如下错误信息:

 mkfs.ext4: Size of device /dev/vdd too big to be expressed in 32 bits using a blocksize of 4096.

您需要按以下方式安装高版本的e2fsprogs,如本示例中使用的1.42.8:

  1. 运行命令 rpm -qa | grep e2fsprogs 检查e2fsprogs当前的版本。

    如果当前版本低于1.42,按以下步骤安装软件。

  2. 运行以下命令下载 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
  3. 依次运行以下命令,编译高版本的工具。
     tar xvzf e2fsprogs-1.42.8.tar.gz
    cd e2fsprogs-1.42.8
    ./configure
    make
    make install
  4. 运行命令 rpm -qa | grep e2fsprogs 检查是否成功安装高版本软件。

附录2:关闭lazy init功能

ext4文件系统的lazy init功能,默认开启。该功能开启时,系统后台会发起一个线程持续地初始化ext4文件系统的metadata,从而延迟metadata初始化。所以在刚格式化数据盘的一段时间内IOPS会受到影响,比如,数据盘的IOPS性能测试的数据会明显偏低。

如果要在格式化以后马上测试数据盘性能,您需要运行以下命令在格式化文件系统时关闭lazy_init功能。

 mke2fs -O 64bit,has_journal,extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize -E lazy_itable_init=0,lazy_journal_init=0   /dev/vdd1

关闭lazy init功能后,格式化的时间会大幅度地延长,格式化32 TiB的数据盘可能需要10-30分钟。

请您根据自身的需要选择是否使用lazy init功能。

分区格式化大于2 TiB磁盘的更多相关文章

  1. Linux下快速分区格式化大于2T磁盘存储

    在生产环境中,我们会遇到分区大于2T的磁盘(比如:添加一个10TB的存储),由于MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表,而我们在做raid时会划分多个VD来进行装系统,但系 ...

  2. linux windows 格式化一块大于2 TiB硬盘

    转自:https://help.aliyun.com/document_detail/34377.html?spm=a2c4g.11186623.2.10.17447386JrLBNR#concept ...

  3. CentOS 6U7分区大于2TB的磁盘以及挂载大于16TB分区磁盘的解决方案

    一.内容介绍1.问题描述1).问题一 CentOS 6.x 在格式化大于16TB的ext4分区时,会提示如下错误: mke2fs 1.41.12 (17-May-2010)mkfs.ext4: Siz ...

  4. Linux系统添加硬盘设备(磁盘分区-格式化-挂载-使用)

    当全新安装了一块新的硬盘设备后,为了更充分.更安全的利用硬盘空间首先要进行磁盘的分区, 然后格式化,最后挂载使用. 实例:对新添加的硬盘设备进行分区.格式化并挂载到/newFS目录. 第一步:在vmw ...

  5. Linux磁盘分区/格式化/挂载(树莓派3挂载硬盘)

    [前言] 本文将要讲解的功能为Linux环境下对磁盘进行操作.包括分区.格式化.挂载外接移动存储设备等. 该文的写作背景为本人的树莓派需要外接一个固态硬盘作为存储设备,因此,便开始了一系列的折腾. [ ...

  6. 使用parted对大于2T的磁盘进行分区

    使用parted对磁盘进行分区 版本信息 版本 修改日期 修改人 修改内容 备注 V0.1 2018/09/06   初始化版本 讨论稿                                 ...

  7. linux增加硬盘 磁盘分区格式化及挂载

    nux磁盘分区格式化及挂载 意义: 给linux 系统服务器扩容, 加一块硬盘 实验环境: virtualBox虚拟软件  + centos6.5 第一步: 添加硬件 硬盘 (我这里用virtualB ...

  8. linux磁盘分区格式化-fdisk命令工具

    本文主要讲述使用fdisk工具对磁盘进行分区和格式化的方法 首先要明确分区是针对磁盘进行的操做,磁盘分区会创建分区表,类似vda,sda的是磁盘,vda1,sda1的是分区 1.查看磁盘分区状态 1. ...

  9. linux大于2T的磁盘格式化

    fdisk默认只能格式小于2T的磁盘,我们经常会碰到大于2T的磁盘,我们不能fdisk 格式化. 我们得用parted 来的格式化 parted 命令可能没有,yum install -y parte ...

随机推荐

  1. 《【面试突击】— Redis篇》-- Redis哨兵原理及持久化机制

    能坚持别人不能坚持的,才能拥有别人未曾拥有的.关注编程大道公众号,让我们一同坚持心中所想,一起成长!! <[面试突击]— Redis篇>-- Redis哨兵原理及持久化机制 在这个系列里, ...

  2. Git创建远程分支并提交代码到远程分支

    1.可以在VS中新建分支 2.可以通过git branch -r 命令查看远端库的分支情况 这些红色都是远程的分支 3.从已有的分支创建新的分支(如从master分支),创建一个dev分支 (不用vs ...

  3. 修改现有消息类让.net core项目支持Protobuf - 【无需使用 [ProtoBuf.ProtoContract] 的方法】

    前言 第二次发博客,希望大家多多鼓励!!! 又接无上老板的一个需求,需要让.net core消息发送端跟消息接收端通信的消息是protobuf格式的(基于protobuf比json小一倍数据量,独特的 ...

  4. 我的开源权限管理项目BeCore (基于.net core开发)

    首先 谢谢大家还记得我.. 新年快乐 祝大家工作顺利 事事顺心 人见人爱 车见车载 冬不寒 下雨有伞 全身哪都不疼 就是有人疼 ~~ Github地址:https://github.com/baby8 ...

  5. org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 3报错解决

    报错的原因翻译出来: 预期的一个结果(或null)返回selectOne(),但发现:3 意思就是你想得到一个结果值,但是返回了三个结果值. 一般可能测试的时候我们存了几条一样的数据,在登录时,会把同 ...

  6. UVA 最大面积最小三角形剖分

    点击打开题目 题目大意: 以顺时针或逆时针给出一个简单多边形的n个点的坐标,用n-2条互不相交的,且与边不相交的对角线,分成n-2个三角形,要求其中最大三角形的面积最小 开始还汪星人咬乌龟,无从下口, ...

  7. 个人作业四——Alpha测试

    个人作业四--Alpha测试 这个作业属于哪个课程 软件工程 这个作业要求在哪里 作业要求 团队名称 GP工作室 这个作业的目标 对其他小组的项目进行测试 测试人员 许佳文 学号 2017310242 ...

  8. golang判断目录项中是目录还是文件。

    package main import ( "fmt" "os") func main() { //目录的操作 fmt.Println("请输入文件目 ...

  9. Dynamics 365 CRM Action 和 workflow 的区别

    workflow 总是需要一个record作为起始点(create, update, delete or on-demand) 但是action 不需要. 例如我们需要action来创建一个发送ema ...

  10. jdk源码Object类解析

    一 简介 java.lang.Object,是Java所有类的父类,在你编写一个类的时候,若无指定父类(没有显式extends一个父类),会默认的添加Object为该类的父类. 在JDK 6之前是编译 ...