磁盘管理

116 阅读5分钟

磁盘管理

为什么要分区

  • 优化I/O性能 读写

  • 实现磁盘空间配额限制

  • 提高修复速度

  • 隔离系统和程序

  • 安装多个OS

  • 采用不同文件系统 会在linux中使用硬盘

  • 分区

  • 格式化(重新安装文件系统)

  • 挂载

磁盘的硬件架构

  1. 扇区:一个扇区512字节,是磁盘的最小单位
  2. 磁道:同一盘片不同半径的同心圆
  3. 柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)

mbr

mbr分区(老技术)gpt(新技术)

mbr:2TB以下的硬盘 fdisk

GPT:2TB以上的硬盘 gdisk

mbr位于磁盘的第一个扇区,其中包含

  1. 主引导程序
  2. 分区表

主引导程序:

加电,主板bios,检测硬件是否故障,启动硬件,根据bios中的设置去找系统

默认的优先级 本地硬盘——>本地光驱——>外接设备——>网卡

找硬盘,先找到硬盘的第一扇区(mbr)

mbr中的主引导程序会协助硬件找到操作系统

mbr分区

只能分4个

分区类型:

  1. 主分区:可以直接使用,安装操作系统,存储文件等
  2. 扩展分区:不可以直接使用,需要再划分逻辑分区,让分区超过4个
  3. 逻辑分区:可以直接使用,存储文件

文件系统:用来管理(增删改查恢复)文件的程序

文件系统

文件系统的组成

  • 内核中的模块:ext4,xfs,vfat
  • Linux的虚拟文件系统:VFS
  • 用户空间的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat

xfs centos7默认文件系统

ntfs win 默认文件系统

ext4

swap

  • 硬盘接口刷新命令:

echo "- - -" >/sys/class/scsi_host/host0/scan

echo "- - -" >/sys/class/scsi_host/host1/scan

echo "- - -" >/sys/class/scsi_host/host2/scan

硬盘多就以下往下刷新,在市场环境中不允许服务器重启的情况下使用,一般都不允许重启服务器,常用命令

mkfs -t:指定文件系统类型

lsblk:显示块设备(磁盘)显示比较详细

[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    4G  0 part /boot
└─sda2            8:2    0   44G  0 part 
  ├─centos-root 253:0    0   40G  0 lvm  /
  └─centos-swap 253:1    0    4G  0 lvm  [SWAP]
sr0              11:0    1  4.2G  0 rom  
​

partprobe:分完区以后,系统未识别可是使用该命令刷新分区表

blkid:查看设备的唯一

[root@localhost ~]# blkid
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sda1: UUID="ded045a2-4bc0-4634-8476-95734a52ee81" TYPE="xfs" 
/dev/sda2: UUID="QOmAIZ-1hH8-G2Wl-bG4j-D0xe-4DXz-19O5y3" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="91ffa4b8-c2e7-4832-9e14-d3c8d112f0e3" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="6223cc94-3d8d-4a53-a178-c521ecffd513" TYPE="swap"

分区工具

  • lsblk 列出块设备

  • fdisk 管理MBR分区

  • gdisk 管理GPT分区

  • parted 高级分区操作,可以是交互或非交互方式

  • partprobe 重新设置内存中的内核分区表版本,适合于除了CentOS 6 以外的其它版本 5,7,8

fdisk创建分区

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

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

普通分区fdisk /dev/sdb1 > n > p

扩展分区fdisk /dev/sdb1 > n > e

逻辑分区fdisk /dev/sdb1 > n > l

mkfs格式化

mkfs.xfs /dev/sdb1

mount挂载

mount:临时挂载

永久挂载

/etc/fstab:永久挂载

一定使用UUID绑定挂载:blkid查看块设备UUID

blkid

[root@localhost ~]# blkid
/dev/sda1: UUID="ded045a2-4bc0-4634-8476-95734a52ee81" TYPE="xfs" 
/dev/sda2: UUID="QOmAIZ-1hH8-G2Wl-bG4j-D0xe-4DXz-19O5y3" TYPE="LVM2_member" 
/dev/sr0: UUID="2017-09-06-10-51-00-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="91ffa4b8-c2e7-4832-9e14-d3c8d112f0e3" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="6223cc94-3d8d-4a53-a178-c521ecffd513" TYPE="swap" 

设备名 挂载点 文件系统类型 权限 0 0

#
# /etc/fstab
# Created by anaconda on Thu Mar 28 09:37:15 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=ded045a2-4bc0-4634-8476-95734a52ee81 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0

fsck:修复文件系统

swap分区

当内存不足时将硬盘空间当成内存使用

分区

格式化

挂载 > 开启

  • 关闭swap分区

    • swapoff -a 【设备名】
  • 开启swap分区

    • swapon -a 【设备名】