Linux 磁盘管理及磁盘分区(主分区、扩展分区、逻辑分区)_linux分区-程序员宅基地

技术标签: 运维  linux  服务器  云计算  

目录

1 MBR与磁盘分区

1.1 分区的意义 

1.2 MBR分区

1.2 磁盘分区的表示

1.3 磁盘分区结构

2 文件系统

2.1 XFS 

2.2 swap

2.3 FAT16、FAT32

2.4 EXT4

2.5 JFS

3 磁盘分区工具

3.1 fdisk

 3.2 添加磁盘

 3.3 磁盘分区

3.4 blkid

​编辑

3.5 mkfs

4 挂载及永久挂载

4.1 mount

4.2 临时挂载

 4.3 永久挂载


1 MBR与磁盘分区

windows 当中是可以不分区的

linux 当中一定要分区 才可以使用硬盘 

1.1 分区的意义 

  1. 优化I/O性能 读写

  2. 实现磁盘空间配额限制

  3. 提高修复速度

  4. 隔离系统和程序

  5. 安装多个OS

  6. 采用不同文件系统

1.2 MBR分区

MBR 分区最多只能分四个区

  • MBR位于硬盘第一个物理扇区处 , MBR中包含硬盘的主引导程序和硬盘分区表
  • 第一个扇区总共512字节,前446字节是主引导记录,分区表保存在扇区中的第447-512字节中。
  • 分区表有4个分区记录区,每个分区记录区占16字节

Linux中将硬盘、分区等设备均表示为文件。

1.2 磁盘分区的表示

Linux内核读取光驱、硬盘等资源时,都是通过“设备文件”的形式进行,因此,将硬盘和分区分别表示为不同的文件。

表示:/dev/hda5

  • /dev/:硬件设备文件所在的目录
  • hd:表示IDE设备(sd表示scsi设备)
  • a:硬盘的顺序号,表示的第几块硬盘,以a、b、c…表示
  • 5:分区的顺序号,表示第一块硬盘接口的第五个分区

1.3 磁盘分区结构

  1. 因此总的来说,硬盘分区有 3 种:分别是主分区、扩展分区和逻辑分区。
  2. 对于一个硬盘来说,主分区至少有 1 个,最多有 4 个;扩展分区可以没有,最多只能有 1 个,且主分区+扩展分区总共不能超过 4 个;逻辑分区可以有若干个。
  3. 主分区可以直接存储数据
  4. 扩展分区不可以直接存储数据,还需要再分区

2 文件系统

文件系统的组成

  • 内核中的模块:ext4, xfs, vfat

  • Linux的虚拟文件系统:VFS

  • 用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

2.1 XFS 

  • CenOS 7系统中默认使用的文件系统,高性能的日志型文件系统
  • 存放文件和目录数据的分区
  • 数据完整性:根据所记录的日志在很短时间内迅速恢复磁盘文件内容
  • 传输特性 :用优化算法,日志记录对整体文件操作影响非常小。查询与分配存储空间非常快。
  • 可扩展性 :是一个全64-bit的文件系统,最大可以支持8EB的文件系统
  • 传输带宽 : XFS 能以接近裸设备I/O的性能存储数据。对单个文件的读写操作,吞吐量可达4GB每秒。

2.2 swap

swap交换分区是系统RAM的补充,swap 分区支持虚拟内存。当没有足够的 RAM 保存系统处理的数据 时会将数据写入 swap 分区,当系统缺乏 swap 空间时,内核会因 RAM 内存耗尽而终止进程。配置过 多 swap 空间会造成存储设备处于分配状态但闲置,造成浪费,过多 swap 空间还会掩盖内存不足。

2.3 FAT16、FAT32

且最大只能支持32GB分区,单个文件也只能支持最大4GB

2.4 EXT4

Extended file system 适用于那些分区容量不是太大,更新也不频繁的情况,例如 /boot 分 区是 ext 文件系统的最新版。提供了很多新的特性,包括纳秒级时间戳、创建和使用巨型文件 (16TB)、最大1EB的文件系统,以及速度的提升1EB=1024PB=1024*1024T2.5B

2.5 JFS

主要是为满足服务器的高吞吐量和可靠性需求而设计、开发的。单个文件最大限制16TB,该文件系统最大支持1PB的容量。1PB=1024TB

3 磁盘分区工具

lsblk  列出块设备
fdisk 管理MBR分区
gdisk 管理GPT分区
parted 高级分区操作,可以是交互或非交互方式
partprobe 重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8

3.1 fdisk

格式:fdisk -l      [磁盘设备]

     或    fdisk       [磁盘设备]

打印出菜单
p 打印出当前分区表
n 新建一个分区
d 删除一个分区
t 改变分区的属性,系统ID
w 保存
q 不保存退出

 3.2 添加磁盘

 

 

 

 

 刚添加好磁盘后不会直接显示,需重启机器或刷新磁盘接口

 刷新磁盘接口

 然后再lsblk查看

 3.3 磁盘分区

fdisk /dev/sdb     #  对sdb磁盘进行分区

分区划分完毕,之后进行扩展分区、逻辑分区划分

同样的步骤

fdisk  /dev/sdb      #对sdb磁盘进行分区

 

 lsblk 查看分区情况

3.4 blkid

可以查看块设备属性信息

3.5 mkfs

mkfs 格式划分区

创建文件系统(格式化)常用选项

-t  指定文件系统类型
-b 指定块 block 大小
-L 设置卷标
-j 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i 
-i 为数据空间中每多少个字节创建一个inode;不应该小于block大小
-N 指定分区中创建多少个inode
-l 一个inode记录占用的磁盘空间大小,128---4096
-m 为管理人员预留空间占总空间的百分比
-O FEATURE[,...] 启用指定特性-O ^FEATURE 关闭指定

分区显示出来以后对分区进行格式化,使用mkfs.xfs +分区名

4 挂载及永久挂载

4.1 mount

mount     [ -t 类型 ]     存储设备 挂载点目录 mount -o loop ISO镜像文件 挂载点目录

device:指明要挂载的设备

  • 设备文件:例如:/dev/sda5

  • 卷标:-L 'LABEL', 例如 -L 'MYDATA'

  • UUID: -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'

  • 伪文件系统名称:proc, sysfs, devtmpfs, configfs

    mountpoint:挂载点目录必须事先存在,建议使用空目录

-t  fstype 指定要挂载的设备上的文件系统类型,如:ext4,xfs
-r readonly,只读挂载
-w read and write, 读写挂载,此为默认设置,可省略
-n 不更新/etc/mtab,mount不可见
-a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有
auto功能)
-L 'LABEL' 以卷标指定挂载设备
-U 'UUID' 以UUID指定要挂载的设备
-B --bind 绑定目录到另一个目录上
-o options:(挂载文件系统的选项),多个选项使用逗号分隔
-o  异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全

挂载规则

  • 一个挂载点同一时间只能挂载一个设备

  • 一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏

  • 一个设备可以同时挂载到多个挂载点

  • 通常挂载点一般是已存在空的目录

4.2 临时挂载

若重启服务器则挂载失效

df -h 查看挂载情况

 将 sdb1 挂载到/mnt

  将 sdb5 挂载到/opt

 4.3 永久挂载

 永久挂载即使服务器重启后挂载依然生效

需要 将文件写入 /etc/fstab

UUID 可以确保唯一

 vim /etc/fstab 

在/etc/fstab 文件中,每一行记录对应一个分区或设备的挂载配置信息,这些信息从左到右包括六个字段(使用空格或制表符分隔)

然后进入/etc/fstab将挂载信息写入其中后保存退出

 重启服务器查看是否永久挂载

 永久挂载成功

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/2302_78835233/article/details/131946020

智能推荐

Sublime text 3搭建Python开发环境及常用插件安装_sublime python 环境搭建-程序员宅基地

文章浏览阅读4.9k次。Sublime text 3搭建Python开发环境及常用插件安装_sublime python 环境搭建

在CentOS 7上安装MySQL 8.0_centos7安装mysql8.0gpg密钥-程序员宅基地

文章浏览阅读643次。MySQL在首次安装后会执行一个安全脚本,用于设置root用户的密码以及其他安全选项。_centos7安装mysql8.0gpg密钥

echarts绘制圆角方形进度图_echarts symbolboundingdata-程序员宅基地

文章浏览阅读864次。这种场景下,可以使用两个系列,一个系列是完整的图形,当做『背景』来表达总数值,另一个系列是使用 `symbolClip` 进行剪裁过的图形,表达当前数值。_echarts symbolboundingdata

学python需要什么样的电脑,python需要什么样的电脑_python机器学习需要怎样配置的电脑-程序员宅基地

文章浏览阅读1k次,点赞18次,收藏16次。这篇文章主要介绍了学python对电脑配置要求高吗,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。_python机器学习需要怎样配置的电脑

最新OCR开源神器来了!-程序员宅基地

文章浏览阅读3.9k次。Datawhale开源开源方向:OCR开源项目01导读OCR方向的工程师,之前一定听说过PaddleOCR这个项目,其主要推荐的PP-OCR算法更是被国内外企业开发者广泛应用,短短半年..._github 2023年最新表格ocr

python 建筑建模_设计课开题 | Parameterized Complexities参数化建筑设计-程序员宅基地

文章浏览阅读317次。【竞赛+作品集,点燃你的设计理想】设计课开题啦!百川柯纳陆续推出以国际设计竞赛项目为参考的设计题目让大家参与,借此丰富履历,充实作品集。本期的设计题目为:Parameterized Complexities参数化建筑设计。喜欢参数化的小伙伴,你们兴奋吗?Parameterized Complexities 选题背景 近期不断有小伙伴在后台给我们留言,或者咨询百川柯纳顾问老师表达希望能够参加以“参数..._python 建筑平面图

随便推点

[ATF]-TEE/REE系统切换时ATF的寄存器的保存和恢复_atf-tee-程序员宅基地

文章浏览阅读1k次。ATF点滴1、设置运行时栈SP2、寄存器的保存和恢复的实现3、寄存器的保存和恢复的使用场景1、设置运行时栈SPbl31_entrypoint—>el3_entrypoint_common---->plat_set_my_stack—>platform_set_stack—>platform_get_stack动态找到该cpufunc platform_set_stackmov x9, x30 // lrbl platform_get_stackmov sp, x0r_atf-tee

PPT模板下载-程序员宅基地

文章浏览阅读134次。300多个各种类型的PPT模板下载,为您提供各种类型PPT模板、PPT图片、PPT素材、海报模板、新媒体配图等内容下载。

基于JAVA的智能小区物业管理系统【数据库设计、源码、开题报告】_智能化哪些系统需要数据库-程序员宅基地

文章浏览阅读546次。主要功能有:保安保洁管理、报修管理、房产信息管理、公告管理、管理员信息管理、业主信息管理、登录管理。_智能化哪些系统需要数据库

年度书单盘点 | 实用到爆炸,这份高性价比套系书单,越读越上头!-程序员宅基地

文章浏览阅读69次。本期年度书单,带大家盘点一下本年度图灵最受欢迎的套装图书,以前买套装书是为了凑单,如今套装书买回去不仅有一次性就能读完的酣畅感还极具收藏价值。一本好书往往要经过时间的验证,而阅读又是一种隐私,每个人的喜好大有不同,但能够集齐每个人的喜爱,这往往就是经典的诞生。今天这份书单里,有自成体系的套系书,还有一些因读者需求而产生的组成套系书。但不管哪种形式,它们都解决了读者在学习某些方面遇到的问题,也给大家...

thch30 steps/make_mfcc.sh详解-程序员宅基地

文章浏览阅读809次。这个脚本的输入参数有三个:1.data/mfcc/train 2.exp/make_mfcc/train 3.mfcc/train1.data/mfcc/train中有数据预处理后的一些文件:phone.txt spk2utt text utt2spk wav.scp word.txt2.exp/make_mfcc/train中应该是要保存程序运行的日志文件的3.mfcc/train中是提取出的特征文件1是输入目录,2,3是输出目录#!/bin/bash# Copyright 2012-2_thch30

smartclient listgrid style (加竖线、横线、背景色)_listgrid添加样式-程序员宅基地

文章浏览阅读2.5k次。如图所示:在jsp中引入: Style.css 代码:.myOtherGridCell { font-family:Verdana,Bitstream Vera Sans,sans-serif; font-size:11px; color:black; border-bottom:1px solid #a0a0a0;border-right:1px solid_listgrid添加样式