磁盘分区+挂载

GBT与MBR

    全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构。它是可扩展固件接口标准的一部分,用来替代BIOS中的主引导记录分区表。 传统的主启动记录 (MBR) 磁盘分区支持最大卷为 2.2 TB (terabytes) ,每个磁盘最多有 4 个主分区(或 3 个主分区,1 个扩展分区和无限制的逻辑驱动器)。 与MBR 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区,支持高达 18 千兆兆字节 (exabytes,1EB=10^6TB) 的卷大小,允许将主磁盘分区表和备份磁盘分区表用于冗余,还支持唯一的磁盘和分区 ID (GUID)。
    与 MBR 分区的磁盘不同,GPT的分区信息是在分区中,而不象MBR一样在主引导扇区。为保护GPT不受MBR类磁盘管理软件的危害,GPT在主引导扇区建立了一 个保护分区 (Protective MBR)的MBR分区表,这种分区的类型标识为0xEE,这个保护分区的大小在Windows下为128MB,Mac OS X下为200MB,在Window磁盘管理器里名为GPT保护分区,可让MBR类磁盘管理软件把GPT看成一个未知格式的分区,而不是错误地当成一个未分 区的磁盘。另外,GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性。

    简而言之一句话:一般情况下,磁盘容量小于2T,MBR分区的,用 fdisk 命令分区,大区2T的,GBT分区的,用 parted 命令分区。

使用 parted -l 或者 fdisk -l 可查看分区是哪种类型: Disk label type: dos 为MBR分区, Disk label type: gpt 为GPT分区。

 

一 查看磁盘大小与分区情况

lsblk

 

 

二 使用fdisk分区(使用sdb)

fdisk /dev/sdb

 

 

三 使用parted分区(使用sdd)

 1 parted有两种使用方式

  交互式:手动按序交互式的创建

  非交互式:可将命令行写在脚本中,运行脚本实现一键创建;适用于远程批量管理多台主机的场景,需在每一个具体的交互式命令前加上 parted DEVICES_NAME

 2 交互式分区

#命令详解
parted /dev/sdd       #进入parted分区控制台

mklabel gpt            #新建磁盘标签类型为gpt,因为parted命令只能针对gpt格式的磁盘进行操作

mkpart primary 0 10G    #可设置分区类型,文件系统,扇区起始点
#命令格式
mkpart PART-TYPE [FS-TYPE] START END
PART-TYPE    分区类型:primary--主分区,logical--逻辑分区,extended--扩展分区
[FS-TYPE]    文件系统:xfs,ext4,ext3...
START        设定磁盘分区起始点,可以为0,numberMiB/GiB/TiB
                              0  设定当前分区的起始点为磁盘的第一个扇区
                              1G  设定当前分区的起始点为磁盘的1G处开始
END          设定磁盘分区结束点: -1  设定当前分区的结束点为磁盘的最后一个扇区
                              1G  设定当前分区的结束点为磁盘的1G处

p       #可查看分区详细情况
rm 1     #删除分区命令(慎用),后面数字为p回显的Number数字,如果要删除的分区内已有数据,那么此命令会删除其中的所有数据,并且是不可逆的

 

  3 非交互式分区实现脚本,可通过ansible工具调用脚本实现批量分区配置挂载等操作

[root@localhost ~]# cat test.sh 
#!/bin/bash
# 新建/dev/sdb的磁盘标签类型为GPT
parted /dev/sdb mklabel gpt 
# 将/dev/sdb整个空间分给同一个分区
parted /dev/sdb mkpart primary 0 100%
# 忽略警告
ignore
# 格式化分区
mkfs.xfs xfs /dev/sdb1
# 设定分区label(非必要)
e2label /dev/sdb1 /gfsdata01
# 创建挂载目录
mkdir /mnt/test1
# 临时挂载
mount /dev/sdb1 /mnt/test1
# 开机自动挂载(永久挂载)
blkid /dev/sdb1 | awk -F "\"" '{print $2}' |xargs -i echo "UUID={} /mnt/test1    xfs   defaults  0 0" >> /etc/fstab

 

四 挂载

 1 文件系统(已分区的磁盘要先格式化才能挂载

mkfs.xfs /dev/sdb1        #格式化为xfs文件系统,加 -f 强制格式化
mkfs.ext4 /dev/sdd1       #格式化为ext4文件系统

xfs_repair -n             #检查文件系统是否损坏
xfs_repire /dev/sdbx      #修复xfs文件系统(修复可能出现数据丢失

mkfs.ext4 -S /dev/sda2    #检查ext4文件系统
fsck.ext4 -y /dev/sda2    #修复ext4文件系统

 

  2 挂载

#创建挂载目录
mkdir /mnt/test1
#临时挂载(重启后失效
mount /dev/sdb1 /mnt/test1
#取消挂载
umount /dev/sdb1 /mnt/test1
#永久挂载
blkid /dev/sdb1 | awk -F "\"" '{print $2}' |xargs -i echo "UUID={} /mnt/test1    xfs   defaults  0 0" >> /etc/fstab

 

五、补充

5.1 使用parted分区

命令汇总:

[root@node1 ~]# lsblk
[root@node1 ~]# parted  /dev/sda print list
[root@node1 ~]# parted -s /dev/sda mkpart primary 107GB 100%
[root@node1 ~]# parted  /dev/sda print list
[root@node1 ~]# partprobe
[root@node1 ~]# mkfs.ext4 /dev/sda4
[root@node1 ~]# mkdir -p /mnt/data0
[root@node1 ~]# mount /dev/sda4 /mnt/data0
[root@node1 ~]# blkid /dev/sda4 | awk -F "\"" '{print $2}' | xargs -i echo "UUID={} /mnt/data0                 ext4     defaults        1 2" >> /etc/fstab
[root@node1 ~]# mount -a
5.1.1 查看系统块设备信息

 5.1.2 查看当前磁盘分区情况

 5.1.3 使用parted分区

 

5.1.4 格式化分区

5.1.5 挂载

5.1.6 更新fstab

 

posted @ 2021-05-29 11:48  心恩惠动  阅读(470)  评论(0编辑  收藏  举报