磁盘管理和文件系统

Linux系统的磁盘管理和文件系统

1.磁盘基础

1)磁盘结构
  • 硬盘的物理结构

    • 盘片:硬盘有多个盘片

    • 磁头:每面一个磁头

  • 硬盘的数据结构

    • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位
    • 磁道:同一盘片不同半径的同心圆,是由磁头在盘片表面划出的圆形轨迹
    • 柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成
2)磁盘结构
  • 硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数(512字节)

  • 可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

  • 磁盘接口类型

    • IDE、SATA、SCSI、SAS、光纤通道
3)MBR与磁盘分区表示
  • 主引导记录 (MBR:Master Boot Record)

    • MBR位于硬盘第一块物理扇区处。

    • MBR中包含硬盘的主引导程序和硬盘分区表。

    • 分区表中有4个分区记录区,每个分区记录区占16字节。

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

      /dev/hda5(dev为硬件设备文件所在目录,hd表示IDE文件,a为硬盘的顺序号–a、b、c…表示,5为分区号–1、2、3…表示)

4)磁盘分区结构
  • 硬盘中的主分区数目只有4个。

  • 主分区和扩展分区的序号限制在1~4。

  • 扩展分区再分为逻辑分区。

  • 逻辑分区的序号始终从5开始

5)主分区、扩展分区与逻辑分区的定义和特点

①定义:

  • 主分区:主分区是直接分配给硬盘的物理空间,用于安装操作系统或存储重要数据。
  • 扩展分区:当需要超过4个分区时,就需要使用扩展分区。扩展分区本身不直接用来存储数据,而是作为逻辑分区的容器。
  • 逻辑分区:逻辑分区是在扩展分区内部创建的分区,可以有多个。逻辑分区适合存储数据、程序或额外的操作系统,灵活性高。

②特点:

  • 主分区:主分区可以直接存储数据,并且至少需要一个主分区来安装操作系统。

  • 扩展分区的用途和特点:扩展分区提供了一个框架,可以在其中创建多个逻辑分区,便于管理和分类数据。扩展分区不能直接使用,必须再划分成逻辑分区。

  • 逻辑分区的用途和特点:逻辑分区不支持直接启动操作系统,但数量不限(受限于硬盘空间)。逻辑分区可以包含文件系统,并且可以独立使用。

6)文件系统类型

①XFS文件系统

  • 存放文件和目录数据的分区。
  • 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间。
  • CentOS 7系统中默认使用的文件系统。

②SWAP交换文件系统

  • 为Linux系统建立交换分区
  • 一般设置为物理内存的1.5~2倍。

③Linux支持的其它文件系统

  • EXT4、FAT32、NTFS、LVM
7)Swap分区的作用

​ 交换分区(Swap Partition)是Linux系统中的一个重要功能,它类似于Windows系统的虚拟内存(pagefile.sys),用于在物理内存(RAM)不足时,将暂时不使用的数据或进程从RAM转移到硬盘上的特定区域,从而扩展系统的可用内存空间。

  • 内存不足时的扩展:当物理内存不足以支持所有运行的程序时,swap分区可以作为临时的内存扩展,确保系统不会因内存不足而崩溃。
  • 内存回收:swap分区还用于内存回收,即当内存使用存在压力时,操作系统会将不常访问的数据移动到Swap分区,从而释放物理内存供更需要的程序使用。

2.检测并确认新磁盘

查看所有连接的硬盘
  • 使用lsblk

    lsblk
    

    这个命令会列出所有可用的存储设备及其分区,以树状图的形式显示。

  • 使用fdisk -l

    fdisk -l
    

    这个命令会列出所有硬盘的分区表,包括硬盘的大小、类型、分区等信息。注意,fdisk可能需要管理员权限来查看所有硬盘。

3.规划硬盘中的分区

1)fdisk命令

fdisk是一个在Linux中用于创建和操作磁盘分区表的命令行工具。它允许用户查看、创建、编辑、删除和显示硬盘分区。

  • fdisk [选项] 磁盘设备

  • 交互中常用的指令:

指令功能
m获取帮助菜单
n新建分区
p查看分区情况
d删除分区
t变更分区的类型
w保存分区操作并退出
q不保存分区操作并退出

2)磁盘分区表示

Linux中将硬盘、分区等设备均表示为文件/dev/sdb5
hd 表示IDE设备
sd 表示SCSI设备
硬盘的顺序号,以字母sd[a、b、c…]表示
分区的顺序号,以数字sdx[1、2、3…]表示。主分区从1-4,第一个逻辑分区始终从5开始。

3)规划过程

1)创建分区

fdisk /dev/sdb                              #查看、编辑sdb这块盘
:n                                          #交互命令:新建分区
:p                                          #交互命令:查看分区情况
分区号(1-4,默认1):1                        #设置分区号(直接按ENTER则默认)
起始扇区(2048-41943039,默认为 2048):2048     #设置起始扇区(直接按ENTER则默认)
:+20G                                       #设置分区大小,按ENTER则默认设置所有空间
:W                                          #保存所以操作并退出
partprobe /dev/sdb                          #分区设置完后,最好重启一次,或用此命令使操作系统检测新的分区表情况
##partprobe /dev/sdx(报错用)

2)格式化硬盘和创建文件系统xfs

mkfs.xfs /dev/sdb1(通常修改磁盘后都需格式化和创建系统文件

3)挂载过程

mount /dev/sdb1 /挂载点目录

4.创建文件系统

1)文件系统是操作系统中用于明确存储设备(如磁盘、固态硬盘等)或分区上的文件的方法和数据结构。它是操作系统中负责管理和存储文件信息的软件机构,通过文件系统,用户可以方便地创建、删除、读写文件,并对文件的存储空间进行管理。

2)在Linux系统中,您可以使用mkfs命令来创建文件系统

以下是一些常见的文件系统类型及其对应的mkfs命令:

  1. ext2/ext3/ext4
mkfs.ext4 /dev/sdb1

这个命令将在/dev/sdb1设备上创建一个ext4文件系统。您可以根据需要替换为ext2ext3

  1. XFS
mkfs.xfs /dev/sdb1

5.挂载、卸载文件系统

​ 挂载是将一个文件系统附加到一个目录的过程,从而使得该文件系统中的文件和目录可以通过挂载点访问。挂载点是一个空目录,用于将文件系统挂载到文件系统层次结构中。

在Linux系统中,您可以使用mountumount命令来挂载和卸载文件系统

挂载文件系统

使用mount命令挂载文件系统的基本语法如下:

mount [选项] 设备 文件系统挂载点

例如,要将/dev/sdb1设备挂载到/mnt/mydisk目录,您可以执行以下命令:

sudo mount /dev/sdb1 /mnt/mydisk

如果文件系统类型不是默认的类型,您需要指定-t选项来指定文件系统类型,例如:

sudo mount -t ext4 /dev/sdb1 /mnt/mydisk
卸载文件系统

使用umount命令卸载文件系统的基本语法如下:

umount [选项] 文件系统挂载点

例如,要卸载挂载在/mnt/mydisk目录的文件系统,您可以执行以下命令:

sudo umount /mnt/mydisk

6.其它

1)who 命令 查看用户信息登录情况等
  • root :第一个用户是 root 用户。
  • pts/0 :表示该用户通过伪终端(pseudo terminal)pts/0登录。伪终端通常用于 SSH 会话或图形终端模拟器。
  • 2022-01-01 10:30 :表示 root 用户在 2022 年1月1日10:30 登录。
  • (192.168.1.2):表示 root 用户从 IP 地址 192.168.1.2 登录。
  • 第二个用户是 user1。user1
  • pts/1 :表示该用户通过伪终端pts/1登录

2)创建交换文件系统(详细版)

创建swap之前,目标分区应先通过fdisk 工具将分区类型ID 号设为 82

fdisk /dev/sdb
-->t
	-->5
		-->82        82为交换分区选项
mkswap /dev/sdb5     创建交换分区
swapon /dev/sdb5     启用新增加的交换分区:
swapoff /dev/sdb5    停用指定的交换分区:
swapon -s            查看每个分区的swap状态信息:
free                -m查看总的swap状态信息:
2) mount指令

mount 是一个在 Unix 和 Linux 系统中常用的命令行工具,用于挂载(将文件系统附加到目录)或卸载(从目录中分离文件系统)文件系统。它允许用户访问存储在各种设备上的数据,如硬盘、CD-ROM、USB 设备等。

以下是 mount 命令的基本语法和一些常用选项:

mount [-t fstype] [-o options] device dir
-t fstype:指定要挂载的文件系统类型,如 ext4、vfat、ntfs 等。
-o options:指定挂载选项,如 ro(只读)、rw(读写)、noexec(禁止执行文件)等。多个选项可以用逗号

以下是一些常见的 mount 命令示例:

mount /dev/sda1 /mnt                  挂载一个设备到指定目录
mount -o loop my_iso_file.iso /mnt    挂载一个 ISO 文件到一个目录
mount -t ntfs /dev/sda5 /mnt/windows  挂载一个 Windows 分区(NTFS 文件系统):
umount /mnt                           卸载一个已挂载的设备
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值