当我们装好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
最后保存即可,这样无论服务器关机或者是重启,挂载目录都不会掉了。