day24学习笔记(4月6日)

磁盘管理

硬盘的概念

  • 硬盘是什么

硬盘是计算机中用来存储、持久化存储数据的一个设备。市面上主流的硬盘有两类、机械硬盘、固态硬盘,有不同的接口(M.2、SATA、IDE、SCSI、SAS等),有个人硬盘,服务器硬盘

  • 与内存的区别

硬盘中的数据,关机后,一直存在。硬盘也被成为磁盘,因为磁盘存储数据和电磁有关,比如机械硬盘中就有多张磁盘。

新磁盘的启用过程

  • 磁盘分区 /dev/sda1/dev/sd1/dev/sdc
  • 格式化文件系统 NTFS、ext3、ext4、xfs
  • 挂载
  • 读写数据

磁盘分区工具

数据恢复软件,硬盘分区工具,系统备份软件 - DiskGenius官方网站

image

磁盘的工作原理

工作原理:磁头在旋转的盘面找到数据,完成读写

主要组成部分:

内部零件:
机械手臂
磁头
盘片
主轴马达
硬盘接口(M.2NAMV协议、SATA、SAS、PACIE、)

image

盘面需要记忆内容:

  • 磁道

  • 扇面

  • 扇区(sector):扇区是磁盘读写信息的最小单位,大小为512bytes (512字节)

  • 块(block):多个连续的、相邻的扇区,组合在一起,形成块(linux下的block)、在windows中成为簇,linux文件系统会读取8个连续的相邻扇区,因此最小的linux文件单位是4k即(8*512bytes=4096bytes=4KB)

  • 文件的数据,是存储在硬盘中的block块中,也就是连续多个扇区中

image

MBR分区表(master、boot、record disk partition table)

在MBR磁盘的第一个扇区内保存着系统启动代码和硬盘分区表。开启机器启动代码就会指引计算机从活动分区引导启动操作系统;分区表的作用是记录硬盘的分区信息。

mbr分区的特点

1、MBR分区表最多只能识别2T的空间,大于2T的容量无法识别,造成磁盘空键的浪费

2、MBR分区表最多只能支持4个主分区或3个主分区1个扩展分区,逻辑分区不受限制

3、优点是兼容性较好

GPT分区(Globally Unique Identifier Partition Table)

GPT分区的特点

1、在windows系统中可支持128个分区

2、自带磁盘数据保险机制

更多关于Mbr的原理,https://baike.baidu.com/item/%E4%B8%BB%E5%BC%95%E5%AF%BC%E6%89%87%E5%8C%BA/7612621

关于mbr、gpt更多硬盘原理,https://www.eassos.cn/jiao-cheng/ying-pan/mbr-vs-gpt.php

硬盘命名规则

不同硬盘(不同接口)插入到系统中,有不同的名字

OS IDE(并口) SATA(串口) SCSI
RHEL5 /dev/hda /dev/sda /dev/sda
RHEL6 /dev/sda /dev/sda /dev/sda
RHEL7 /dev/sda /dev/sda /dev/sda

按分区数量命名

/dev/sda1
/dev/sda2
/dev/sda3

系统分区的三种类型

  • 主分区

一个硬盘的主分区也就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必须得有一个主分区。

第一块硬盘,系统启动的分区/dev/sda,安装操作系统

  • 扩展分区

扩展分区也就是除主分区外的分区,但它不能直接使用,必须再将它划分为若干个逻辑分区才行。

  • 逻辑分区

逻辑分区大小总和不能超过扩展分区大小

逻辑分区分区编号从5开始

文件系统的分类

windows识别FAT32、exFAT、NTFS类型的文件系统

macos识别exexFAT、HFS/HFS+、APFS

linux识别Ext2/3/4(centos4/5/6)、XFS(centos7)

u盘使用的文件系统是exFAT

fdisk命令

#用于完成MRB类型的分区操作

-v   打印 fdisk 的版本信息并退出.
-l   列出指定设备的分区表信息并退出。 如果没有给出设备,那么使用那些在 /proc/partitions (如果存在)提到的.
-u  以扇区数而不是以柱面数的形式显示分区表中各分区的信息

#交互式的参数
Command action
   a   toggle a bootable flag    切换可启动标志
   b   edit bsd disklabel   编辑 bsd 磁盘标签
   c   toggle the dos compatibility flag   切换 dos 兼容性标志
   d   delete a partition   删除分区
   g   create a new empty GPT partition table   创建新的空 GPT 分区表
   G   create an IRIX (SGI) partition table   创建一个 IRIX (SGI) 分区表
   l   list known partition types  列出已知分区类型
   m   print this menu  打印此菜单
   n   add a new partition   添加新分区
   o   create a new empty DOS partition table   创建新的空 DOS 分区表
   p   print the partition table  打印分区表
   q   quit without saving changes  退出而不保存更改
   s   create a new empty Sun disklabel   创建新的空 Sun 磁盘标签
   t   change a partition's system id  更改分区的系统 ID
   u   change display/entry units  更改显示/输入单位
   v   verify the partition table  验证分区表
   w   write table to disk and exit   将表写入磁盘并退出
   x   extra functionality (experts only)  额外功能(仅限专家)

gdisk命令

#需要安装
yum  install   gdisk   -y

#用于完成GTP类型分区

#交互式的参数
Command (? for help): ?  
b	back up GPT data to a file  将 GPT 数据备份到文件
c	change a partition's name   更改分区的名称
d	delete a partition   删除分区
i	show detailed information on a partition   显示分区上的详细信息
l	list known partition types  列出已知分区类型  
n	add a new partition   添加新分区
o	create a new empty GUID partition table (GPT)   创建新的空 GUID 分区表 (GPT)
p	print the partition table  打印分区表
q	quit without saving changes  退出而不保存更改 
r	recovery and transformation options (experts only)   恢复和转换选项(仅限专家)
s	sort partitions  对分区进行排序
t	change a partition's type code   更改分区的类型代码
v	verify disk  验证磁盘
w	write table to disk and exit 将表写入磁盘并退出
x	extra functionality (experts only)  额外功能(仅限专家)
?	print this menu  打印此菜单

parted命令

#可以使用parted命令修改磁盘分区的类型(gpt改为mbr)

#参数

  -l, --list               lists partition layout on all block devices  列出所有块设备上的分区布局
  -m, --machine            displays machine parseable output   显示机器可解析输出
  -s, --script             never prompts for user intervention   从不提示用户干预
  -v, --version            displays the version    显示版本信息
  -a, --align=[none|cyl|min|opt]  alignment for new partitions   新分区的对齐方式


#交互式常用的参数
 
 mklabel,mktable LABEL-TYPE     create a new disklabel (partition table)  创建新的磁盘标签(分区表)
print   display the partition table   显示分区表

磁盘管理常用命令

lsblk   #查看新增磁盘的信息
lsblk   -f   #查看磁盘分区的文件系统

df   -h    #查看磁盘的信息

挂载的理解

挂载通常是将一个存储设备挂接到一个已经存在的目录上,访问这个目录(挂载点)就是访问该存储设备的内容。

对于Linux系统来说,一切皆文件,所有文件都放在以根目录为起点的树形目录结构中,任何硬件设备也都是文件形式。

挂载注意事项

1.一个目录、同一时间只能被一个设备挂载
2.一个设备可以挂载多个目录
3.如果一个目录被多个设备挂载,只能看到最后一个挂载的设备数据,其他的设备数据会被隐藏。
4.工作里建议用新的文件夹,作为挂载点。

mount命令

mount命令可以将指定的文件系统挂载到指定目录(挂载点),在Linux系统下必须先挂载后才能访问设备

  • 新的硬盘插到机器上,分区、格式化文件系统后,此时可以可以存放数据了
  • 此时的硬盘插到linux上,也只是读取出了一个封闭的盒子,无法读写
  • 和linux的文件夹进行关联、挂载后,即可通过访问被挂载的文件夹,访问到硬盘的数据
参数 解释
-l 显示系统以挂载的设备信息
-a 加载文件/etc/fstab中设置的所有设备
-t t<文件系统类型> 指定设备的文件系统类型。如果不设置,mount自行选择挂载的文件类型 minix Linux最早使用的文件系统。 ext2 Linux目前的常用文件系统。 msdos MS-DOS 的 FAT。 vfat Win85/98 的 VFAT。 nfs 网络文件系统。 iso9660 CD-ROM光盘的标准文件系统。 ntfs Windows NT的文件系统。 hpfs OS/2文件系统。Windows NT 3.51之前版本的文件系统。 auto 自动检测文件系统。
-o 添加挂载选项,是安全、性能优化重要参数
-r 只读,等于-o ro
-w 读写,等-o rw

mount -o选项详解

参数 含义
async 以异步方式处理文件系统I/O操作,数据不会同步写入磁盘,而是写到缓冲区,提高系统性能,但损失数据安全性
sync 所有I/O操作同步处理,数据同步写入磁盘,性能较弱,数据安全性高
atime/noatime 文件被访问时是否修改时间戳,不更改时间,可以提高磁盘I/O速度
auto/noauto 通过-a参数可以自动被挂载/不自动挂载
defaults 默认值包括rw、suid、dev、exec、auto、nouser、async,/etc/fstab大多默认值
exec/noexec 是否允许执行二进制程序,取消提供安全性
suid/nosuid 是否允许suid(特殊权限)生效
user/nouser 是否允许普通用户挂载
remount 重新挂载
ro 只读
rw 读写

umount命令和注意事项

umount命令用于取消已挂载的设备
-f 强制卸载

#注意:当使用umount取消设备挂载提示繁忙则说明,目录仍有人使用。正确的排错思路
1、使用lsblk命令查看核实挂载情况
2、如果当前工作目录处于挂载目录内,需用用cd命令切换目录,再进行取消挂载动作
3、使用lsof命令加设备路径,查看进程信息
4、使用kill  -9强制杀死进程,再进行取消挂载动作
5、可以使用df   -h  命令查看挂载是否取消

Eject弹出设备命令

eject # 弹出光驱

eject -r /dev/sr0 # 指定设备弹出

[yuchao-linux-242 root ~]#eject

自动挂载磁盘分区

#开机自动挂载
vim  /etc/fstab
参照写入即可

#自动挂载磁盘分区

blkid  /dev/sdb
/dev/sdb: UUID="c7f28407-0c4d-4dcf-9b45-dcb8ffe24c83" TYPE="xfs" 

vim  /etc/fstab
UUID="c7f28407-0c4d-4dcf-9b45-dcb8ffe24c83" TYPE="xfs" /opt/yy     xfs   defaults        0 0


df   -h   #检查当前挂载数情况
mount   -a  #挂载所有设备



posted on 2022-04-07 22:08  Cloud~Commander  阅读(404)  评论(0编辑  收藏  举报