本学习笔记为Datewhale-6月组队学习-Linux教程的学习内容,学习链接为:https://github.com/datawhalechina/team-learning-program/tree/master/Linux
Linux磁盘管理
前言
在前一篇博文【Linux-Task04:Linux文件和目录管理】里,我们一起学习了Linux文件和目录管理的含义及命令,而在这篇博文中我们将会一起学习Linux磁盘管理。
一、学习知识点概要
Task05:Linux磁盘管理
知识点:什么是磁盘、磁盘管理、如何添加磁盘、分区、格式化、挂载和磁盘配额
二、学习内容
(一)什么是磁盘
磁盘(disk)是指利用磁记录技术存储数据的存储器。
磁盘是计算机主要的存储介质,可以存储大量的二进制数据,并且断电后也能保持数据不丢失。早期计算机使用的磁盘是软磁盘(Floppy Disk,简称软盘),如今常用的磁盘是硬磁盘(Hard disk,简称硬盘)。
(二)磁盘管理
Linux磁盘管理通常分成五个步骤,首先是添加硬盘,做RAID或逻辑卷LVM,然后进行分区,对分区进行格式化,最后挂载到文件系统中。
1. 添加硬盘
当给计算机添加了一个新硬盘,我们可以怎么利用它呢?
首先简单介绍一下RAID和LVM的概念
(1)RAID
磁盘阵列(Redundant Arrays of Independent Disks,RAID)。磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。
(2)LVM
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
2. 分区
当硬盘添加成功后,便可以对硬盘进行分区了。
(1)分区优点
- 方便管理,文件种类繁多的时候不易造成混乱。
- 安全,当硬盘出现问题,又或者各类错误操作都可能造成数据损失。如果分区了,则可以减少损失。
(2)分区常用命令
fdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。
fdisk [选项] <磁盘> #更改分区表
fdisk [选项] -l [<磁盘>] #列出分区表
选项 | 功能 |
---|---|
-b | 显示扇区计数和大小 |
-B | 创建新标签时不要擦除 bootbits |
-c | 模式,为“dos”或“nondos”(默认) |
-L | 彩色输出(auto, always 或 never) |
-l | 显示分区并退出 |
-o | 输出列 |
-t | 只识别指定的分区表类型 |
-u | 显示单位,“cylinders”柱面或“sectors”扇区(默认) |
-w | 擦除签名(auto, always 或 never) |
-W | 擦除新分区的签名(auto, always 或 never) |
-C | 指定柱面数 |
-H | 指定磁头数 |
-S | 指定每条磁道的扇区数 |
-h | 帮助文档 |
对某个磁盘分区,如 fdisk /dev/sda,则会出现以下菜单进行选择
- m :显示菜单和帮助信息
- a :活动分区标记/引导分区
- d :删除分区
- l :显示分区类型
- n :新建分区
- p :显示分区信息
- q :退出不保存
- t :设置分区号
- v :进行分区检查
- w :保存修改
- x :扩展应用,高级功能
3.格式化
我们所说的格式化一般是指逻辑格式化,它是指根据用户选定的文件系统,在磁盘的特定区域写入特定数据,以达到初始化磁盘或磁盘分区、清除原磁盘或磁盘分区中所有文件的一个操作。
(1)格式化常用命令
用法:
mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]
创建一个Linux 文件系统。
选项 | 功能 |
---|---|
-t | 文件系统类型;若不指定,将使用 ext2 |
-V | 解释正在进行的操作; |
-h | 帮助文档 |
-v | 展示版本信息 |
4.挂载
挂载,指的就是将设备文件中的顶级目录连接到 Linux 根目录下的某一目录,访问此目录就等同于访问设备文件。
mount命令
用法:
mount [-lhV]
mount -a [选项]
mount [选项] [--source] <源> | [--target] <目录>
mount [选项] <源> <目录>
mount <操作> <挂载点> [<目标>]
因选项过多,这里不做详解,可以在命令行输入 mouunt -h 获取帮助文档。
示例1
mount /dev/usb /mnt/usb
用默认方法将/dev/usb 挂载到 /mnt/usb
(三)磁盘配额
磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的。
1.用户配额和组配额
用户配额是指针对用户个人的配额,而组配额是指针对整个用户组的配额。如果我们需要限制的用户数量并不多,则可以给每个用户单独指定配额。如果用户比较多,那么单独限制太过麻烦,这时我们可以把用户加入某个用户组,然后给组指定配额,就会简单得多。
需要注意的是,组中的用户是共享空间或文件数的。也就是说,如果用户 lamp1、lamp2 和 lamp3 都属于 brother 用户组,我给 brother 用户组分配 100MB 的磁盘空间,那么,这三个用户不是平均分配这 100MB 空间的,而是先到先得,谁先占用,谁就有可能占满这 100MB 空间,后来的就没有空间可用了。
2.磁盘容量限制和文件个数限制
我们除了可以通过限制用户可用的 block 数量来限制用户可用的磁盘容量,也可以通过限制用户可用的 inode 数量来限制用户可以上传或新建的文件个数。
3.软限制和硬限制
软限制可理解为警告限制,硬限制就是真正的限制了。比如,规定软限制为 100MB,硬限制为 200MB,那么,当用户使用的磁盘空间为 100~200MB 时,用户还可以继续上传和新建文件,但是每次登录时都会收到一条警告消息,告诉用户磁盘将满。
4.宽限时间
如果用户的空间占用数处于软限制和硬限制之间,那么系统会在用户登录时警告用户磁盘将满,但是这个警告不会一直进行,而是有时间限制的,这个时间就是宽限时间,默认是 7 天。
如果到达宽限时间,用户的磁盘占用量还超过软限制,那么软限制就会升级为硬限制。也就是说,如果软限制是 100MB,硬限制是 200MB,宽限时间是 7天,此时用户占用了 120MB,那么今后 7 天用户每次登录时都会出现磁盘将满的警告,如果用户置之不理,7 天后这个用户的硬限制就会变成 100MB,而不是 200MB 了。
三、学习问题与解答
问题一:什么是磁盘配额
解答:磁盘配额(Quota)就是 Linux 系统中用来限制特定的普通用户或用户组在指定的分区上占用的磁盘空间或文件个数的。
问题二:如何修改用户(群组)磁盘配额
解答: 针对用户和群组的配额限制(Quota),不仅可以手动控制开启和关闭,还可以手动修改配额参数,即使用 edquota 命令。具体点击此链接 http://c.biancheng.net/view/3751.html
四、学习思考与总结
本次学习,学习了Linux的磁盘管理。对什么是磁盘、磁盘管理、如何添加磁盘、分区、格式化、挂载和磁盘配额有了初步的了解。
希望大家可以互相交流、共同学习,如果发现博文中有错的或不解的,欢迎留言或私聊交流~
————————————————
五、参考文章
[1]https://github.com/datawhalechina/team-learning-program/tree/master/Linux
[2] http://c.biancheng.net/view/908.html