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

可以看到,vdb这块磁盘还剩50G的剩余空间。接下来就是对磁盘进行分区了,需要使用fdisk或gdisk命令。

# 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可以获得帮助信息,常见有p打印分区情况,n新增分区,d删除分区,w保存
## 然后我们输入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):  <=== 这里我们就用default,如果主分区已经有了三了个,那么建议使用e
Using default response p.
Partition number (3,4, default 3):  <=== 继续enter
First sector (314574848-419430399, default 314574848):  <=== 继续enter
Last sector, +sectors or +size{K,M,G,T,P} (314574848-419430399, default 419430399):
# 因为我们想使用掉所有剩余空间,所以直接enter,如果是想要指定大小,可以输入+1G这样
Command (m for help):w  <=== 最后填入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 <===== 出现了一个新的分区

格式化分区前,我们重新读取下内核分区表

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  <=== 已经出来了

格式化

格式化是为了写入文件系统,格式化非常简单,使用mkfs.文件系统名即可。

# mkfs.xfs /dev/vdb3
 ……

挂载

格式化后文件系统已经写入到新的分区了,但是该分区还不能使用,还需要去将分区挂载到空目录上。我们就拿/mnt这个空目录作为挂载点

# mount /dev/vdb3  /mnt

到这步就可以使用新的分区了。下面用df命令来检测下看看:

# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G  528K  3.9G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/vda1        40G   19G   22G  47% /
/dev/vdb1        50G  466M   50G   1% /data
/dev/vdb2       100G   27G   74G  27% /www
tmpfs           782M     0  782M   0% /run/user/0
/dev/vdb3        50G  390M   50G   1% /mnt    <===== 已经有了

开机自动挂载

现在这个分区挂载到/mnt目录,已经是可以使用的了,但是每次只要重启服务器,就需要重新挂载该分区。那有没有什么办法,让它开机自动挂载呢?有的,有一个文件专门作用于开机挂载的。这个文件就是/etc/fstab文件,打开这个文件,看下它的格式

UUID=e32cfa7a-df48-4031-8fdf-5eec92ee3039 /                       xfs     defaults        0 0

每一行总共有6个参数,含义分别如下:

[设备名/UUID/卷标名等]    [挂载点]    [文件系统]     [文件系统参数]    [是否备份]   [是否检测硬盘]

下面,我们在这个文件新加入一样,首先我们需要知道该文件系统的UUID(建议使用UUID)

# blkid
/dev/vda1: UUID="e32cfa7a-df48-4031-8fdf-5eec92ee3039" TYPE="xfs" PARTUUID="1863aa79-01"
/dev/vdb1: UUID="d997ce14-6822-4719-9476-15e6b0cec59d" TYPE="xfs" PARTUUID="a5f349fa-01"
/dev/vdb2: UUID="47685195-e6e1-4761-b7f8-26104218f3d7" TYPE="xfs" PARTUUID="a5f349fa-02"
/dev/vdb3: UUID="d95d50fa-a7a9-4cc4-ae41-a9081821f089" TYPE="xfs" PARTUUID="a5f349fa-03"   <=== 在这里

现在在/etc/fstab新增一行,内容如下

UUID=d95d50fa-a7a9-4cc4-ae41-a9081821f089  /mnt  xfs  defaults  0 2

注:修改/etc/fstab文件后,记得用mount -a检测一下是否有语法错误,如果有错的话,会导致开机不正常

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注