磁盘管理基础--分区管理

磁盘管理基础-分区设置

磁盘管理命令

df

格式:df [选项]
	-a	显示所有文件系统(包含特殊的proc)
	-h	常见单位显示大小df
	-T	显示挂载的文件系统类型

du

格式: du [选项] 目录
	-a	显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
	-h	常见单位显示大小xfs
	-s	统计总占用和,不再列出子文件的占用量

fsck

格式: fsck -y 分区名 (开机就启动检查)
fsck 属于自动修复出现问题的文件系统(仅限centos 6.x) 仅支持(ext系列的)

dumpe2fs

格式: dumpe2fs -h 分区名(查看ext4类文件系统分区信息的)
显示重点: 
	卷标、挂载点、UUID、挂载参数、文件系统状态
	inode总量/空闲、block总量/空闲、单block 的大小等。
	此命令适用于ext4文件系统类型,不支持xfs

stat

格式: stat 文件名  # 显示文件的详细信息
	文件名、文件大小、占用block数量、单block的大小、所在设备编号、inode号、硬链接数、权限、属主、属组、访问时间、数据修改时间、状态修改时间

file命令

格式: file 文件名 # 判断文件更详细的类型

type

格式: type 命令名称 # 判断命令是外部命令还是shell内置命令

xfs_info

xfs_info 分区名称  # 显示xfs文件系统 相关分区的详细信息(专属centos 7.x)

xfs_repair

xfs_repair 选项 分区名称		#检测并修复xfs文件(专属centos 7.x) 分区必须处于卸载状态
	-d:专门针对/分区的修复,但必须在单用户模式修复	

查看磁盘、分区等信息

mount # 查看已挂载的所有设备
blkid:# 列出所有分区的uuid号
lsblk:# 列出分区的结构图

分区命令

XFS文件系统

	xfs文件系统是一种高性能的日志文件系统,工作原理和ext4基本一致;相较而言,xfs的格式化速度较为快速,非常适合目前磁盘空间很大的情况。
# xfs文件系统的三部分:
1.数据区(Data section):类似于ext4文件系统的块组
2.文件系统活动登录区(Log section):记录文件变化,最终将变化同步到数据块
3.实时运行区(Realtime section):默认64k(4k-1G),作用类似于缓存,数据先保存在此处,对应文件的块和inode分配完成后将数据移到指定位置

fdisk

$ fdisk -l	#查看系统所有硬盘及分区的详细信息
$ fdisk -l /dev/sda  # 查看指定磁盘的详细信息和分区信息
$ fdisk	 磁盘名称(/dev/sda)	#创建或修改磁盘的分区结构
# 注意:fdisk命令对某磁盘进行分区是,默认启用的是MBR分区表结构
# 进入后命令选项
   a   toggle a bootable flag  切换一个启动标志
   b   edit bsd disklabel   编辑bsd磁碟标签
   c   toggle the dos compatibility flag   切换dos兼容性标志
   d   delete a partition   删除一个分区
   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)额外功能(仅限专家)

partprobe

$ partprobe 磁盘名 	#将磁盘的最新分区状况发送给内核
警告提示:若提示Device or resource busy. The kernel still uses the old table.The new table will be used at the next reboot。也可不必重启,卸载重新挂载,从而解决设备占用的问题。
命令不存在时请安装:parted-*-*.rpm

mkfs

格式:mkfs 选项 分区名称
	-t	文件系统 # 指定文件系统类型ext3、ext4、xfs等
	# 若不指定-t,默认是ext3
	# mkfs命令非常简单易用,不过不能调整分区的默认参数(比如块大小是4096)
$ mkfs.xfs=mkfs -t xfs
例:
mkfs -t xfs /dev/sdb1

mke2fs

格式:mke2fs 选项 分区名称
	-t	文件系统:指定格式化成哪种文件系统类型ext3、ext4、#暂不支持xfs
	-b	字节:指定格式化时,每个block 的大小
	-i	字节:指定多少字节分配一个inode号
	#使用-i 指定分区的inode数量时,必须同时指定block的大小
例:
mke2fs -t  ext4 -b4096 -i4096 /dev/sdb1	

MBR分区创建过程

1)创建分区
	$ fdisk /dev/sdb
	# 创建主分区
		n-p-1-起始点-结束点
	# 创建扩展分区
		n-e-2-起始点-结束点
	# 创建逻辑分区
   	  n-1-起始点-结束点
2) 格式化
	$ mkfs -t ext4 /dev/sdb1
	$ mkfs.ext4 /dev/sdb1
3)挂载
	/etc/fstab
	设备文件名(UUID)
	挂载点
	文件系统类型
	挂载特殊选项
	是否备份: 0 不备份 1 每天备份	#备份
	是否检查磁盘状态: 0 不检查	 1 启动时检查	2 启动后检查
4)查看
	$ df -h

分区表

常见分区表分类

Linux中常见的分区表类型有两种: MBR(主引导记录分区表) 、GPT(全局唯一标识磁盘分区表)
# 两种分区表的区别:
	MBR:磁盘最大识别到2TB;最多四个主分区,或三主一扩展
	GPT:可支持2TB以上的磁盘;分区数无限制、windows最大支持128分区,最大识别9.44ZB磁盘
	
早期的磁盘寻址方式为CHS,即磁头/柱面/扇区式寻址(从n柱面的1扇区开始数+++)

现在则使用LBA(逻辑区块地址)进行寻址,MBR、GPT均使用此种结构进行编址、寻址
LBA从LBA0开始一直往后计算,接下来的GPT分区表我们就用LBA表示

GPT分区表

GPT(GUID Partition Table)其含义为“全局唯一标识磁盘分区表”,主要用来代替MBR分区表,突破存储限制产生。
GPT分区表的构成:
LBA 0 :GPT分区的最开头(第一个扇区),考虑兼容性问题,开头仍然存放MBR分区表,只是里面存放有0xEE标识,以此声明该磁盘使用的是GPT分区表。
LBA 1 :存储了硬盘的总存储空间,以及GPT分区表的信息,定义最多能创建128个分区(windows),每个分信息占用的空间是128字节;128个分区中有一个是用来存储备份分区表的,所以可以手动指定的分区数为127个分区。
LBA 2-33:每个分区信息存放的位置,上边说了每个分信息占用的空间是128字节。2-33正好是32个扇区。32*512=16384,每个分区信息占用了128字节,16384/128=128个分区。
LBA 34:后面是第一个分区的开始

分区命令-parted

交互指令 作用
cp 将文件系统复制到另一个分区
help 打印通用求助信息
mklabel 创建新的磁盘标签 (分区表)
mkfs 创建文件系统
mkpart 创建一个分区
mkpartfs 创建一个带有文件系统的分区
move 移动分区
name 将分区命名为“xx”
print 打印分区表,或者分区
quit 退出程序
resize 改变分区中文件系统的大小
rm 删除分区
select 选择要编辑的设备
set 改变分区的标志
$ parted 磁盘名称  # 进入磁盘交互命令
1)修改分区表为GPT
	$ mklabel gpt 
2)创建新分区
	$ mkpart
		分区名称?  []? disk1
		文件系统类型?  [ext2]?                 		 起始点? 1MB
		结束点? 5GB
3)分区格式化
	$ mkfs.xfs 磁盘
4)删除指定分区
	$ rm
	分区编号? 1                           	  (parted) print

分区命令---gdisk

交互指令 作用
b 将GPT数据备份到一个文件
c 更改分区名称
d 删除一个分区
i 显示分区详细信息
l 列出已知分区类型。此处8200是Linux swap,8300是Linux filesystem(对应fdisk的82和83)。还有一个8e00是Linux LVM
n 增加一个新的分区
o 创建一个新的空白的GPT分区表
p 显示当前磁盘的分区表
q 退出gdisk程序,不保存任何修改
r 恢复和转换选项(仅限专家)
s 排序分区
t 改变分区的类型
v 验证磁盘分区表
w 将分区表写入分区表并退出(保存并退出)
x 额外功能(仅限专家)
? 显示帮助信息
# 创建一个新分区
	$ gdisk /dev/sdd
# 将分区信息更新到内核
	$ partprobe
# 格式化分区
	$ mkfs.xfs  /dev/sdd1 
# 挂载
	$ /etc/fstab

gdisk创建swap分区

# 查出swap类型的分区编号
	$ gdisk /dev/sdd ===>l==>8200
# 创建swap分区
	$ gdisk /dev/sdd
	n-2-起始点-结束点-8200-p-w
# 格式化swap分区
 	$ partprobe /dev/sdd
 	$  mkswap /dev/sdd2
# 查看当前swap分区的使用情况!
	$ free -h
# 启用swap分区
	$  swapon /dev/sdd2
	$  free -h`
# 设置自动挂载
	添加到/etc/fstab,让swap分区自动挂载
	UUID=41745d4a-ac53-4054-be0c-0b3f32601068  swap  swap    defaults        0 0
# 写入/etc/fstab后生效的方式:
swap挂载信息没有挂载点
1.	swapon 分区名
2.	reboot
posted @ 2020-04-10 11:16  候你已久  阅读(378)  评论(0)    收藏  举报