磁盘分区+挂载

Posted 心恩惠动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了磁盘分区+挂载相关的知识,希望对你有一定的参考价值。

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 命令分区。

 

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

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

 

以上是关于磁盘分区+挂载的主要内容,如果未能解决你的问题,请参考以下文章

磁盘分区开机自动挂载

一键自动创建磁盘分区以及格式化挂载脚本

如何在ubuntu上自动挂载磁盘分区

Linux磁盘分区挂载

linux系统磁盘分区及把磁盘挂载到系统中的方法

linux磁盘分区挂载流程