Linux磁盘管理:Linux磁盘及文件系统管理

Linux磁盘使用及文件系统管理介绍

Linux磁盘及文件系统管理

CPU, Memory(RAM), I/O

I/O: Disks, Ehtercard
	Disks: 持久存储数据
	
		接口类型:
			IDE(ata):并口,133MB/s
			SCSI:并口,Ultrascsi320, 320MB/S, UltraSCSI640, 640MB/S
			SATA:串口,6gbps
			SAS:串口,6gbps
			USB:串口,480MB/s
			
			并口:同一线缆可以接多块设备;
				IDE:两个,主,从
				SCSI:
					宽带:16-1
					窄带:8-1
			串口:同一线缆只可以接一个设备;
			
			iops:io per second
			
		硬盘:机械硬盘,固态硬盘;
			
			机械硬盘:
				track:磁道
				sector:扇区,512bytes
				cylinder:柱面
					分区划分基于柱面:
				
				平均寻道时间:
				
					5400rpm, 7200rpm, 10000rpm, 15000rpm
					
Linux的哲学思想:一切皆文件;
	
	设备类型:
		块(block):随机访问,数据交换单位是“块”;
		字符(character):线性访问,数据交换单位是“字符”;
		
	设备文件:FHS
		/dev
			设备文件:关联至设备的驱动程序;设备的访问入口;
				
				设备号:
					major:主设备号,区分设备类型;用于标明设备所需要的驱动程序;
					minor:次设备号,区分同种类型下的不同的设备;是特定设备的访问入口;
					
				mknod命令:
					make block or character special files
					
					mknod  [OPTION]...  NAME  TYPE  [MAJOR  MINOR]
					
						-m MODE:创建后的设备文件的访问权限;
		
		设备文件名:ICANN
		
		磁盘:
			IDE: /dev/hd[a-z]
				例如:/dev/hda, /dev/hdb
			SCSI, SATA, USB, SAS: /dev/sd[a-z]
			
			分区:
				/dev/sda#:
					/dev/sda1, ...
			
			注意:CentOS 6和7统统将硬盘设备文件标识为/dev/sd[a-z]#						
				
			引用设备的方式:
				设备文件名
				卷标
				UUID
				
磁盘分区:MBR, GPT
	MBR:0 sector
		Master Boot Record
		
			分为三部分:
				446bytes:bootloader, 程序,引导启动操作系统的程序;
				64bytes:分区表,每16bytes标识一个分区,一共只能有4个分区;
					4主分区
					3主1扩展:
						n逻辑分区
				2bytes:MBR区域的有效性标识;55AA为有效;
				
		主分区和扩展分区的标识:1-4
		逻辑分区:5+

Linux磁盘使用及文件系统管理高级概念讲解

fdisk命令:

	1、查看磁盘的分区信息:
		fdisk -l [-u] [device...]:列出指定磁盘设备上的分区情况;
		
	2、管理分区
		fdisk  device
		
		fdisk提供了一个交互式接口来管理分区,它有许多子命令,分别用于不同的管理功能;所有的操作均在内存中完成,没有直接同步到磁盘;直到使用w命令保存至磁盘上;
		
		常用命令:
			n:创建新分区
			d:删除已有分区
			t:修改分区类型
			l:查看所有已经ID
			w:保存并退出
			q:不保存并退出
			m:查看帮助信息
			p:显示现有分区信息
			
		注意:在已经分区并且已经挂载其中某个分区的磁盘设备上创建的新分区,内核可能在创建完成后无法直接识别;
			
			查看:cat  /proc/partitions
			通知内核强制重读磁盘分区表:
				CentOS 5:partprobe [device]
				CentOS 6,7:partx, kpartx
					partx -a [device]
					kpartx -af [device]
					
			分区创建工具:parted, sfdisk;
			
创建文件系统:
	
	格式化:低级格式化(分区之前进行,划分磁道)、高级格式化(分区之后对分区进行,创建文件系统)
	
		元数据区,数据区
			元数据区:
				文件元数据:inode (index node)
					大小、权限、属主属组、时间戳、数据块指针
					
				符号链接文件:存储数据指针的空间当中存储的是真实文件的访问路径;
				设备文件:存储数据指针的空间当中存储的是设备号(major, minor);
				
		bitmap index:位图索引
		
	VFS: Virtual File System
		Linux的文件系统: ext2(无日志功能), ext3, ext4, xfs, reiserfs, btrfs
		光盘:iso9660
		网络文件系统:nfs, cifs
		集群文件系统:gfs2, ocfs2
		内核级分布式文件系统:ceph
		windows的文件系统:vfat, ntfs
		伪文件系统:proc, sysfs, tmpfs, hugepagefs
		Unix的文件系统:UFS, FFS, JFS
		交换文件系统:swap
		用户空间的分布式文件系统:mogilefs, moosefs, glusterfs
		
	文件系统管理工具:
		创建文件系统的工具
			mkfs
				mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat, ...
		检测及修复文件系统的工具
			fsck
				fsck.ext2, fsck.ext3, ...
		查看其属性的工具
			dumpe2fs, tune2fs
		调整文件系统特性:
			tune2fs
			
链接文件:访问同一个文件不同路径;
	硬链接:指向同一个inode的多个文件路径;
		特性:
			(1) 目录不支持硬链接;
			(2) 硬链接不能跨文件系统; 
			(3) 创建硬链接会增加inode引用计数;
		
		创建:
			ln  src  link_file
	
	符号链接:指向一个文件路径的另一个文件路径;
		特性:
			(1) 符号链接与文件是两人个各自独立的文件,各有自己的inode;对原文件创建符号链接不会增加引用计数;
			(2) 支持对目录创建符号链接,可以跨文件系统;
			(3) 删除符号链接文件不影响原文件;但删除原文件,符号指定的路径即不存在,此时会变成无效链接;
			
			注意:符号链接文件的大小是其指定的文件的路径字符串的字节数;
			
		创建:
			ln -s  src link_file
			
			-v:verbose

Linux磁盘使用及文件系统管理使用进阶

磁盘和文件系统管理

文件系统管理工具:
	创建文件系统的工具
		mkfs
			mkfs.ext2, mkfs.ext3, mkfs.ext4, mkfs.xfs, mkfs.vfat, ...
	检测及修复文件系统的工具
		fsck
			fsck.ext2, fsck.ext3, ...
	查看其属性的工具
		dumpe2fs, tune2fs
	调整文件系统特性:
		tune2fs	
		
内核级文件系统的组成部分:
	文件系统驱动:由内核提供
	文件系统箮理工具:由用户空间的应用程序提供
	
ext系列文件系统的管理工具:
	mkfs.ext2, mkfs.ext3, mkfs.ext4
	
	mkfs -t ext2 = mkfs.ext2
	
	示例:
	mkfs.ext3 /dev/sdb1
	mkfs.ext4 /dev/sdb2
	
	ext系列文件系统专用管理工具:mke2fs
		mke2fs [OPTIONS]  device
			-t {ext2|ext3|ext4}:指明要创建的文件系统类型
				mkfs.ext4 = mkfs -t ext4 = mke2fs -t ext4
			-b {1024|2048|4096}:指明文件系统的块大小;
				mke2fs -b 2048 /dev/sdb2
			-L LABEL:指明卷标;
			-j:创建有日志功能的文件系统ext3;
				mke2fs -j = mke2fs -t ext3 = mkfs -t ext3 = mkfs.ext3
			-i #:bytes-per-inode,指明inode与字节的比率;即每多少字节创建一个Indode; 
			-N #:直接指明要给此文件系统创建的inode的数量;
			-m #:指定预留的空间,百分比;
			
			-O [^]FEATURE:以指定的特性创建目标文件系统; 
					mke2fs -O has_journal /dev/sdb2
					mke2fs -O ^has_journal /dev/sdb2
			
		e2label命令:卷标的查看与设定
			查看:e2label device
			设定:e2label device LABEL
					e2label /dev/sdb1 Sdata
			
		tune2fs命令:查看或修改ext系列文件系统的某些属性 
			adjust tunable filesystem parameters on ext2/ext3/ext4 filesystems;
			注意:块大小创建后不可修改;
			
			tune2fs [OPTIONS] device
				-l:查看超级块的内容;
				
				修改指定文件系统的属性:
					-j:ext2 --> ext3;
					-L LABEL:修改卷标;
					-m #:调整预留空间百分比;
					-O [^]FEATHER:开启或关闭某种特性;
					
					-o [^]mount_options:开启或关闭某种默认挂载选项
						acl
						^acl
						
		dumpe2fs命令:显示ext系列文件系统的属性信息
			dumpe2fs  [-h] device
			
		用于实现文件系统检测的工具
			
			因进程意外中止或系统崩溃等 原因导致定稿操作非正常终止时,可能会造成文件损坏;此时,应该检测并修复文件系统; 建议,离线进行; 
			
			ext系列文件系统的专用工具:
				e2fsck : check a Linux ext2/ext3/ext4 file system
					e2fsck [OPTIONS]  device
						-y:对所有问题自动回答为yes; 
						-f:即使文件系统处于clean状态,也要强制进行检测;
						
				fsck:check and repair a Linux file system
					-t fstype:指明文件系统类型;
						fsck -t ext4 = fsck.ext4
					-a:无须交互而自动修复所有错误;
					-r:交互式修复;		
	
CentOS 6如何使用xfs文件系统:
	# yum  -y  install  xfsprogs
		
			
	创建:mkfs.xfs 
	检测:fsck.xfs 		
	
blkid命令:
	blkid device
		blkid /dev/sdb1
			/dev/sdb1: UUID="32824e6f-3e15-40e9-9f78-fa7c08760731" SEC_TYPE="ext2" TYPE="ext3"
	blkid  -L LABEL:根据LABEL定位设备
	blkid  -U  UUID:根据UUID定位设备 
	
swap文件系统:
	Linux上的交换分区必须使用独立的文件系统;
		且文件系统的System ID必须为82;
		
	创建swap设备:mkswap命令
		mkswap [OPTIONS]  device
			-L LABEL:指明卷标
			-f:强制
			
Windows无法识别Linux的文件系统; 因此,存储设备需要两种系统之间交叉使用时,应该使用windows和Linux同时支持的文件系统:fat32(vfat); 
	# mkfs.vfat device

Linux磁盘使用及文件系统管理企业级实战

文件系统的使用:
首先要“挂载”:mount命令和umount命令

	根文件系统这外的其它文件系统要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”;此目录即为“挂载点”;
	
		挂载点:mount_point,用于作为另一个文件系统的访问入口;
			(1) 事先存在;
			(2) 应该使用未被或不会被其它进程使用到的目录;
			(3) 挂载点下原有的文件将会被隐藏;
		
	mount命令:
		mount  [-nrw]  [-t vfstype]  [-o options]  device  dir
		
			命令选项:
				-r:readonly,只读挂载; 
				-w:read and write, 读写挂载; 
				-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中;-n用于禁止此特性;
				
				-t vfstype:指明要挂载的设备上的文件系统的类型;多数情况下可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;
				
				-L LABEL:挂载时以卷标的方式指明设备;
					mount -L LABEL dir
					mount -L Bdata /mnt/
					
					blkid /dev/sdb2 
					/dev/sdb2: LABEL="Bdata" UUID="d08660a5-e673-4221-b588-42b7239a2ea8" TYPE="ext2"
					
					mke2fs -L Bdata /dev/sdb2:指定卷标名称为Bdata
					
				-U UUID:挂载时以UUID的方式指明设备;
					mount -U UUID dir
					
			-o options:挂载选项
				sync/async:同步/异步操作;
				atime/noatime:文件或目录在被访问时是否更新其访问时间戳;
				diratime/nodiratime:目录在被访问时是否更新其访问时间戳;
				remount:重新挂载; 
				acl:支持使用facl功能;
					# mount -o acl  device dir 
					# tune2fs  -o  acl  device 
					
				ro:只读 
				rw:读写 
				dev/nodev:此设备上是否允许创建设备文件;
				exec/noexec:是否允许运行此设备上的程序文件;
				auto/noauto:
				user/nouser:是否允许普通用户挂载此文件系统;
				suid/nosuid:是否允许程序文件上的suid和sgid特殊权限生效;					
				
				defaults:Use default options: rw, suid, dev, exec, auto, nouser, async, and relatime.
				
		一个使用技巧:
			可以实现将目录绑定至另一个目录上,作为其临时访问入口;
				mount --bind  源目录  目标目录
				
		查看当前系统所有已挂载的设备:
			# mount 
			# cat  /etc/mtab
			# cat  /proc/mounts
			
		挂载光盘:
			mount  -r  /dev/cdrom  mount_point
			
			光盘设备文件:/dev/cdrom, /dev/dvd
			
		挂载U盘:
			事先识别U盘的设备文件;
			
		挂载本地的回环设备:
			# mount  -o  loop  /PATH/TO/SOME_LOOP_FILE   MOUNT_POINT 
			
	umount命令:
		umount  device|dir
		
		注意:正在被进程访问到的挂载点无法被卸载;
			查看被哪个或哪些进程所战用:
				# lsof  MOUNT_POINT
				# fuser -v  MOUNT_POINT
				lsof /mnt/
				fuser -v /mnt
				
				终止所有正在访问某挂载点的进程:
				# fuser  -km  MOUNT_POINT
				
交换分区的启用和禁用:
	创建交换分区的命令:mkswap
						mkswap device 
						mkswap /dev/sdb1
	
	启用:swapon
		swapon  [OPTION]  [DEVICE]
			-a:定义在/etc/fstab文件中的所有swap设备;
			
	禁用:swapoff
		swapoff DEVICE
		
设定除根文件系统以外的其它文件系统能够开机时自动挂载:/etc/fstab文件 
	每行定义一个要挂载的文件系统及相关属性:
		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:次级自检
				...
			
		mount  -a:可自动挂载定义在此文件中的所支持自动挂载的设备;
		
两个命令:df和du
	df命令:
		df [OPTION]... [FILE]...
			-l:仅显示本地文件的相关信息;
			-h:human-readable
			-i:显示inode的使用状态而非blocks
			
	du命令:
		du [OPTION]... [FILE]...
			-s: sumary
			-h: human-readable
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值