携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第4天,点击查看活动详情
前言
我们使用Linux系统时,当需要去进行磁盘分区调整,格式化并不像window那样简单可以直接UI操作,所以个人认为了解Linux的磁盘管理可以让我们对Linux的了解更进一步,甚至是对了解计算机原理都会有所帮助。
Linux的磁盘管理可以分为三块来说明:分区(磁盘存储的拆分) 文件系统(管理文件) 交换分区(实际内存不够用的时候的临时内存)
分区(逻辑磁盘)管理
查看分区
- fdisk + -l 可以查看分区的详细信息
[root@zz ~]# fdisk -l
Disk /dev/sda: ...
Device Boot Start End Blocks Id System
/dev/sda1 * ...
/dev/sda2 ...
Disk /dev/mapper/centos-root: ...
Disk /dev/mapper/centos-swap: ...
Disk /dev/mapper/centos-home: ...
- df: 查看磁盘分区使用情况
[root@zz ~]# df -h
***
新建分区
- fdisk:fdisk是Linux下常用的磁盘分区工具。所能分区的到校一般限制在2TB,对于我们中小型项目是没问题,但是当一些动则几百上千TB的就不够用了,此时可以用parted。分区命令如下:fdisk + 所要分区的硬盘
[root@zz ~]# fdisk /dev/sda2
Welcome to fdisk (util-linux 2.23.2).
.............
Command (m for help):
Command (m for help): help
h: unknown command
Command action
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
....
- parted: parted一般用于大于2TB的存储上分区。
[root@zz ~]# parted /dev/sda2
GNU Parted 3.1
Using /dev/sda2
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) help
align-check TYPE N check partition N for TYPE(min|opt) alignment
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
...
version
fdisk、parted是交互式进行分区的,如果不清楚命令可以使用help查看具体命令的作用
调整分区
- partprobe:有时在使用fdisk、part命令对硬盘进行分区后,会发现找不到新分区,此时需要重启系统才能使修改生效,但使用partprobe可以不重启系统就让修改的分区表生效.使用方式 partprobe + 分区
[root@zz ~]# partprobe -s
/dev/sda: msdos partitions 1 2 #<===表示硬盘/dev/sda分区为part1 part2
[root@zz ~]# partprobe /dev/sda2
- tune2fs命令可以调整或查看ext2/ext3/ext4文件系统的参数,比如可以调整Linux文件系统开机自检的周期,此命令用的较少可只做了解。
交换分区
交换分区(虚拟内存)取是一块特殊的硬盘空间,用例作为内存不够用的后备空间。
- 优点:应用用程序实际可以使用的内存空间将远远超过系统的物理内存(取决于交换分区设置的有多大)
- 可以使用 free -h 查看交换分区大小
[root@zz ~]# free -h
total used ***
Mem: ***
Swap: *** #<=======交换分区
新建
使用fdisk后parted分区=》使用mkswap格式化分区并创建交换分区=> 激活分区 =》查看分区是否新建成功
-
mkswap: mkswapLinux系统里创建交换分区的工具,当系统没有交换分区或交换分区不够用时,可以新建一个交换分区。
-
swapon: 使用mkswap命令创建交换分区后,分区并没有生效,还需要使用swapon命令使之生效。
-
swapoff: 如果需要回收磁盘资源,则可以使用swapoff关闭交换分区释放磁盘空间。
文件系统
Linux的文件系统的知识领域涉及比较多,本小节只做简单说明,后面有空可能会专门介绍下。
新建文件系统
- mkfs: 建立文件系统过程的实质是在磁盘空间上面建立文件系统所需的结构,根据文件系统设计在磁盘空间上写入关于文件系统的数据(称之为文件系统元数据),基于这些数据实现对文件系统的管理和进行相关的操作。实际上,mkfs是一个linux下不同文件系统构建器(mkfs.fstype)的简化前端工具。
[root@zz ~]# mkfs -t ext4 -v /dev/sda
***
查看文件系统信息
- dumpe2fs命令用于导出ext2/ext3/ext4文件系统内部的相关信息,例如:文件系统的组成包含超级快、块组、inode、block等信息。
[root@VM-12-5-centos ~]# dumpe2fs /dev/vda1
Block bitmap at ***
Free blocks: ***
Free inodes: ***
- resize2fs命令用于扩容或收缩未挂载的ext2/ext3/ext4文件系统。在Linux 2.6或更高版本的内核中,该命令还支持在线扩容已经挂载的文件系统,该命令常用来针对LVM扩容后的分区使用。
挂载、卸载
-
mount:mount命令可以将指定的文件系统挂载到指定目录(挂载点),在Linux系统下必须先挂载所有的设备,然后才能被访问,挂载其实就是为要访问的设置开个门(开门才能访问)。
-
unmount:卸载已经挂载的文件系统。
参考文档
个人觉得很不错的书籍:微信读书跟老男孩学Linux运维