Linux中的磁盘管理

目录

一、磁盘

设备文件

磁盘空间的管理

磁盘的数据结构

硬盘存储容量

硬盘接口类型

硬盘接口类

服务器硬盘大小

机械与固态

二、MBR与磁盘分区

1、磁盘分区

2、分区技术

MBR分区

GPT分区

三、文件系统及磁盘空间的管理

文件系统的组成

​编辑

磁盘空间的管理

fidsk        分区

mkfs        格式化

 挂载

解挂载

文件系统检测和修复

mkswap        添加交换分区的空间

lsblk        列出块设备

blkid        查看块设备属性信息


一、磁盘

设备文件

在Linux系统中,一切皆文件:open(),read(),wrete(),close()

设备文件:关联至一个设备驱动程序,进而能够跟与之应对硬件设备进行通信

设备号码:

  • 主设备号:major number, 标识设备类型

  • 次设备号:minor number, 标识同一类型下的不同设备

设备类型:

  • 块设备:block,存取单位“块”,磁盘

  • 字符设备:char,存取单位“字符”,键盘


磁盘空间的管理

磁盘空间管理总共分三步:

        分区                格式化(安装文件系统)                挂载(可临时或永久)

磁盘的数据结构

  • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大) 存放数据的最小单位 512字节

  • 磁道:同一盘片不同半径的同心圆

  • 柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同

硬盘存储容量

  • 硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数

    1柱面=512 * 扇区数/磁头数×磁道=51263255=7.84M

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

硬盘接口类型

硬盘接口类

  • IDE:133MB/s,并行接口,早期家用电脑

  • SCSI:640MB/s,并行接口,早期服务器

  • SATA:6Gbps,SATA数据端口与电源(长的电源,数据线短的)端口是分开的,即需要两条线,一条数据线,一条电源线

  • SAS:6Gbps,SAS是一整条线,数据端口与电源端口是一体化的,SAS中是包含供电线的,而SATA中不包含供电线。SATA标准其实是SAS标准的一个子集,二者可兼容,SATA硬盘可以插入SAS主板上,反之不行。

  • M.2:

  • 光纤接口

服务器硬盘大小

LFF:3.5寸,一般见到的那种台式机硬盘的大小

SFF:Small Form Factor 小形状因数,2.5寸,注意不同于2.5寸的笔记本硬盘

L、S分别是大、小的意思,目前服务器或者盘柜采用sff规格的硬盘主要是考内虑增大单位密度内的磁盘容量、增强散热、减小功耗

3.5寸的大磁盘不能换成2.5寸的小磁盘,而2.5寸小磁盘可以更换3.5寸的大磁盘。

机械与固态

机械硬盘(HDD):Hard Disk Drive,即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等几个部分组成。

        机械硬盘中所有的盘片都装在一个旋转轴上,每张盘片之间是平行的,在每个盘片的存储面上有一个磁头,磁头与盘片之间的距离比头发丝的直径还小,所有的磁头联在一个磁头控制器上,由磁头控制器负责各个磁头的运动。磁头可沿盘片的半径方向运动,加上盘片每分钟几千转的高速旋转,磁头就可以定位在盘片的指定位置上进行数据的读写操作。数据通过磁头由电磁流来改变极性方式被电磁流写到磁盘上,也可以通过相反方式读取。硬盘为精密设备,进入硬盘的空气必须过滤

固态硬盘(SSD):Solid State Drive,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。

        固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也与普通硬盘一致相较于HDD,SSD在防震抗摔、传输速率、功耗、重量、噪音上有明显优势,SSD传输速率性能是HDD的2倍相较于SSD,HDD在价格、容量占有绝对优势硬盘有价,数据无价,目前SSD不能完全取代HHD


二、MBR与磁盘分区

         在使用Windows系统的时候是可以不分区的,但是在Linux中一定要分区,才可以使用硬盘。

1、磁盘分区

优点:

        1)优化I/O性能        读写

        2)实现磁盘空间配额限制

        3)隔离系统和程序(如双系统)

        4)安装多个OS(操作系统)

        5)采用不同的文件系统

缺点:

        1)只能分连续的空间(必须是连续的分区)

        2)一旦分好区之后,无法增加减少空间,空间固定了

        3)inode号一旦分区好后,就会固定不变

2、分区技术

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

mbr分区与gpt分区主要区别:

        mbr分区只能标识2T以下的硬盘                使用fdisk工具进行分区

        gpt分区可以标识2T以上的硬盘                使用gdisk工具进行分区

MBR分区

MBR磁盘采用MBR分区表,由于MBR用4个字节存储分区总扇区数,最大可以表示2的32次方,一个扇区512字节,那么分区的容量或者磁盘容量都不能超过2TB

        常见的硬盘可以划分为主分区、扩展分区和逻辑分区,通常情况下主分区只有四个,而 扩展分区可以看成是一个特殊的主分区类型,在扩展分区中可以建立逻辑分区。主分区一般 用来安装操作系统,扩展分区则多用来存储文件数据

MBR(主引导记录):是硬盘上的第一个扇区,想要读取磁盘数据,需要从该扇区开始。

MBR一共512字节
        前446字节:开机引导程序,引导硬件找到系统
        后64字节:分区表,表明了分区的范围,分区从哪里开始到哪里结束
        最后两字节:表示结束位

MBR分区只能分4个分区,一个分区表占16字节

分区分类:主分区,扩展分区,逻辑分区

        主分区:可以直接使用,用来安装操作系统或存储文件等

        扩展分区:不可以直接使用,需要在划分逻辑分区,可以使分区超过四个

        逻辑分区:存在扩展分区内,可以直接使用,用来存储文件,分区的序号从5开始

GPT分区

GPT:GUID(Globals Unique Identifiers) partition table 支持128个分区,使用64位,支持8Z(512Byte/block )64Z ( 4096Byte/block)

        使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位UEFI (Unified Extensible Firmware Interface 统一可扩展固件接口)硬件支持GPT,使得操作系统可以启动


三、文件系统及磁盘空间的管理

文件系统的组成

  • 内核中的模块:ext4, xfs, vfat

  • Linux的虚拟文件系统:VFS

  • 用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat

ext4是Linux系统常见的文件类型

ntfs是Windows系统常见的文件类型

查看当前系统支持的文件类型

cat         /proc/filesystems

磁盘空间的管理

lsblk        列出块设备

fdisk        管理MBR分区

gdisk        管理GPT分区

parted        高级分区操作,可以是交互式或非交互式(parted的操作是实时生效的,谨慎使用

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

fidsk        分区

格式:fidsk        - l        [磁盘设备]                #查看磁盘信息

fidsk          [磁盘设备]                对磁盘进行分区相关操作

  • m 打印出菜单

  • p 打印出当前分区表

  • n 新建一个分区

  • d 删除一个分区

  • t 改变分区的属性,系统ID

  • w 保存

  • q 不保存退出

分区步骤:

1)在虚拟机中为系统添加硬盘

此处可能默认选项有所不同,选择SCSI(S)

最后一定要点“确定” 

2)刷新Linux中的接口或者重新启动(本次实验采用刷新接口的方法)

使用以下命令刷新:

[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host0/scan 
[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host1/scan 
[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host2/scan 

刷新完后使用以下命令列出块设备:

lsblk

3)对新硬盘进行分区

fdisk        /dev/sdb

 

4)新建主分区

命令:n

5)新建扩展分区

命令:n

6)新建逻辑分区

 

7)保存并退出

w 命令

mkfs        格式化

创建文件系统(格式化)常用选项

 -t {ext2|ext3|ext4|xfs} 指定文件系统类型
 -b {1024|2048|4096} 指定块 block 大小
-L ‘LABEL’ 设置卷标
-j 相当于 -t ext3, mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3-i 
-i    # 为数据空间中每多少个字节创建一个inode;不应该小于block大小
-N  # 指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128---4096
-m  # 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,...] 启用指定特性-O ^FEATURE 关闭指定

在linux中默认使用xfs类型的文件

格式:mkfs.xfs        /dev/sdb1

                        设备名

 挂载

mount [ -t 类型 ] 存储设备 挂载点目录

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

挂载规则

  • 一个挂载点同一时间只能挂载一个设备

  • 一个挂载点同一时间挂载了多个设备,只能看到最后一个设备的数据,其它设备上的数据将被隐藏

  • 一个设备可以同时挂载到多个挂载点

  • 通常挂载点一般是已存在空的目录

挂载选项:

-t fstype 指定要挂载的设备上的文件系统类型,如:ext4,xfs
-r readonly,只读挂载
-w read and write, 读写挂载,此为默认设置,可省略
-n 不更新/etc/mtab,mount不可见
-a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有
auto功能)
-L 'LABEL' 以卷标指定挂载设备
-U 'UUID' 以UUID指定要挂载的设备
-B, --bind 绑定目录到另一个目录上
-o options:(挂载文件系统的选项),多个选项使用逗号分隔

-o options:(挂载文件系统的选项),多个选项使用逗号分隔

async   异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全
 sync   同步模式,内存更改时,同时写磁盘,安全,但效率低下
 atime/noatime 包含目录和文件
 diratime/nodiratime 目录的访问时间戳
 auto/noauto 是否支持开机自动挂载,是否支持-a选项
 exec/noexec 是否支持将文件系统上运行应用程序
 dev/nodev 是否支持在此文件系统上使用设备文件
 suid/nosuid 是否支持suid和sgid权限
 remount 重新挂载
 ro/rw 只读、读写   
 user/nouser 是否允许普通用户挂载此设备,/etc/fstab使用
 acl/noacl 启用此文件系统上的acl功能
 loop 使用loop设备
 _netdev   当网络可用时才对网络资源进行挂载,如:NFS文件系统
 defaults 相当于rw, suid, dev, exec, auto, nouser, async

例一:使挂载的设备只读

mount     -o     ro    /dev/sdb1      /mnt

 例二:使挂在设备可读可写

mount     -o     ro,rw    /dev/sdb1      /mnt

临时挂载

mount        /dev/sdb1        /mnt

永久挂载

永久挂载需要修改/etc/fstab文件

建议永久挂载使用UUID号挂载设备

末行模式下使用   .!blkid   /dev/sdb1  

将其格式改为如下:

UUID=2eae1b02-987a-4593-a6b4-0a356c90b5c8    /mnt     xfs   defaults      0 0

解挂载

umount        设备名或挂载点

卸载时,可以使用设备,也可以使用挂载点

fuser        - v        MOUNT_POINT

查看正在访问指定文件系统的进程

fuser        - km        MOUNT_POINT

终止所有正在访问指定文件系统的进程

文件系统检测和修复

fask 命令

-a 自动修复
-r 交互式修复错误

e2fsck:ext系列文件专用的检测修复工具
xfs_repair:xfs文件系统专用检测修复工具

mkswap        添加交换分区的空间

swap

特殊的文件系统,缓解内存不足,为了个别应为程序加内存有点浪费

添加交换分区的空间

mkswap + 分区

swapon +分区 开启 -a 全部

swapoff +分区 关闭 -a 全部

添加交换分区的空间的步骤:

1)创建swap分区

2)保存退出

 

3)格式化

查看原swap空间 

free    -h

4)添加swap空间

swapon        /dev/sdb2

swapoff +分区 关闭 -a 全部

swapon +分区 开启 -a 全部

lsblk        列出块设备

blkid        查看块设备属性信息

  • 13
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值