admin管理员组文章数量:1546228
目录
一、磁盘
设备文件
磁盘空间的管理
磁盘的数据结构
硬盘存储容量
硬盘接口类型
硬盘接口类
服务器硬盘大小
机械与固态
二、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 查看块设备属性信息
版权声明:本文标题:Linux中的磁盘管理 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1727175956a1100642.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论