Linux磁盘文件管理
计算机组成:CPU,Memery(RAM),I/O(Disks,Ehtercard),
磁盘接口:
IDE:并口,133MB/s
SCSI:并口,ultrascsi,320MB/s
SATA:串口,6gbps
SAS:串口,6gbps
USB:串口,480MB/s
硬盘:机械硬盘,固态硬盘,机械硬盘:
track:磁道
sector:扇区,512bytes
cylinder:柱面,桶,每个片的同一个圆,磁头在每个柱面是是同步的,
分区划分基于柱面:每片盘的同一个柱面是一个分区的。
设备类型:
块(block):随机访问,数据交换的单位:块
字符(character):线性访问,数据交换单位:字符
设备文件:FHS /dev
设备文件:关联至设备的文件驱动程序,设备的访问入口
设备号:
major:主设备号
minor:次设备号
mknod: mknod – make block or character special files
mknod [OPTION]... NAME TYPE [MAJOR MINOR] -m: mode 创建后的设备文件的访问权限 # mknod /dev/test-dev b 111 2 创建块设备test-dev
设备文件名:ICANN分配文件
磁盘:
IDE: /dev/hd[a-z]
例如:/dev/hda, /dev/hdb
SCSI,SATA,USB,SAS:
硬盘:/dev/sd[a-z]
分区:/dev/sda#:
例如:/dev/sda1,…
例如:/dev/sdb1,…
示例:
brw-rw----. 1 root disk 8, 0 Jul 25 14:03 sda 硬盘 brw-rw----. 1 root disk 8, 1 Jul 25 14:03 sda1 分区 brw-rw----. 1 root disk 8, 2 Jul 25 14:03 sda2 分区 brw-rw----. 1 root disk 8, 3 Jul 25 14:03 sda3 brw-rw----. 1 root disk 8, 4 Jul 25 14:03 sda4 brw-rw----. 1 root disk 8, 5 Jul 25 14:03 sda5 brw-rw----. 1 root disk 8, 16 Jul 25 14:05 sdb 硬盘 brw-rw----. 1 root disk 8, 17 Jul 25 14:05 sdb1 分区 brw-rw----. 1 root disk 8, 18 Jul 25 14:05 sdb2 分区 brw-rw----. 1 root disk 8, 19 Jul 25 14:05 sdb3
注意:centos6和7统统将硬件设备文件标示为dev/sd[a-z]#
引用设备的方式:可用:blkid /dev/sda5 命令查看
[root@localhost ~]#blkid /dev/sda1 /dev/sda1: UUID="9f959a36-3cbb-4e86-8bd6-f8338d3f1e2b" TYPE="ext4"
设备文件名:/dev/sda5
卷标:LABEL="mydata" 自己定义的标示名字
UUID:UUID="cb9318ae-f8d0-46dc-a3a1-334aff72bd9f" 全球唯一id
磁盘分区:MBR, GPT
MBR: 0号sector,master boot record
分为三部分:
446bytes:bootloader,程序,引导启动操作系统的程序,删除系统启动不了
64bytes:分区表,每16字节标示一个分区,一共只能有4个分区;
2bytes:MBR区域有效性标记,55AA为有效
主分区和扩展分区的标示:1-4
逻辑分区:5+ 不管主分区是否只有一个还是两个,逻辑分区都是从序号5开始
gfisk:创建gpt文件格式分区的工具
fdisk:
分区管理命令 Partition table manipulator for Linux
fdisk -l [-u] [device …]
# fdisk -l /dev/sda
管理分区
fdisk device
fdisk -l 查看系统分区类型
fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同管理功能,所有的操作均在内存中完成,没有直接同步到磁盘,直到使用w命令保存在磁盘上
常用命令:
n:创建新分区 d:删除已有分区 t:修改分区类型 l:查看所有已知id w:保存并退出 q:不保存并退出 m:查看帮助信息 p:显示现有的分区信息
新建分区,n ,指定最后的扇区,+扇区或+size{k,m,g}
创建文件系统:一个块只能属于一个文件,最小单元
虚拟机新加硬盘后,/dev目录下面不会显示,执行此命令来重新识别
[root@localhost ~]#echo "- - -" > /sys/class/scsi_host/host2/scan centos7
centos6 看是host# 几个都试试
新装的硬盘都可以在/dev/目录下面看到硬盘,接下来就是利用命令分区,分区完成也可以在/dev/下看到,显示的不是实时的信息,当分区后不会实时显示,需要使用partx命令来,#fdisk显示的是实时的
[root@localhost ~]#ll /dev/sd* [root@localhost ~]#lsblk
分区完后内核可能无法直接使用分区,要强制内核重新识别分区
# cat /proc/partitions 查看内核识别的分区数量 centos5,7:# partprobe /dev/sdb centos6:# partx -a /dev/sd# 增加分区让重新识别分区数量,可多执行几次 centos6:# partx -d /dev/sd# 删除分区让重新识别分区数量,可多执行几次
格式化:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统)
数据:元数据区,数据区
元数据区:文件元数据:inode(index node),包含大小、权限、属主属组、时间戳、数据块指针
文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。
符号链接文件:存储数据指针的空间当中存储的是真实文件的访问路径
设备文件:存储数据指针的空间当中存储的是设备号(major,minor)
磁盘块位图索引(bitmap index),每个块对应一个位,已用置1,未用置0,节省时间
评论前必须登录!
注册