为突破MBR分区限制(最大卷:2T,最多4个主分区或3个主分区加一个扩展分区)常常以GPT分区方式(突破MBR 4个主分区限制,每个磁盘最多支持128个分区,支持大于2T的分区,最大卷可达18EB)新建分区并挂载,下面记录自己常用的GPT+LVM的方式挂载新的硬盘的方式。

1.查看硬盘标签

使用fdisk -l 也可查看新的硬盘盘符,此处直接使用新的parted命令进行操作

> sudo parted // 进入parted交互模式
(parted) help // 打印帮助命令文档
...
(parted) print all // 打印所有存储设备
...
(parted) select /dev/sdb // 选择存储设备,此处以/dev/sdb为例

2. 创建一个GPT分区

(parted) mklable gpt // 设置gpt分区方式的磁盘标签
(parted) mkpart // 创建一个分区
...
(start) 0%
(end) 100%
...
(parted) quit

创建分区时,除上述列出的外,其它可使用默认参数,如分区格式ext2,后续可再进行格式化。

  • 关于4k对齐
    Get the alignment parameters for your array (remember to replace sdb with the name of your device as seen by the kernel).
    # cat /sys/block/sdb/queue/optimal_io_size
    1048576
    # cat /sys/block/sdb/queue/minimum_io_size
    262144
    # cat /sys/block/sdb/alignment_offset
    0
    # cat /sys/block/sdb/queue/physical_block_size
    512

    Add optimal_io_size to alignment_offset and divide the result by physical_block_size. In my case this was (1048576 + 0) / 512 = 2048.This number is the sector at which the partition should start. Your new parted command should look like

    mkpart primary 2048s 100%

    The trailing ‘s’ is important: it tells parted that you’re talking about sectors, not bytes or megabytes. If all went well, the partition will have been created with no warnings. You can check the alignment thusly (replacing ‘1’ with the partition number if necessary):

    (parted) align-check optimal 1                                            
    1 aligned

    磁盘分区4k对齐问题,开始位置设置为“0%”,结束位置设置为“100%”,可以保证使用最大空间的前提下4k对齐。
    参考文章:

    1. https://rainbow.chard.org/2013/01/30/how-to-align-partitions-for-best-performance-using-parted/
    2. https://blog.csdn.net/open_data/article/details/44828741

      3. 格式化新的分区

      服务器数据盘一般格式化xfs,一般桌面的系统可以用ext4,xfs单个分区的容量比ext4同等条件下大。

      > sudo mkfs.xfs /dev/sdb1 // xfs硬盘格式化
      或
      > sudo mkfs.ext4 /dev/sdb1 // ext4硬盘格式化

      4. LVM划分加载硬盘

      创建物理卷

      # pvcreate /dev/sdb1

      将物理设备加入卷组

      # vgcreate vg_data /dev/sdb1

      说明:可以将多个分区和到一起,如下

      # vgcreate vg_data /dev/sdb1 /dev/sdc1

      使用整个卷组空间创建逻辑卷

      # lvcreate -l 100%FREE -n lv_data vg_data

      5. 挂载逻辑卷设备

      # mount /vol/data/ /dev/vg_data/lv_data

6. 开机挂载

# vim /etc/fstab

// 新增一行
/dev/vg_dada/lv_data /vol/data    xfs               default,_netdev  0 0

说明:

磁盘分区 挂载目录 文件格式 访问方式 fs_dump fs_pass
/dev/vg_data/lv_data /vol/data xfs defaults,_netdev 0 0
  • 访问方式选项(多个选项间使用逗号分隔)有:
    • async:异步I/O
    • sync:同步I/O
    • auto: 是否能够自动挂载
    • dev/nodev:是否能创建设备文件
    • nouser(只有根用户可以装载)
    • exec/noexec:是否允许执行二进制程序
    • _netdev: 网络设备
    • acl: 文件访问控制列表
  • 转储频率(fs_dump):
    • 0:从不备份
    • 1:每日备份
    • 2:每隔一天备份
  • fs_pass,该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序(自检顺序):根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2-9顺序。若该文件系统无需在启动时扫描则设置该字段为0