Linux——磁盘管理与文件系统

本文介绍了Linux系统中的磁盘结构,包括磁盘基础、硬盘结构和接口。详细讲解了磁盘分区的表示,如MBR和分区表示方式,并讨论了Linux中的文件系统类型。进一步探讨了如何管理磁盘及分区,包括检查新硬盘、规划分区。还涵盖了创建文件系统(如mkfs和mkswap)以及挂载、卸载文件系统的操作。最后,提到了通过/etc/fstab配置文件实现文件系统的自动挂载和查看磁盘挂载情况的方法。
摘要由CSDN通过智能技术生成

目录

1、磁盘结构

1.1 、磁盘基础

2.1、 硬盘的结构

3.1、硬盘的接口

2、磁盘分区的表示

2.1 MBR(Master Boot Record,主引导记录)

2.2磁盘分区的表示

2.3 磁盘分区结构

2.4查看磁盘使用情况

2.5Linux中使用的文件系统类型

二、管理磁盘及分区

1、磁盘管理

1.1检查并确认新硬盘

1.2规划硬盘中的分区

三、创建文件系统

1 、创建文件系统(格式化分区)——mkfs

2 、创建交换文件系统——mkswap     

四、挂载、卸载文件系统

1、 挂载文件系统,ISO镜像到指定文件——mount

2、卸载已挂载的文件系统

3、设置文件系统的自动挂载——/etc/fstab配置文件

4、查看磁盘挂载情况 

五、总结


1、磁盘结构

1.1 、磁盘基础

硬盘(Hard Disk Driver,简称HDD)是计算机常用的存储设备之一。

2.1、 硬盘的结构

1、数据结构:

扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位

磁道:同一盘片不同半径的同心圆, 是由磁头在盘片表面划出的圆形轨迹,方便数据存储

柱面:不同盘片相同半径构成的圆柱面,由同一半径圆的多个磁道组成

2、物理结构

盘片 :硬盘有多个盘片,每个盘片有2面

磁头:每面一个磁头

3、存储容量:

硬盘存储容量=磁头数x磁道(柱面)数×每道扇区数×每扇区字节数(512字节)

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

4、查看分区信息

[root@ZEK ~]# fdisk -l

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009f8b9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   209715199   104344576   8e  Linux LVM

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sde:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdd:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sdf:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

3.1、硬盘的接口

硬盘按数据接口不同,大致分为ATA(IDE)和SATA以及SCSI,接口速度不是实际硬盘传输速度。

类型说明
IDE并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被SATA所取代
SATA抗干扰性强,支持热插拔等功能,速度快,纠错能力强
SCSI小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等
SAS是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到6Gb/s
光纤通道为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。特性:热插拔性、高速带宽、远程连接、连接设备数量大

2、磁盘分区的表示

2.1 MBR(Master Boot Record,主引导记录)

  • MBR位于硬盘第一个物理扇区处 , MBR中包含硬盘的主引导程序和硬盘分区表

  • MBR总共512字节,前446字节是主引导记录,分区表保存在MBR扇区中的第447-512字节中。

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

2.2磁盘分区的表示

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

表示:/dev/hda5

  • /dev/:硬件设备文件所在的目录

  • hd:表示IDE设备(sd表示scsi设备)

  • a:硬盘的顺序号,表示的第几块硬盘,以a、b、c…表示

  • 5:分区的顺序号,表示第一块硬盘接口的第五个分区

2.3 磁盘分区结构

  • 硬盘中的主分区数目只有4个

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

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

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

2.4查看磁盘使用情况

[root@ZEK ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=1913700k,nr_inodes=478425,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuacct,cpu)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_prio,net_cls)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=31,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=25533)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /run/user/42 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=386152k,mode=700,uid=42,gid=42)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=386152k,mode=700)
gvfsd-fuse on /run/user/0/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sr0 on /run/media/root/CentOS 7 x86_64 type iso9660 (ro,nosuid,nodev,relatime,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)

2.5Linux中使用的文件系统类型

文件系统类型决定了向分区中存放、读取数据的方式和效率。

  • XFS文件系统

  • 存放文件和目录数据的分区

  • 高性能的日志型文件系统,特别擅长于处理大文件,可支持上百万TB的存储空间

  • CenOS 7系统中默认使用的文件系统

  • Swap交换文件系统 (相当于Windows系统下的虚拟内存)

  • 为Linux系统建立交换分区

  • 一般设置为物理内存的1.5~2倍

  • EXT4(第四代扩展文件系统)

  • 用于存放目录和数据的分区

  • 典型的日志型文件系统

  • EXT4(CentOS 6系统的默认文件系统)FAT32、NTFS、LVM逻辑卷

  • Linux支持其他系统文件类型

  • FAT32(最大支持4G)、NTFS

  • XFS、JFS。。。

二、管理磁盘及分区

1、磁盘管理

1.1检查并确认新硬盘

基本格式:
查看磁盘分区: fdisk -l [磁盘设备]
[root@cheng0307 ~]# fdisk -l /dev/sda

管理磁盘分区: fdisk  [磁盘设备]
[root@cheng0307 ~]# fdisk  /dev/sda 

不重启的情况下识别磁盘:
echo "- - - "> /sys/class/scsi_host/host0/scan
echo "- - - "> /sys/class/scsi_host/host1/scan
echo "- - - "> /sys/class/scsi_host/host2/scan

如果系统还是无法识别硬盘,可以重启系统

[root@ZEK ~]# fdisk -l

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节


磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0009f8b9

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1026047      512000   83  Linux
/dev/sda2         1026048   209715199   104344576   8e  Linux LVM

磁盘 /dev/sdc:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

Device:分区的设备文件名称;

Boot:是否是引导分区,是的话则有“ * ”号标识;

Start:该分区在硬盘中的起始位置(柱面数);

End:该分区在硬盘中的结束位置(柱面数);

Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。

Id:分区对应的系统ID号,83表示Linux中的默认分区(XFS或EXT4),8e表示LVM逻辑卷; System:分区类型

1.2规划硬盘中的分区

  • 交互操作指令指令

选项作用
m获取帮助菜单
p查看分区情况
n新建分区
d

删除分区

t变更分区的类型
w保存分区操作并退出
q

不保存分区操作并退出

三、创建文件系统

1 、创建文件系统(格式化分区)——mkfs

格式:mkfs  【 -t】【  文件系统类型】【分区设备】

2 、创建交换文件系统——mkswap     

swapon /dev/sdb2 //启用新增加的交换分区
swapoff /dev/sdb2 //停用指定的交换分区
swapon -s //查看每个分区的swap状态
free -m //查看总的swap状态信息 

四、挂载、卸载文件系统

1、 挂载文件系统,ISO镜像到指定文件——mount

mount -t 存储设备 挂载点目录

mount -o loop 【ISO镜像文件】【 挂载点目录】

2、卸载已挂载的文件系统

umount 存储设备位置

umount 挂载点目录

3、设置文件系统的自动挂载——/etc/fstab配置文件

系统中的/etc/fstab 文件可以视为mount命令的配置文件,其中存储了文件系统的静态挂载数据。Linux在每次开机时,会自动读取这个文件的内容,自动挂载所指定的文件系统,默认的fstab文件中包括了根分区、/boot分区、交换分区及proc、tmpfs等伪文件系统的挂载配置。
格式

[root@ZEK ~]# vi /etc/fstab

......

/dev/sdb1               /ABC                    xfs     defaults        0 0
分区                     挂载点               文件系统类型

在/etc/fstab 文件中,每一行记录对应一个分区或设备的挂载配置信息,从左到右包括六个自动(使用空格或者制表符分隔),各部分含义如下所述:

第一字段:设备名称或者设备卷标名;

第二字段:文件系统的挂载点目录的位置;

第三字段:文件系统类型,如EXT4、swap等;

第四字段:挂载参数,即mount命令“ - o ”选项

后可使用的参数(defaults、rw、ro、noexec分别表示默认参数、可写、可读、禁用执行程序);

第五字段:表示文件系统是否需要dump备份,设置为1表示需要,0为忽略;

第六字段:该数字用于决定在系统启动时进行磁盘检查的顺序,0表示不进行检查,1表示优先检查,2表示其次检查。根分区可设为1,其他分区设置为2,一般不检查,会影响系统性能。

4、查看磁盘挂载情况 

格式

df 【选项】 【文件】

-s: 对每个Names参数只给出占用的数据块总数。

-a:递归地显示指定目录中各文件及子目录中各文件占用的数据块数。

-k:以1024字节为单位列出磁盘空间使用情况。

-x:跳过在不同文件系统上的目录不予统计。

-l:计算所有的文件大小,对硬链接文件则计算多次。一i:显示inode信息而非块使用量。

-h:以容易理解的格式印出文件系统大小,例如136KB、24MB、21GB。一P:使用POSIx输出格式。

-T:显示文件系统类型。

五、总结

以上就是我对Linux的磁盘管理与文件系统的理解,希望对大家有所帮助。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值