5 - Linux磁盘和文件系统

一、磁盘基础

1.磁盘的结构

1.1 硬盘的物理结构

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

1.2 磁盘的数据结构

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

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

1.3 磁盘的接口类型

IDE、SATA、SCSI、SAS、光纤通道等

2.MBR与磁盘分区表示

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

  • MBR位于硬盘第一个物理扇区处
  • MBR中包含硬盘的主引导程序和硬盘分区表
  • 分区表有4个分区记录区,每个分区记录区占16个字节
  • Linux中将硬盘、分区等设备均表示为文件

2.2 磁盘分区结构

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

二、文件系统

1.文件系统类型

1.1 XFS文件系统

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

1.2 SWAP - 交换文件系统

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

1.3 Linux支持的其他文件系统类型

EXT4、FAT32、NTFS、LVM等

三、管理磁盘分区和文件系统

1 管理磁盘分区

fdsik "硬件设备"                        #进入交互模式管理磁盘

例:fdisk /dev/sdb

交互模式中的常用命令解释
m获取帮助菜单
n新建分区
p查看分区情况
d删除分区
t变更分区的类型
w保存分区操作并退出
q不保存分区操作并退出

2.创建分区

2.1 创建xfs磁盘分区演示

[root@wzx ~]# fdisk /dev/sdc            #进入管理磁盘交互模式
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x2aac8364.

Command (m for help): n            #创建分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p            #选择主分区
Partition number (1-4, default 1): 1
First sector (2048-629145599, default 2048):2048            #起始扇区
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-629145599, default 629145599): +10G            #分区大小
Partition 1 of type Linux and of size 10 GiB is set

Command (m for help): w            #保存并退出操作
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@wzx ~]# mkfs.xfs /dev/sdc1            #格式化并创建xfs文件系统
meta-data=/dev/sdc1              isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@wzx /]# mount /dev/sdc1 /abc123            #把分区临时挂载到/acb123下

2.2 创建swap分区演示

[root@wzx /]# fdisk /dev/sdc
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): n            #新建分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p            #为主分区
Partition number (2-4, default 2): 2            #分区号
First sector (20973568-629145599, default 20973568):
Using default value 20973568
Last sector, +sectors or +size{K,M,G} (20973568-629145599, default 629145599): +6G            #分区大小
Partition 2 of type Linux and of size 6 GiB is set

Command (m for help): t            #改变文件系统类型
Partition number (1,2, default 2): 2            #分区号
Hex code (type L to list all codes): 82            #82对应SWAP文件系统
Changed type of partition 'Linux' to 'Linux swap / Solaris'

Command (m for help): w            #保存并退出
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@wzx /]# partprobe /dev/sdc            #重新检测磁盘信息
[root@wzx /]# mkswap /dev/sdc2            #创建swap文件系统
Setting up swapspace version 1, size = 6291452 KiB
no label, UUID=6189f6bb-3c18-4454-81d5-affbc8c1bc22
[root@wzx /]# swapon /dev/sdc2            #开启交换分区
[root@wzx /]# swapon -s /dev/sdc2            #查看所有swap信息
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       4194300 0       -2
/dev/sdc2                               partition       6291452 0       -3
[root@wzx /]# swapoff /dev/sdc2            #停用交换分区
[root@wzx /]# swapon -s /dev/sdc2            #查看所有swap信息
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       4194300 0       -2

 3.挂载文件系统

3.1 临时挂载

mount -t "文件系统类型" "存储设备" "挂载点"

例:mount -t xfs /dev/sdc1 /abc123

  • ps:-t用于指定文件系统类型,通常可以省略,由系统自动识别

3.2 永久挂载(自动挂载)

开机时系统会自动读取/etc/ftab文件内容,自动挂载文件系统。

vi /etc/ftab

#编辑ftab配置

#
# /etc/fstab
# Created by anaconda on Tue Jul 30 02:14:22 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=3d016aa4-dfe1-4a11-b046-6c1578c66573  /boot  xfs   defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdc1               /abc123                 xfs     defaults        0 0
#硬件设备                #挂载点          #文件系统类型  #挂载参数 #第一个0-dump备份(1-是,2否)
                                       #第二个0磁盘检查顺序(0-不进行,1-优先检查,2-其次检查)

4. df 命令 - 查看磁盘使用情况

df -hTi

-h 人性化显示

-T 查看文件系统类型

-i 查看inode号

[root@wzx /]# df -hTi
Filesystem              Type     Inodes IUsed IFree IUse% Mounted on
devtmpfs                devtmpfs   469K   441  468K    1% /dev
tmpfs                   tmpfs      472K     1  472K    1% /dev/shm
tmpfs                   tmpfs      472K  1.3K  471K    1% /run
tmpfs                   tmpfs      472K    16  472K    1% /sys/fs/cgroup
/dev/mapper/centos-root xfs         18M   38K   18M    1% /
/dev/sda1               xfs        512K   327  512K    1% /boot
tmpfs                   tmpfs      472K     1  472K    1% /run/user/0
/dev/sdc1               xfs        5.0M     3  5.0M    1% /abc123

5. iostat 命令 - 查看硬盘读写性能

avg-cpu参数解释
%user用户态运行应用程序所花费的时间百分比
%niceCPU执行“nice”值(优先级)被调整过的进程所花费的时间
%systemCPU在内核态执行系统调用或处理中断等任务所花费的时间百分比
%iowaitCPU等待I/O(输入/输出)操作完成所花费的时间百分比
%steal当前虚拟机因虚拟化技术而“丢失”的CPU时间
%idle

CPU处于空闲状态的时间百分比

Device参数解释
tps每秒发送到磁盘的I/O请求数
kB_read/s每秒从磁盘读取的数据量
kB_wrtn/s每秒向磁盘写入的数据量
kB_read从磁盘读取的总数据量
kB_wrtn向磁盘写入的总数据量

  • 20
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值