LINUX基础培训六之磁盘和文件系统管理

前言、本章学习目标 
  1. 掌握fdisk分区类型和管理分区
  2. 了解parted分区类型
  3. 掌握LVM模式文件系统
  4. 创建、扩展、缩小文件系统

一、磁盘的分区管理

在 Linux 中有专门的分区命令 fdisk 和 parted。其中 fdisk 命令较为常用,但不支持大于 2TB 的分区;如果需要支持大于 2TB 的分区,则需要使用 parted 命令,当然 parted 命令也能分配较小的分区。

fdisk分区
命令的格式如下:
[root@localhost ~]# fdisk -l
#列出系统分区
[root@localhost ~]# fdisk 设备文件名
#给硬盘分区

parted分区
parted 命令是可以在命令行直接分区和格式化的,不过 parted 交互模式才是更加常用的命令方式,进入交互模式的方法如下:
[root@localhost ~]# parted 硬盘设备文件名
#进入交互模式

fdisk搭建步骤(分区->格式化->挂载)

1、分区(fdisk)

查询新增磁盘,磁盘名称为“/dev/sdb”:
# fdisk -l

磁盘分区后得到“/dev/sdb1”:
# fdisk /dev/sdb
m (查看帮助)
n (增加新分区)
p (使用主分区)
1 (分区号选1)
直接回车 (第一个磁柱号选默认的1)
直接回车 (最后的磁柱号选默认的最大值)
w (保存)

2、格式化(mkfs)
格式化分区时使用ext4格式:
# mkfs.ext4 /dev/sdb1

3、挂载(mount)
创建挂载点目录:
# mkdir /data
挂载文件系统:
# mount /dev/sdb1 /data

二、LVM管理LINUX文件系统

LVM是Logical Volume Manager(逻辑卷管理器)的简称,它可以使管理员在Linux系统上更加灵活的规划和使用磁盘空间。


1、为什么要使用LVM

对于传统的分区类型,其尺寸是固定的,不能够动态扩展。因此在使用之前,管理员需要提前规划分区的用途和需要的尺寸。一旦某个分区的尺寸不能满足需求了,管理员将不得不重新分区,或者将包含足够空间的新磁盘分区挂载到原有文件系统上。使用LVM处理这样的问题将获得更大的灵活性。

例如,有一个10GB的磁盘,创建“/home”分区使用了2GB。现在“home”没有足够的可用空间了,于是决定将“/home”扩展到3GB。用传统的分区方式,管理员将不得不创建一个3GB大小的分区,并备份“/home”的全部内容;将建立的新分区挂载到“/home”,然后将备份的“/home”数据恢复上去。

2、LVM的基本概念和术语

在LVM中最终面向用户的是经过逻辑划分的磁盘空间,它建立在具体的物理介质上,这个物理介质可以是一个磁盘或一个磁盘分区。
物理卷Physical Volume(PV)
一个物理卷只不过是一个有LVM管理数据添加在里面的物理存储介质。要使用LVM系统,首先对要用于LVM的磁盘进行初始化,初始化的目的就是将磁盘或分区标识为LVM 的物理卷。使用pvcreate 命令可以将一个磁盘标记为 LVM 物理卷。


物理分区Physical Extents(PE)
LVM将每个物理卷分为叫做物理分区的可寻址存储单元,存储单元的大小通常为几MB。磁盘的开头部分为LVM元数据,之后从索引为零开始,每个物理分区的索引依次递增一,按顺序进行分配。


卷组Volume Group(VG)
物理卷可以组织为卷组。卷组可以由一个或多个物理卷组成,同时系统中可以有多个卷组。创建了卷组之后,该卷组(而不是磁盘)便是表示数据存储的实体。因此,尽管以前是将磁盘从一个系统移动到另一个系统,使用了 LVM 之后,会将卷组从一个系统移动到另一个系统。出于这种原因,通常在一个系统上创建多个卷组会比较方便。


逻辑卷Logical Volume(LV)
卷组所代表的磁盘空间可以分配给不同大小的逻辑卷。创建逻辑卷之后,就可以将其视为传统的磁盘分区来处理。通过设备专用文件可访问逻辑卷。一个逻辑卷可以跨越一个卷组中的多个物理卷,也可以仅代表物理卷中的一个分区。就像使用传统的分区一样,在逻辑卷上可以创建一个文件系统。

3、LVM创建逻辑卷

·创建物理卷
pvcreate/dev/sdb
·为卷组分配物理卷
vgcreate vg01 /dev/sdb
·从卷组创建逻辑卷
lvcreate -L 200M-n data vg01
mkfs.ext4  /dev/vg01/data
备注:#man vgcreate
一个中默认最多有65534个PE,每个PE缺省为4M,所以你创建的逻辑卷的大小最大为65534,假设创建500G的逻辑卷必须增大pe大小,*4M=256G,

 4、LVM的灵活配置

增加卷组:
·fdisk、pvcreate增加物理设备
·vgextend增加卷组
·减小卷组:
·pvmove移除物理卷
·vgreduce减小卷组
·增加卷的大小
·vgdsiplay验证卷组大小
·lvextend扩大逻辑卷
·resize2fs增加文件系统大小
·减小卷的大小
·umount卸载文件系统
·fsck检查文件系统
resize2fs减小文件系统
·Ivreduce减小逻辑卷

注意,减小卷组,缩容文件系统前请先做好相关备份,缩容有一定风险。

三、Linux系统中常见文件系统格式

msdos: dos文件系统类型
vfat:支持长文件名的dos分区文件系统,可以理解为winds文件系统类型
iso9660: 光盘格式文件系统
ext2/ext3/ext4: linux下主流的文件系统
xfs: linux下一种高性能的日志文件系统,在centos7.x中默认的文件系统
NFS:  Network File System,网络文件系统,是当前主流异构平台共享文件系统之一,主要用于linux系统,搭配自己相对应的传输协议,测试存储会使用的文件系统之一
CIFS:Common Internet File System 也称通用Internet文件系统,通过SMB协议,主要用于windows,
CEPH FS:Ceph FS是一个支持POSIX接口的文件系统,它使用 Ceph 存储集群来存储数据。文件系统对于客户端来说可以方便的挂载到本地使用。

四、Linux几种文件系统格式区别

1. EXT3
(1)最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件
(2)Ext3目前只支持32000个子目录
(3)Ext3文件系统使用32位空间记录块数量和i-节点数量
(4)当数据写入到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块
2. EXT4
EXT4是Linux系统下的日志文件系统,是EXT3文件系统的后继版本。
(1)Ext4的文件系统容量达到1EB,而文件容量则达到16TB
(2)理论上支持无限数量的子目录
(3)Ext4文件系统使用64位空间记录块数量和i-节点数量
(4)Ext4的多块分配器支持一次调用分配多个数据块
3. XFS
(1)根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
(2)采用优化算法,日志记录对整体文件操作影响非常小
(3) 是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间
(4)能以接近裸设备I/O的性能存储数据
 

五、/etc/fstab文件详解

/etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。
当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。
基础示例:
/dev/sda1 /boot ext4 defaults  0 0
第一列可以是分区名,可以用UUID或卷标表示(前提分区用卷标设置了)
第二列是挂载点。挂载点必须为当前已经存在的目录,否则在使用mount -a 会出错,开机也会遇到问题。
第三列为此分区的文件系统类型。Linux可以使用ext2、ext3 ext4  xfs 等类型,必须和格式化时的类型一致。也可以使用 auto,自动检测。
第四列是挂载的选项,用于设置挂载的参数。常见参数如下:defaults: rw, suid, dev, exec, auto, nouser, and async./noauto 开机不自动挂载/nouser 只有超级用户可以挂载/ro 按只读权限挂载/rw 按可读可写权限挂载/user 任何用户都可以挂载
第五列 是否备份,1表示备份 0表示不备份。通常在/上使用。
第六列是fsck磁盘检查设置。其值是一个顺序。当其值为0时,表示不检查。
 

六、查看文件系统硬盘使用情况

1、df 命令

用于显示 Linux 系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。
df 命令的基本格式为:
[root@localhost ~]# df [选项] [目录或文件名]
由 df 命令显示出的各列信息的含义分别是:
Filesystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称;
1K-blocks:此列表示文件系统的总大小,默认以 KB 为单位;
Used:表示用掉的硬盘空间大小;
Available:表示剩余的硬盘空间大小;
Use%:硬盘空间使用率。如果使用率高达 90% 以上,就需要额外注意,因为容量不足,会严重影响系统的正常运行;
Mounted on:文件系统的挂载点,也就是硬盘挂载的目录位置。

2、du命令

统计目录或文件所占磁盘空间大小
du 命令的格式如下:
[root@localhost ~]# du [选项] [目录或文件名]

选项:
-a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h:使用习惯单位显示磁盘占用量,如 KB、MB 或 GB 等;
-s:统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量

du命令和df命令的区别
有时我们会发现,使用 du 命令和 df 命令去统计分区的使用情况时,得到的数据是不一样的。那是因为df命令是从文件系统的角度考虑的,通过文件系统中未分配的空间来确定文件系统中已经分配的空间大小。也就是说,在使用 df 命令统计分区时,不仅要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的就是文件已经删除,但是程序并没有释放空间)。
而 du 命令是面向文件的,只会计算文件或目录占用的磁盘空间。也就是说,df 命令统计的分区更准确,是真正的空闲空间。
 

七、本章实验

1、虚拟机添加1块磁盘,完成逻辑卷的创建、扩容、缩减等操作内容。
2、模拟fstab文件出错时不能启动的故障修复。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/619975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++/WinRT 入门

本主题将会根据新的 Windows 控制台应用程序 (C/WinRT) 项目演练一个简单的代码示例。 C/WinRT 快速入门 创建一个新的 Windows 控制台应用程序(C/WinRT) 项目。 根据实际选择平台 如果出现如下错误,需要安装正确的SDK。 找不到 Windows SDK 版本 10.0.17134.0 (o…

支付功能测试用例测试点?

支付功能测试用例测试点是指在测试支付功能时,需要关注和验证的各个方面。根据不同的支付场景和需求,支付功能测试用例测试点可能有所不同,但一般可以分为以下几类: 功能测试:主要检查支付功能是否符合设计和业务需求…

RTTI结构详细分析(VC++)

对于RTTI结构的资料真的屈指可数,类的逆向也一直是一个不好弄的问题.对此我只想贡献我的一份力量。 文中我不会分析类的内存布局,因为有很多资料已经分析的挺好的了(见参考资料)。但是现有我能找到的资料对RTTI结构的表述不完整,或者表述模糊不清,参考Clang的部分源码后&#…

kube-apiserver参数详解

Global flags 全局选项详解 选项默认值描述–log-file如果不为空,将是日志输出的文件–log-dir如果不为空,将是日志输出的目录–alsologtostderrlog日志会输出到标准错误并且也会输出到文件中–logtostderrtruelog日志会输出到标准错误而不是文件中–log-file-max-size1800定…

寒假刷题第五天

PTA甲级 1022 Digital Library 大模拟 #include<iostream> #include<unordered_map> #include<unordered_set> #include<vector> #include<set>using namespace std;unordered_map<string , set<int>>ti , au , key , pub , year…

Altium designer软件使用

AD工程文件 .prjpcb 工程由sch文件与pcb文件组成&#xff0c;sch文件是原理图文件&#xff0c;pcb文件是layout文件。 原理图SCH .schdoc 1&#xff1a;原理图的标注:加标题和作者 p->t tab 2&#xff1a;查找:ctrlF 3&#xff1a;设置相关功能的快捷键 View菜单下的Tool…

一些前端学习过程的自测练习题

目录 页面设计部分 1 设计一个简单的学院网站首页&#xff1b; 2.按照图示要求完成简单的登录页面 3.完成如下网站设计 4.完成如下网站设计&#xff08;练习页面布局&#xff09; 5 利用下面素材&#xff0c;设计一个满足H5规范的网页&#xff08;移动端页面练习&#xff…

【Delphi 基础知识 17】注释代码的几种方法

在 Delphi 中&#xff0c;有三种主要的注释代码的方法&#xff0c;分别是&#xff1a; 花括号 {} 注释&#xff1a; 这是一种常见的注释方式&#xff0c;在代码中使用花括号将注释的内容括起来。这种注释方式可以用于单行注释和多行注释。// 单行注释 { 这是一个多行注释可以跨…

简单说一下原型与原型链

文章目录 原型原型链 原型 简单来说原型就像是对象的 “爸爸”&#xff0c;每个对象都有一个原型。当你创建一个对象时&#xff0c;这个对象就会有一个内部链接&#xff0c;指向它的原型。你可以把原型想象成对象的一种模板&#xff0c;对象可以从中继承属性和方法。 举个例子…

Java中单体应用锁的局限性分布式锁

互联网系统架构的演进 在互联网系统发展之初&#xff0c;系统比较简单&#xff0c;消耗资源小&#xff0c;用户访问量也比较少&#xff0c;我们只部署一个Tomcat应用就可以满足需求。系统架构图如下: 一个Tomcat可以看作是一个JVM进程&#xff0c;当大量的请求并发到达系统时&…

(每日持续更新)jdk api之FileDescriptor基础、应用、实战

博主18年的互联网软件开发经验&#xff0c;从一名程序员小白逐步成为了一名架构师&#xff0c;我想通过平台将经验分享给大家&#xff0c;因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验&#xff0c;晚上进行用心精简、整理、总结、定稿&…

ios 推流 拉流

文章目录 1.协议2.流程3.框架 HaishinKit.swift 1.协议 iOS 直播专题5-推流 简书 2.流程 iOS-直播推拉流 简书 3.框架 HaishinKit.swift HaishinKit.swift - github

Redis:原理速成+项目实战——Redis企业级项目实战终结篇(HyperLogLog实现UV统计)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;Redis&#xff1a;原理速成项目实战——Redis实战14&#xff08;BitMap实现用户签到功能&#xff09; &#x1f4da;订阅专栏&am…

[易语言]使用易语言部署工业级人脸检测模型

【框架地址】 https://github.com/ShiqiYu/libfacedetection 【算法介绍】 Libfacedetection是一个开源的计算机视觉库&#xff0c;主要用于实时的人脸检测。它利用深度学习技术&#xff0c;特别是卷积神经网络&#xff08;CNN&#xff09;&#xff0c;实现了高精度的脸部定位…

了解JavaScript 加密、混淆和生成签名

分析并理解网站的 JavaScript 加密、混淆和生成签名的方法是 JavaScript 逆向工程中的一个重要方面。这些技术通常用于保护代码免遭未授权的访问和修改&#xff0c;或确保数据在传输过程中的安全性。 加密 目的&#xff1a;加密用于保护敏感数据&#xff0c;使得只有拥有正确密…

【java八股文】之MYSQL基础篇

1、数据库三大范式是什么 第一范式&#xff1a;每个列都不可以再拆分。 第二范式&#xff1a;在第一范式的基础上&#xff0c;非主键列完全依赖于主键&#xff0c;而不能是依赖于主键的一部分。 第三范式&#xff1a;在第二范式的基础上&#xff0c;非主键列只依赖于主键&#…

AtCoder ABC194

这期比193稍微简单一点 C - Squared Error 手玩一下&#xff1a; N 3 N3 N3时 展开得 a 2 b 2 − 2 a b b 2 − c 2 − 2 b c a 2 c 2 − 2 a c a^2b^2-2abb^2-c^2-2bca^2c^2-2ac a2b2−2abb2−c2−2bca2c2−2ac 每个数平方项都要计算 n − 1 n-1 n−1次 减的那一份可…

LeetCode1124. Longest Well-Performing Interval

文章目录 一、题目二、题解 一、题目 We are given hours, a list of the number of hours worked per day for a given employee. A day is considered to be a tiring day if and only if the number of hours worked is (strictly) greater than 8. A well-performing in…

C语言--结构体详解

C语言--结构体详解 1.结构体产生原因2.结构体声明2.1 结构体的声明2.2 结构体的初始化2.3结构体自引用 3.结构体内存对齐3.1 对齐规则3.2 为什么存在内存对齐3.3 修改默认对⻬数 4. 结构体传参 1.结构体产生原因 C语言将数据类型分为了两种&#xff0c;一种是内置类型&#xf…

蓝桥杯单片机组备赛——数码管动态显示

✨文章内容会不断优化&#xff0c;如果你感兴趣的话&#xff0c;欢迎点藏收藏关注我哟 &#x1f9e8;如果文章有哪里看不懂的欢迎评论区或私信留言&#xff0c;我会及时回复的 ⏰如果文章出现错误&#xff0c;欢迎指正&#xff0c;看到后我会马上改正 文章目录 一、动态显示原理…