Linux中磁盘管理
无论是新装Linux系统,还是后期系统需要扩展磁盘容量,都需要磁盘管理的相关知识。当我们拿到一块新的磁盘,需要对其进行:
- 磁盘分区(partition)
- 对磁盘各分区进行格式化(format),并选择合适的文件系统
- 建立挂载点,并将它挂载上来(mount)
磁盘分区
目前,磁盘分区主要有MBR
和GPT
两种格式,MBR分区表需要使用fdisk工具来分区,GPT分区表需要使用gdisk来分区。当然,也可以使用通用的工具parted
,它同时支持MBR和GPT两种分区表。
在进行分区之前,我们需要知道设备名称,比如,系统上有两块磁盘,怎么看这两块磁盘在系统中的名称呢?可以使用lsblk
这个工具来进行查看,将会列出系统上所有存储设备的信息,比如:
可以看到,系统中一共有三个设备:
- sr0:rom(光驱)
- vda:虚拟磁盘一,容量50G,共划分了一个分区vda1,挂载到/目录上
- vdb:虚拟磁盘二,容量为400G,共划分了两个分区vdb1和vdb2,分别挂载到/data/xfs和/data/ext4目录上
拿到了设备名称,接下来,我们就准备对vdb这块磁盘进行重新分区,还是准备分成两个区,一个区100G,用它来作为备份,另外一个区300G,用来存放数据。
首先,我们用df
来查看一下该磁盘的容量:
只使用了1%,经过确认发现里面没有有用的数据了,OK,那就准备重新分区,我们先使用parted
确认下磁盘分区表类型:
发现是MBR格式,那就用fdisk
来分区吧:
输入m可以查看各种命令,常用的有下面几个命令:
- d: 删除分区
- p: 打印分区表信息
- q: 退出,不保存
- n: 添加新分区
- w: 保存并退出
d
将原来的两个分区删除掉,然后输入p
查看是否删除掉了:
n
来添加分区吧:
100G
,接下来,设置第二个分区:
p
来确认下信息是否是我们需要的:
确认没有问题后,输入w
,将其写入并生效:
因为Linux此时还在使用这块磁盘,担心系统会出问题,所以分区信息并没有被更新,会在下一次系统重启或者使用partprobe
来同步信息。
注意:如果分区已经挂载到其他目录上,需要先umount
,partprobe
才能正确同步信息。
格式化
分好了区,接下来就需要对其进行格式化了,Linux系统中最常用的文件格式有:xfs和ext4,对应的格式化工具分别为mkfs.xfs
和mkfs.ext4
,这里以xfs来为例说明:
mkfs.xfs /dev/vdb1
上面命令会将磁盘的第一个分区格式化为xfs,最后,我们使用blkid
来查看一下最后的信息:
已经是xfs格式了,最后,我们需要将/dev/vdb1挂载到/backup
目录上
挂载
首先,创建/backup目录:
mkdir /backup
然后,将其挂载:
mount UUID="ed8336d7-a3c7-4d43-832d-729a986e345f" /backup
这样,在/backup中的数据就都存放到/dev/vdb1这个分区中了。
注意:如果在挂载时提示:mount failed: Structure needs cleaning
,这说明文件系统已经损坏,可以将其重新格式化后再进行挂载。
参考
- 《鸟哥的Linux私房菜,基础学习篇(第四版)》,鸟哥著