Linux下如何对硬盘进行分区

在linux系统下,如想使用一块新的硬盘,需要经历分区、格式化、挂载等操作,然后才能够使用该硬盘。如想学好如何进行分区,需要掌握好几个相关的命令才行。下面,我们来一起看看。

查看硬盘使用情况

进行分区前,肯定需要知道新的磁盘的设备名才行,已经该硬盘还剩多少空间。在linux下,有一个很好用的命令lsblk,列出当前系统所有的硬盘及分区情况。

# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   40G  0 disk 
└─vda1 253:1    0   40G  0 part /
vdb    253:16   0  200G  0 disk 
├─vdb1 253:17   0   50G  0 part /data
└─vdb2 253:18   0  100G  0 part /www

可以看到,目前该服务器上有两块硬盘,名字分别为vda及vdb。其中vda有40G的空间,但已经完成分给了跟分区/。而vdb则还剩余50G的空间没有使用。那么,我们给这剩下的50G再分一个区出来。

分区

这里,我们使用fdisk进行分区。该命令也可以查看磁盘的使用情况。

# fdisk /dev/vdb -l
Disk /dev/vdb: 200 GiB, 214748364800 bytes, 419430400 sectors
……

下面,我们开始进行分区操作

fdisk /dev/vdb

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help):    <====输入m可以获取帮助,这里我们输入n,表示新增分区
Command (m for help): n
Partition type
   p   primary (2 primary, 0 extended, 2 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3):  

因为我们将剩下的全部分为,所以,一路enter敲就行了,最后输入w表示保存操作,否则将不会保存你的分区操作哦。如果你想进行分区练习的话,并不真的进行分区,那么就放心使用fdisk来玩玩,只有最后不输入w就行了哦。

# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   40G  0 disk 
└─vda1 253:1    0   40G  0 part /
vdb    253:16   0  200G  0 disk 
├─vdb1 253:17   0   50G  0 part /data
├─vdb2 253:18   0  100G  0 part /www
└─vdb3 253:19   0   50G  0 part   <=== 新的分区

可以看到,新的分区已经出来了,设备名为vdb3。然后我们最好再输入partprobe 命令,它表示让内核重新找一次分区表。

# partprobe
# cat /proc/partitions 
major minor  #blocks  name

 253        0   41943040 vda
 253        1   41941999 vda1
 253       16  209715200 vdb
 253       17   52428800 vdb1
 253       18  104857600 vdb2
 253       19   52427776 vdb3  <== 分区表更新成功

格式化

分区之后,该分区是不能进行文件的存取操作的,必须要先格式化,写入文件系统后,才可以。linux进行格式化的操作非常简单,使用mkfs即可。目前,CentOs7默认的文件系统为xfs,所以这里我们也将新的分区格式化为xfs。

# mkfs.xfs /dev/vdb3

挂载分区

分区格式化完成后,还需进行挂载操作,才能够使用分区。另外,对分区挂载是有一些原则的:

  • 挂载的目录必须为空目录
  • 一个分区不能挂载到多个目录(挂载点)
  • 一个目录只能挂载一个分区

进行挂载的命令是mount,语法为

mount 文件系统 挂载点

下面我们进行挂载操作,首先,建立一个空目录/del

mkdir /del

然后进行挂载

# mount /dev/vdb3 /del

然后,检测下看是否挂载成功了

# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   40G  0 disk 
└─vda1 253:1    0   40G  0 part /
vdb    253:16   0  200G  0 disk 
├─vdb1 253:17   0   50G  0 part /data
├─vdb2 253:18   0  100G  0 part /www
└─vdb3 253:19   0   50G  0 part /del  <== 成功了!

设置开机自动挂载

如果没有设置开机自动挂载,那么下次重启后,则需要手动挂载,否则该文件系统是使用不了的。

设置开机自动挂载非常简单,只需要修改/etc/fstab文件即可。新增一行,填入文件系统的UUID或设备名、挂载点、文件系统、文件系统参数等即可。