系统相关
首页 > 系统相关> > Linux磁盘管理和文件管理

Linux磁盘管理和文件管理

作者:互联网

文章目录

磁盘结构

硬盘的物理结构

盘片:硬盘有多个盘片,每盘片2面
磁头:每面有一个磁头

硬盘的数据结构

扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据 (硬盘的第一个扇区,叫做引导扇区)
磁道:同一盘片不同半径的同心圆
柱面:不同盘片相同半径构成的圆柱面

在这里插入图片描述
存储容量

硬盘存储容量=磁头数x磁道(柱面) 数x每道扇区数x每扇区字节数
可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

磁盘接口类型

IDE(基本已经淘汰)
SATA(速率500MB/s)、全称是Serial ATA,抗干扰性强,支持热插热拔等功能,速度快,纠错能力强。(凹口)
SCSI、SAS(企业级适用)(速率达到12G/s)、全称是 Small Computer System Interface(小型机系统接口),SCSI硬盘广为工作站级个人电脑以及服务器所使用的,资料传输时CPU占用率较低,转速快,支持热插热拔等   (基本淘汰,低配SAS)SAS(凸口)
光纤通道(FC接口):是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s
光纤通道(FC)(方形头等)

MBR与磁盘分区表示

主引导记录(MBR(最多只能分四个分区):(Master Boot Record)
GPT最多能分128个分区
   MBR位于硬盘第一个物理扇区处
   MBR中包含硬盘的主引导程序和硬盘分区表
  分区表有4个分区记录表,每个分区记录区占16个字节
  MBR≤4个分区
硬盘的常用接口类型:ide接口、sata3接口、iscsi接口、m.2接口、nvme m.2接口
MBR和GPT的区别
  设置新磁盘,系统会询问你是想要使用MBR还是GPT分区,GPT是一种新的硬盘分区标准。
GPT带来了很多新特性,最大支持18EB的大容量(EB=1024 PB,PB=1024 TB);MBR最大只支持2TB,但拥有最好的
兼容性。

MBR分区:
MBR的意思是“主引导记录”,它有自己的启动器,也就是启动代码,一旦启动代码被破坏,系统就没法启动,只有通过修复才能启动系统。
最大支持2TB容量,在容量方面存在着极大的瓶颈,那么GPT在今后的发展就会越来越占优势,MBR也会逐渐被GPT取代。

GPT分区:
GPT意为GUID分区表,这是一个正逐渐取代MBR的新标准,它由UEFI辅住而形成的,这样就有了UEFI用于取代老旧的BIOS,而GPT则取代老旧的MBR。这个标准没有MBR的那些限制。磁盘驱动器容量可以大得多,大到操作系统和文件系统都没法支持。它同时还支持几乎无限个分区数量,限制只在于操作系统,Windows支持最多128个GPT分区。通过UEFI,所有的64位的win0,win8,win7和Vista,以及所对应的服务器都能从GPT启动。

如今现在的机子硬盘分区基本采用UEFI相辅的GPT启动,您如果要用原来的那种系统安装方式是启动不了系统的。
如果你刚在市面上买了一台最近的机子,若如你想换一个ghost系统(PS:现在你在店里买的机子,基本都是盗版
系统),你用原来的MBR方式去安装那是启动不了机子的,因为自己找不到启动器,因为MBR是利用BIOS寻找启动代
码,而现在您用GPT分区方式使用的是BIOS选择UEFI,由于不能识别,所以系统不能启动。正确的方式是MBR对应的
是利用BIOS选择启动器代码,GPT对应是利用UEFI选择启动。

若磁盘小于2TB,可用fdisk /dev/sdb进行分区,即MBR分区格式
若磁盘大于2TB,可用parted /dev/sdb进入分区,我们都知道MBR分区磁盘是不能大于2TB,所以超过2TB需要使用GPT分区格式
我们先在超级用户模式下用fdisk -l命令查看挂载的硬盘设备,假设设备号为/dev/sdb,接下来我们使用parted命令来进行GPT分区:
1.yun install parted -y
  parted /dev/sdb
  GUN Parteed 1.8.1
  Using /dev/sdb
  Welcome to GNU Parted!  Type ‘help’to view a list of commands.
2.将MBR磁盘分区格式调整为GPT
(parted)mklabel gpt
3.划分所有空间到一个分区
(parted) mkpart primary 0 -1
这一步也可以这样设置:
unit TB  (设置单位为TB)
mkpart primary 0 3 (设置为一个主分区,大小为3TB,开始是0,结束是3) 
4.显示设置的分区大小
(parted)print 
5.退出parted程序
(parted)quit  

磁盘分区的表示

常见的硬盘可以划分为主分区,扩展分区和逻辑分区,通常情况下主分区只有四个,而扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。
Linux中将硬盘、分区等设备均表示为文件
硬件设备文件所在的目录: /dev/hda5
hd 表示IDE设备
sd表示scsl设备
硬盘的顺序号,以字母a、b、c…表示
分区的顺序号,以数字1、2、3表示
扩展分区要建立逻辑分区才能使用,不能独立使用 

在这里插入图片描述

磁盘分区结构

硬盘中的主分区数目只有4个
主分区和扩展分区的序号限制在1~4
扩展分区再分为逻辑分区
逻辑分区的序号将始终从5开始

在这里插入图片描述
文件系统类型

文件系统(File System)类型决定了向分区中存放,读取文件数据的方式和效率,在对分区进行格式化的时候需要选择所用的文件系统类型

XFS文件系统	
存放文件和目录数据的分区
高性能的日志型文件系统 
centos 7系统中默认使用的文件系统

SWAP ,交换文件系统
为Liunx系统建立交换分区
交换分区相当于虚拟内存,能够在一定程度上缓解内存不足的问题
一般建议将交换分区的大小设置为物理内存的1.5-2倍。

Liunx支持的其他文件系统类型
FAT16、FAT32、NTFS
EXT4、JFS......

检测、确认规划新硬盘

在Linux服务器中,当现有硬盘的分区规划不能满足要求(例如,根分区的剩余空间过少,无法继续安装新的系统程序)时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间
实现上述操作需要用到fdisk磁盘及分区管理工具,fdisk是大多数Linux系统中自带的基本工具之一。
分区对应的系统ID号中,83表示Linux中的EXT4分区,8e 表示LVM逻辑卷

检测并确认新硬盘

fdisk命令
  查看或管理磁盘分区
  fdisk -l [磁盘设备]
  或
  fdisk [磁盘设备]

Device 分区设备名称

Boot 是否是引导分区,如是有*号
Start 起始位置(硬盘柱面数)
End 结束位置(硬盘柱面数)
Blocks 分区大小 以块为单位,默认块大小是1024字节
ID 分区对应的系统ID号 ,7表示NTFS格式、81表示逻辑分区、82表示SWAP、83表示EXT4、8e表示LVM逻辑卷

System 分区类型

fdisk /dev/sdb  //进入交互式分区管理页面
交互模式中的常用命令
m man手册帮助
m、p、n、d、t、w、q
检测并确认新硬盘fdisk -l
规划硬盘中的分区 fdisk /dev/sdx
n 新建分区
p 列出分区
d 删除分区
t 改变分区类型
I 查看分区对应的系统id号
w 保存
q 退出

“n”命令–新建分区
使用“n”命令可以进行创建分区的操作,包括主分区和扩展分区。
​根据提示输入“p”选择创建主分区。
​输入“e”选择创建扩展分区,扩展分区设置完后,可以设置逻辑分区。
​之后依次选择分区序号,起始位置,结束位置或分区大小即可完成新分区的创建。
选择分区号时,主分区和扩展分区的序号只能为1-4,分区起始位置一般有fdisk默认识别即可,结束位置或大小可以使用’’+sizeM‘或“+sizeG”的形式。如“+20G”表示将该分区的容量设置为20GB。

parted命令–查看或管理磁盘分区
fdisk命令适用于给容量小于2TB的硬盘进行分区,而实际生产环境中使用的硬盘容量往往会大于2TB,例如监控硬盘的容量甚至会达到16TB,这时就需要parted命令来给硬盘管理分区(parted命令适用于GPT分区表)。
parted -l 列出所有设备的分区信息
操作实例:
1.选择要进行分区的硬盘,创建gpt方式的分区表。

[root@server1 ~]# parted /dev/sdb   //选择要分区的硬盘
GNU Parted 3.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt               //创建gpt的分区表                                         
(parted) print                                                              
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  标志

2.完成分区操作,利用print可以查看分区信息

(parted) mkpart  //开始创建分区
分区名称?  []? part1            按照提示填写分区信息                                            
文件系统类型?  [ext2]? xfs                                               
起始点? 0                                                                
结束点? 2GB                                                              
警告: The resulting partition is not properly aligned for best performance.
忽略/Ignore/放弃/Cancel? ignore        输入忽略                                     
(parted) print                                                            
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt      利用print查看分区是否创建成功
Disk Flags: 

Number  Start   End     Size    File system  Name   标志
 1      17.4kB  2000MB  2000MB               part1

3.rm+分区号 可以删除分区

Number  Start   End     Size    File system  Name   标志
 1      17.4kB  2000MB  2000MB               part1
(parted) rm 1
(parted) p                                                                
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start  End  Size  File system  Name  标志
4.创建完后quit退出
5.利用mkfs命令将新建的分区格式化,并且挂载到系统目录中才能使用。

创建文件系统(格式化分区)

创建文件系统的过程也是格式化分区的过程,在Linux系统中使用mkfs(Make Filesystem,创建文件系统)命令格式可以格式化xfs、ext4、fat等不同类型的分区,而使用mkswap命令可以格式化swap交换分区。

mkfs命令使用格式
mkfs -t 文件系统类型 分区设备
CentOS7默认xfs文件系统类型,所以我们现在常用这条命令
mkfs.xfs /dev/sda1

mkfs -t ext4 /dev/sdb1 ###将sdb1格式化成ext4文件系统
mkfs -t vfat -F 32 /dev/sdb6
或者mkfs.vfat -F 32 /dev/sdb6 ###将sdb6格式化成fat32文件系统(先通过fdisk工具添加/dev/sdb6分区,并将id设为b)

mkswap命令的使用

在Linux系统中,Swap分区的作用类似于Windows系统中的“虚拟内存”,可以在一定程度上缓解物理内存不足的情况。在当前Linux主机运行的服务较多,需要更多的交换空间支撑应用时,可以为其增加新的交换分区。

使用mkswap命令工具可以在指定的分区上创建交换文件系统,目标分区应先通过fdisk工具将ID号设为82. t命令
make swap:创建文件交换系统

fdisk -l /dev/sdb ##查看交换分区的信息
mkswap /dev/sdb5 ##创建交换分区sdb5

cat /proc/meminfo |grep “SwapTotal” ##查看总交换空间大小
swapon /dev/sdb5 ##临时开启交换分区
swapoff /dev/sdb5 ##关闭交换分区
vi /etc/fstab ##永久挂载(永久开启交换分区)自动挂载
在最后一行加入
/dev/sdb5 swap swap defaults 0 0

创建swap分区 mkswap /dev/sdx1
挂载swap分区用作交换分区 swapon /dev/sdx1 
卸载swap分区 swapoff /dev/sdx1

挂载、卸载文件系统

在Linux系统中,对各种存储设备中的资源访问(如读取,保存文件等)都是通过目录结构进行的,虽然系统核心能够通过“设备文件”的方式操纵各种设备,但是对于用户来说,还需要增加一个“挂载”的过程,才能像正常访问目录一样访问存储设备中的资源。

当然,在安装Linux操作系统的过程中,自动建立或识别的分区通常会由系统自动完成挂载,如“/”分区,“boot”分区等。然而对于后来新增加的硬盘分区,光盘等设备,有时候还需要管理员手动进行挂载,实际上用户访问的是经过格式化后建立的文件系统。挂载一个分区时,必须为其制定一个目录作为挂靠点(或称为挂载点),用户通过这个目录访问设备中的文件,目录数据。

挂载文件系统

mount 【-t 文件系统类型】挂载目录
文件系统类型-t可以省略,因为系统会自动识别。
mount /dev/cdrom /opt   //将cdrom挂载到opt目录下
mkdir /opt/a            //在opt目录下创建a文件夹
mount /dev/sdb6 /opt/a  //将sdb6挂载到/opt/a目录下面

mount                  //查看当前系统中挂载的信息

卸载文件系统

umount /opt/a ##通过挂载点目录卸载对应的分区
umount /dev/sdb6 ##通过设备文件卸载分区

fusermount -uz /opt ##强制卸载/opt挂载的分区

查看已挂载各文件系统的磁盘使用情况

df -Th
-h 可以显示更易读的容量单位
-T 用于显示对应文件系统的类型(ext,xfs)

挂载文件系统
临时:mount /dev/cdrom(源文件)/mnt(挂载点)
永久:vi /etc/fstab
      /dev/cdrom /mnt    iso9660  defaults  0 0
     mount -a (启用/etc/fastb中的配置信息进行挂载)
卸载文件系统
      umount /dev/cdrom(源文件)
      umount /mnt(挂载点)
查看本地挂载状况/磁盘使用情况
      df' -Th

验证,查看

fdisk -l 查看硬盘信息

在这里插入图片描述

fdisk /dev/sdb 对磁盘sdb进行管理

在这里插入图片描述

p  打印分区表(此时为空)

在这里插入图片描述

wq 退出并保存
df -Th 查看光盘挂载

在这里插入图片描述

对根目录下data目录进行扩容
cd /
ls  查看没有data目录
mkdir data  创建一个data目录 
fdisk /dev/sdb 对sdb进行分区

在这里插入图片描述

n 添加分区
p 分四个主分区  e:扩展

在这里插入图片描述

 一直回车 
默认

在这里插入图片描述

p 发现多了一个sdb1分区 
wq 退出
mkfs.xfs /dev/sdb1  系统格式化

在这里插入图片描述

mount /dev/sdb1 /data/ 挂载到data目录中  临时挂载
df -Th 查看挂载情况

在这里插入图片描述

vi /etc/fstab 永久挂载
添加最后一段
:wq

在这里插入图片描述

init 6  重启验证 
df -Th 查看   发现两只者挂载的位置不同

在这里插入图片描述

umount /data/  删除/data/挂载目录
fdisk /dev/sdb  对sdb进行分区
p   查看分区表
d   删除分区
:wq 保存退出

总结

创建文件系统
mkfs命令
  Make Filesystem,创建文件系统(格式化)
  mkfs -t 文件系统类型 分区设备
示例
[root@localhost~]#ls /sbin/mkfs*
/sbin/mkfs   /sbin/mkfs.cramfs /sbin/mkfs.ext3 /sbin/mkfs.minix
/sbin/mkfs.btrfs /sbin/mkfs.ext2 /sbin/mkfs.ext4 /sbin/mkfs.xfs
[root@localhost~]#mkfs -t xfs /dev/sdb1

mkswap命令
  make swap,创建交换文件系统
  mkswap 分区设备
示例
[root@localhost~]#mkswap /dev/sdb5
[root@localhost~]#cat /proc/meminfo | grep Swap Total
Swap Total: 8257532kB
[root@localhost~]#swapon /dev/sdb5
[root@localhost~]#cat /proc/meminfo | grrep Swap Total
Swap Total: 10354680kB  
[root@localhost~]# swapoff /dev/sdb5


挂载、卸载文件系统
  挂载文件系统、ISO镜像到指定文件夹
  mount [-t 类型] 存储设备 挂载点目录
  mount -o loop  ISO镜像文件 挂载点目录
umount命令
  卸载已挂载的文件系统
  umount 存储设备的文件系统
  umount 挂载点目录  147页

设置文件系统的自动挂载
  /etc/fstab配置文件
包含需要开机后自动挂载的文件爱你系统记录
[root@localhost~]#vi /etc/fstab
... ...//省略部分内容
/dev/sdb1   /mailbix      xfs defaults      0 0
分区        挂载点      文件系统类型

查看硬盘使用情况
df命令
df [选项] [文件]

硬盘的初始化分区格式:mbr、gpt
linux中常用的文件系统类型:ext4(一般linux)、xfs(centos默认)、swap(交换分区)

标签:管理,分区,文件系统,dev,mkfs,挂载,Linux,磁盘,硬盘
来源: https://blog.csdn.net/xwy9526/article/details/110763331