伴随着科技的飞速发展,越来越多的企业对于服务器的稳定要求越来越高,越来越多的企业开始采用linux系统来部署自己的服务,以求高效的稳定性,当然任何操作系统都需要一个最基本的基础,那就是硬盘,及硬盘分区,今天来给大家推荐几款CentOS Linux下的分区工具及如何查看分区环境,也会给大家来带一些硬盘的基本知识

一、硬盘的接口类型

分区肯定是对硬盘进行分区,那么先来聊一聊硬盘的接口类型,硬盘就现在来分,分为两类,并行接口和串行接口,现在服务器及PC机上普遍的都是串行接口啦。

并行接口,分为IDE与SCSI两种接口,并行接口的缺点在于电信号在传输的过程中会产生干扰。

接口速率:

IDE:133MB/s

SCIS:640MB/s

串行接口,分为STAT,SAS,USB,三种接口,我们的服务器和PC上部分上也是采用的SATA接口

串口:

SATA:6Gbps

SAS:6Gbps

USB:480MB/s

现在的磁盘分区模式分为两种,MBR、GPT两种。

MBR模式

MBR: Master Boot Record,1982年,使用32位表示扇区数,分区不超过2T

MBR模式可以分区的数量是:4个主分区;3主分区+1扩展(N个逻辑分区)

当然硬盘在分区的时候是需要一部分空间来存储这些分区信息的,这一部分空间就在0磁道0扇区:512bytes。

开始446bytes存放boot loader

中间64bytes存放分区表,每16bytes: 标识一个分区

最后2bytes:存放55AA来表示硬盘模式类型

GPT模式

GPT:GUID(Globals Unique Identifiers)partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z (4096Byte/block)

使用128位UUID(Universally Unique Identifier) 表示磁盘和分区GPT分区表自动备份在头和尾两份,并有CRC校验位

UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动

二、让我们来一起见识见识Linux下3款分区工具的能力吧。

老当益壮fdisk。

fdisk在linux是一款非常老的分区工具了,工具虽然老,但是简单便利是fdisk的优点,当然gdisk也继承了这一优点,他们的功能非常相似,不过fdisk工具主要用来对MBR模式的硬盘进行分区,gdisk工具用来对GPT模式的硬盘进行分区,这里就讲一款fdisk工具。fdisk不能对2T以上的磁盘进行分区,是因为MBR模式不支持2T以上的分区格式。

fdisk、gdisk工具

fdisk /dev/sdb

fdisk -l [-u] [device...] 查看硬盘及分区的信息

常用的子命令:

m 帮助列表   

CentOS,Linux,3款,分区工具

p 分区列表

CentOS,Linux,3款,分区工具

l 查看分区类型

CentOS,Linux,3款,分区工具

t 更改分区类型

CentOS,Linux,3款,分区工具

n 创建新分区

CentOS,Linux,3款,分区工具

d 删除分区

CentOS,Linux,3款,分区工具

w 保存并退出

fdisk分区后,操作只是在内存中并未真正的对硬盘分区,如果真的需要分区w保存即可

CentOS,Linux,3款,分区工具

q 不保存并退出

当然如果你后悔了,输入q则不会保存之前的操作

选项介绍完,我来给大家做一个实验。让大家了解一下这款工具的使用方式。

[root@TianRandai ~]#fdisk /dev/sdb            #对/dev/sdb进行操作
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n                       #建立一个分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p                         #分区类型为主分区,p是主分区,e是扩展分区
Partition number (1-4, default 1): 1          #指定分区号
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +2G
Partition 1 of type Linux and of size 2 GiB is set

Command (m for help): t                       #指定分区标记类型
Selected partition 1
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m for help): w                       #保存操作
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

 

强大的分区工具parted

parted

parted工具的分区是即时操作的,所以分区的时候要小心慎用,因为可能一个不小心就把再用的硬盘给分区了,所以使用时,一定要谨慎谨慎再谨慎。

用法:parted [选项]... [设备[命令[参数]...]...]

parted /dev/sdb mklabel gpt|msdos 为磁盘指定模式

parted /dev/sdb print   显示磁盘信息

parted /dev/sdb mkpart primary/extended/logical 0 200 (默认M)创建分区类型及大小

parted /dev/sdb rm 1  删除分区

parted -l   显示所有磁盘的信息

选项介绍完,我来给大家做一个实验。让大家了解一下这款工具的使用方式。

[root@TianRandai ~]#parted /dev/sdb mklabel gpt             #指定磁盘模式为GPT
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk
will be lost. Do you want to continue?
Yes/No? yes                                                               
Information: You may need to update /etc/fstab.

[root@TianRandai ~]#parted /dev/sdb mkpart primary 0 2G     #创建分区,分区类型为主分区,大小为2G
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? i                                                          
Information: You may need to update /etc/fstab.

[root@TianRandai ~]#parted /dev/sdb print                   #查看磁盘信息                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      17.4kB  2000MB  2000MB               primary

[root@TianRandai ~]#parted /dev/sdb rm 1                   #删除分区1
Information: You may need to update /etc/fstab.

[root@TianRandai ~]#parted /dev/sdb print                  #再次查看磁盘信息
 Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 
Number  Start  End  Size  File system  Name  Flags

 

介绍完了分区就要介绍格式化了

格式化的命令可以使用

mkfs.文件系统类型    分区

#mkfs.ext4 /dev/sdb1

格式化后就可以使用挂载了

[root@TianRandai ~]#mkfs                   #文件系统的各个类型
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat    
[root@TianRandai ~]#mkfs.ext4 /dev/sdb1    #将/dev/sdb1格式化为ext4

 

[root@TianRandai ~]#mkdir /mnt/disk1                  #在/mnt/下建一个disk1目录
[root@TianRandai ~]#mount /dev/sdb1 /mnt/disk1        #将格式化号的分区挂载到/mnt/disk1撒花姑娘
[root@TianRandai ~]#df -h                             #查看挂载及使用情况
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        10G  4.5G  5.5G  45% /
devtmpfs        898M     0  898M   0% /dev
tmpfs           912M   88K  912M   1% /dev/shm
tmpfs           912M  9.0M  903M   1% /run
tmpfs           912M     0  912M   0% /sys/fs/cgroup
/dev/sda1      1014M  169M  846M  17% /boot
tmpfs           183M   20K  183M   1% /run/user/0
/dev/sdb1       1.9G  5.7M  1.7G   1% /mnt/disk1

 

mkswap 格式化swap类型的分区

格式化后需要swapon来启用格式化后的分区

开机自动挂载需要讲这些配置写到/etc/fstab中

具体的挂载的方法会在后面具体讲解。

[root@TianRandai ~]#free -h              #先看一下swap的大小
              total        used        free      shared  buff/cache   available
Mem:           1.8G        483M        429M         10M        911M        1.1G
Swap:          2.0G          0B        2.0G
[root@TianRandai ~]#mkswap /dev/sdb1     #格式化/dev/sdb1分区
mkswap: /dev/sdb1: warning: wiping old ext4 signature.
Setting up swapspace version 1, size = 1953104 KiB
no label, UUID=5d9a150e-c247-4c7f-a4be-273a72bd3b5a
[root@TianRandai ~]#swapon /dev/sdb1     #启用swap分区
[root@TianRandai ~]#free -h              #再次查看swap大小
              total        used        free      shared  buff/cache   available
Mem:           1.8G        484M        427M         10M        911M        1.1G
Swap:          3.9G          0B        3.9G