linux之磁盘分区与文件系统

磁盘分区与文件系统
CPU
I/O
接口类型:
IDE:两块设备,有主有从
SCSI:并口:可以接多块设备
硬盘:
机械硬盘:
扇区:一个扇区512字节
磁道:盘片上有很多的磁道,由外而内。(每一面都有磁性物质)
磁头臂:用来定位磁道
柱面:
分区划分基于柱面划分
设备类型:
块(block):随机访问,数据交换单位是“块"
字符(character):线性访问,数据交换单位是“字符”
/dev
设备文件:关联至设备的驱动程序;设备的访问入口;
设备号:
major:主设备号,区分设备类型;用于标明设备所需要的驱动程序
minor:次设备号,区分同种类型下的不同的设备:是特定设备的访问入口
mknod命令:
建立块专用或字符专用文件
分区:
/dev/sda
注:Centos6/7将硬盘设备文件标识为/dev/sd[a-z]
磁盘分区:
MBR:主引导记录
分为三部分:
前446字节:用来引导启动操作系统的程序
后64字节:分区表:每16字节标识一个分区,一共只能有4个分区
最后2字节:MBR区域的有效性标识;55AA为有效
主分区和扩展分区的标识:1-4
逻辑分区;5+
fdisk命令:
-l:列出磁盘设备上的分区情况
管理分区:
fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有的操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘上
常用命令:
n:创建新分区
d:删除已有分区
t:修改分区类型
1:查看所有已经ID
w:保存并退出
q:不保存并退出
m:查看帮助信息
p:显示现有分区信息
注意:在已经分区井且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别
查看:cat /proc/partitions
通过内核强制重读磁盘分区表:
Centos7:partx,kpartx
partx -a [device]
分区创建工具:parted、sfdisk
创建文件系统
格式化:低级格式化(分区之前进行,划分磁道).高级格式化(分区之后对分区进行,创建文件系统)
元数据区.数据区
元数据区:
文件元数据: inode (index node)
大小权限、属主属组、时间戳…
VFS: Virtual Fle System
linux的文件系统: ext2, ext3, ext4, xfs, relserts, btrts
光盘: iso9660
网络文件系统: nfs, cifs
集群文件系统: gfs2, ocfs2
内核极分布式文件系统: ceph
windows的文件系统: vfat, ntfs
伪文件系统: proc, sysfs, tmpfs, hugepagets
Unix的文件系统: UFS,FFS, JFS
交换文件系统: swap
用户空间的分布式文件系统: moglefs, moosefs, glusterfs
文件系统管理工具:
创建文件系统的工具
mkfs:
mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs., …
检测及修复文件系统的工具
fsck:
fsck.ext2, fsck.ext3, …
链接文件:访问同一个文件不同路径
硬链接:指向同一个inode的多个文件路径
特性:
目录不支持硬链接
不能跨文件系统
创建硬链接会增加inode引用次数
链接文件---->内存地址<----原文件
符号链接:指向一个文件路径的另一个文件路径
特性:
符号链接与文件是两人个各自独立的文件,各有自己的inode对原文件创建符号链接不会增加引用计数
支持对目录创建符号链接,可以跨文件系统
删除符号链接文件不影响原文件:但删除原文件,符号指定的路径即不存在,此时会变成无效接链
链接文件---->原文件---->内存地
内核级文件系统的组成部分:
文件系统驱动:由内核提供
文件系统管理工具:由用户空间的应用程序提供
ext系列文件系统的管理工具
mkfs.ext4…
swap交换系统:
linux交换分区必须使用独立的文件系统,且文件系统的system ID必须为82
创建swap设备:
mkswap:
-l:指定卷标
-f:强制
windows无法识别linux的文件系统:因此,存储设备需要两种系统之间交叉使用时,应该使用windows和Lnux同时支持的文件系统: fat32(vfat)
mkfs.vfat device

文件系统的使用
    首先要“挂载”: mount命令和umount命令
    根文件系统外的其它文件系统要想能够被访问,都必须通过“关联"至根文件系统上的某个目录来实现,此关联操作即为“挂载" 此目最即为“挂载点”
    挂载点:mount_point,用于作为另一个文件系统的访问入口
		(1)事先存在
		(2)应该使用未被或不会被其它进程使用到的目录
		(3)挂载点下原有的文件将会被隐藏
    mount命令:
        命令选项:
            -a:更新挂在信息
			-r:只读挂载
			-w:读写挂载
			-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中: n用于禁止此特性
    查看当前系统所有已挂载的设备:
         mount
		 cat /etc/mtab
		 cat /proc/mounts
    umount命令:
        卸载挂载点
        注意:正在被进程访问到的挂载点无法被卸载
        查看被哪个或哪些进程所占用:
             Isof MOUNT POINT
			fuser -v MOUNT_POINT
			终止所有正在访问某挂载点的进程:
			fuser -km MOUNT_POINT
	交换分区的启用和禁用:
	    创建交换分区的命令: mkswap
	    启用: swapon
	        swapon (OPTION] (DEVICE]
	            -a:定义在/etc/tstab文件中的所有swap设备
	    禁用:swapoff
	        swapoff device


    设定除根文件系统以外的其它文件系统能够开机时自动挂载: /et/tstab文件
	    每行定义一个要挂载的文件系统及相关属性:
			6个字段:
			    (1)要挂载的设备:
			        设备文件:
			            LABEL
			            UUID
			            伪文件系统:如sysfs, proc, tmpfs等
				(2)挂载点
					swap类型的设备的挂载点为swap
				(3)文件系统类型:
				(4)挂载选项
					defaults:使用默认挂程选项
					如果要同时指明多个挂载选项,彼此间以逗号分隔
					defaults,acl,noatime,noexec
			    (5)转储频事
					0: 从不备份
					1:每天备份
					2:每隔一天备份
				(6)自检次序
					0:不自检
					1:首先自检,通常只能是根文件系统可用1
					2:次级自检
                    ......
            注:通过blkid命令查看分区的uuid
    df与du命令
        df命令:查看文件系统磁盘空间的使用情况
        du命令:查看磁盘空间的使用情况(文件的大小)
            -sh:查看具体的所占空间的大小
                注:ls -lh 显示目录大小
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章