目录
Linux磁盘管理与文件系统是操作系统中一个非常重要的方面。磁盘管理涉及到如何有效地使用和管理计算机的存储设备,包括硬盘驱动器、固态驱动器和其他可用的存储介质。
在Linux中,磁盘管理涉及到对磁盘进行分区、格式化、挂载和管理文件系统等操作。
部件 | 说明 |
---|---|
盘片 | 硬盘有多个盘片,每盘片有2面(正反两面),盘片由磁性材料,可读写 |
磁头 | 每面一个磁头,并不是只有一个磁头,磁头离盘面有一定的距离,磁头等于盘片数量 |
部件 | 说明 |
---|---|
扇区 | 盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大) 存放数据的最小单位 512字节。 其中8个扇区组成一块,每块为4k,共512×8=4096字节 |
磁道 | 同一盘片不同半径的同心圆 |
柱面 | 不同盘片相同半径构成的圆(柱面和磁道数量相同) |
硬盘存储容量=磁头数(8个2进制)×磁道(柱面)数×每道扇区数(6个二进制)×每扇区字节数
IDE、SATA、SCSI、SAS、光纤接口
优点 | 缺点 |
---|---|
优化I/O性能(读写) | 无法动态扩容 |
实现磁盘空间配额限制 | |
提高修复速度 | 必须使用连续的空间 |
隔离系统和程序 | |
安装多个OS | 无备份冗余的功能 |
采用不同文件系统 |
①硬盘的mbr主引导程序,作用是引导硬件找到操作系统,共占用446字节。
②硬盘分区表,作用是记录分区开始和结束的位置,一个分区表占用16字节。
③结束标志位:55AA
2.2 MBR的分区三种类型
总之,GPT分区概念包括分区表、分区类型、分区标识符、分区大小和兼容性等方面,它提供了更大的分区容量和更高的数据可靠性,逐渐取代了传统的MBR分区方案
功能:查询Linux操作系统的磁盘设备、建立磁盘分区
查询Linux操作系统的磁盘设备
通式:fdisk? -l? 设备名
用法:fdisk? -l? ? ? ? ? ? ? ? ? ? ? ?//查看所有磁盘设备
? ? ? ? ? fdisk? -l? /etc/sda? ? ? ? ?//只查看sda设备
建立磁盘分区
通式:fdisk? /dev/设备名? ? ? ? ? ?//进入磁盘的分区界面
功能:可查看块设备属性信息
功能:查看Linux操作系统的内存
功能:创建文件系统(格式化)常用选项
通式:mkfs.文件系统类型? ?磁盘设备名? ? ? ? ? ? ? ? //将文件系统安装入磁盘
功能:格式化swap分区
通式:mkswap? 设备名? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //将swap分区装入磁盘
功能:挂载,将磁盘与Linux系统文件夹作关联
规则:
mount? ?存储设备? ?挂载点目录? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //挂载磁盘等设备
mount? ?-o? ?loop? ?ISO镜像文件? ?挂载点目录? ? ? ? ? ? ? ? ? ? ? ? ? //挂载镜像
1.1在虚拟机设置里,选择添加硬盘,一直默认选项,下一步下一步即可,最后添加完成后一定要点击确认
1.2磁盘建立完成后,使用以下三条命令刷新新建的磁盘设备,不需要重启
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
fdisk? /dev/sdb? ? ? ? ? //进入sdb磁盘设备分区界面
如果分区不能识别时,使用以下命令后,可查看新添加的磁盘主分区
partprobe /dev/sdb
mkfs.xfs? /etc/sdb1
以上就是新建磁盘主分区的步骤,已经建立sdb磁盘设备的主分区的分区,接下来可正常使用该分区
fdisk? /dev/sdb? ? ? ? ? //进入sdb磁盘设备分区界面
mkfs.xfs? /etc/sdb5
以上就是新建磁盘逻辑分区的步骤,已经建立sdb磁盘设备的逻辑分区,接下来可正常使用该分区
命令挂载是临时的,系统启动后挂载就会失效,要想永久挂载需要写到/etc/fstab配置文件里,最好使用UUID号进行挂载
vim? /etc/fstab? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//永久挂载需写入/etc/fstab
mount -a //查看/etc/fstab内容是否写错,重新挂载/etc/fstab中的条目
假如写入设备的UUID号出错,开机也无法检测,也无法正常启动Linux系统
UUID故意删除开头的7,mount命令也查找不到该UUID
重启超时后会显示出下面这个界面,系统会提示你按ctrl?+d重新启动。启动失败,是加载fstab文件时出现错误,重启也没用,要进入root用户,进行修改文件
进入/dev/fstab配置文件后,解决方法一是可以把UUID号改正确,二是把出错的一行全删除,三是把错误行开头加#注释掉,解决完退出编辑模式,再输入reboot重启后就可以正常使用Linux系统了
fdisk? /dev/sdb? ? ? ? ? //进入sdb磁盘设备分区界面
?如果分区不能识别时,使用以下命令后,可查看新添加的磁盘swap分区
partprobe /dev/sdb
mkswap? /dev/sdb2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //格式化swap分区
swapon? ?设备名
swapoff? 设备名? ? ? ? ? ? ? ? ? ? ? ? ? ?//关闭该设备的swap分区
swapoff? -a? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //关闭全部设备的swap分区
①XFS文件系统
②SWAP,交换文件系统
SWAP,交换文件系统
③linux支持的其它文件系统类型
dd? if=/dev/zero? of=/dev/sdb1? bs=6M? count=1? ? ? ? ? ? ? ? ? ? ?//破坏文件系统
fsck? ?/dev/sdb1? ?-y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //修复文件系统