当我们装好Linux系统之后,有时经常需要对磁盘分区、格式化(安装文件系统)、然后挂载目录使用,那么让我们来具体看一下吧

1、分区类型

Linux磁盘分区类型主要有两种:MBR 和GPT

MBR(master boot record,主引导记录分区),每个扇区(sector/block)存储512字节,特点是一种经典的分区类型,单个分区大小不到超过2TB,每块磁盘分区数量不超过4个。

GPT(GUID Partition Table,全局唯一标识磁盘分区表),单个分区的大小没有2TB的限制,分区数量也不在有4个的限制,GPT分区是应对现在大磁盘分区的一种更加先进的分区方式。

但是我们一般使用的话,MBR分区也足够,一块8TB的磁盘分为4个分区能够承载的数据也非常多了。接下来我们就以MBR分区为例进行介绍

2、磁盘分区

磁盘格式化实际就是向分好区的磁盘空间内写入一套文件系统。而文件系统简单来说就是对磁盘内数据增删改查的一套方法。比较常见的文件系统有 ext2/ext3/ext4/xfs,xfs是centos.7.x默认的文件系统,

磁盘格式化后之后就可以创建文件夹挂载该分区了,通过挂载,向该文件夹写入数据就相当于向挂载的磁盘空间里面写数据

目标: 我们将 /dev/sdb(5GB)磁盘划两个分区,并分别进行挂载进行试验
fdisk -l    # 查看当前的磁盘
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000d2463

   设备 Boot      Start         End      Blocks   Id  System

我们以这个/dev/sdb磁盘分区为例
fdisk  /dev/sdb
输入m 获取帮助
命令操作
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
我们输入 n (add a new partition)
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
这里这届默认选用主分区
分区号 (1-4,默认 1): 直接敲击 enter 选用默认分区 1
起始 扇区 (2048-10485759,默认为 2048): 直接 enter 选用默认值2048之前的扇区存放分区表等文件系统关键信息
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):
我们可以指定分区容量大小: 这里直接指定该分区为2G
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+2G
分区 1 已设置为 Linux 类型,大小设为 2 GiB
重复设置上述步骤,再次输入 n 再次新建一个分区,这次可以不用指定大小,将磁盘剩余空间全部放入第二个分区

最后必须输入 w  write table to disk and exit 必须要存档,否则这些操作都在内存中,没有持久化到磁盘,所有努力白费!

至此使用fdisk磁盘分区就完成了,可见磁盘分区就是对磁盘结构的一些基本设置,那么接下来就可以对已经分好区的磁盘格式化了,格式化实际上就是安装特定的文件系统,使得操作系统按照该文件系统的要求对文件进行增删改查,这里将其格式化为xfs

3、格式化磁盘

使用mkfs命令进行磁盘格式化,

root@localhost /]# mkfs
mkfs         mkfs.btrfs   mkfs.cramfs  mkfs.ext2    mkfs.ext3    mkfs.ext4    mkfs.minix   mkfs.xfs  

我们可以看到机器上支持的可供格式化的文件系统有这么多,ext2/ext3/ext4等都是以前Linux经典的文件系统类型,xfs目前是centos 7.x的默认文件系统,xfs相比ext*在巨型文件和虚拟磁盘的处理效率上更加强大。

将上述两块磁盘分区格式化为 xfs文件系统

mkfs.xfs /dev/sdb1 
mkfs.xfs /dev/sdb2

4、目录挂载

   这个文件系统要能够链接到Linux目录树才能够被我们使用,将文件系统与目录树结合的动作我们称为【挂载】。挂载点一定是目录,且该目录为进入该文件系统的入口。因此并不是你有任何系统都能使用,必须要挂载到目录树的某个目录后,才能够使用该文件系统的。我们在 /mnt 下面创建两个文件夹 data1 data2,  用户两个文件系统的挂载。

挂载时使用mount 命令,将文件夹与对应的文件系统对应挂载即可,文件夹最好是空文件夹。   

[root@localhost mnt]# mount /dev/sdb1 /mnt/data1
[root@localhost mnt]# mount /dev/sdb2 /mnt/data2

最后df 命令查看已挂载可使用的文件系统 

[root@localhost mnt]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        17G  1.1G   16G    7% /
devtmpfs                devtmpfs  475M     0  475M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  7.7M  479M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  133M  882M   14% /boot
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0
/dev/sdb1               xfs       2.0G   33M  2.0G    2% /mnt/data1
/dev/sdb2               xfs       3.0G   33M  3.0G    2% /mnt/data2

可以看到、我们已经将两个磁盘分区(文件系统)分别挂载在了 /mnt/data1   /mnt/data2中、至此这两个文件系统就可以被我们正常的使用了!

最后为了防止重启服务器挂载可能会掉,还应该把挂载信息加入到 /etc/fstab 下面:

/dev/sdb1       /mnt/data1     xfs      defaults    0 0 
/dev/sdb2       /mnt/data2     xfs      defaults    0 0

最后保存即可,这样无论服务器关机或者是重启,挂载目录都不会掉了。