磁盘分区命令与文件系统简介
这一次的博客是整理一下这周所学的磁盘分区fdisk与mount命令,内容不难但是比较琐碎,需要记忆的命令比较多,刚好借着博客来复习一下命令,加强一下记忆。废话不多说,开始!
首先做一下准备工作:在虚拟机上增加一个或多个磁盘,这个比较简单,在VMware虚拟机上方点虚拟机右键—>设置—>选中硬盘点击添加—->接下来如若只是添加硬盘的话一直点下一步就行了
成功后需要重启一下或者使用echo ”- – -” /sys/class/scsi_host0/scan命令进行更新
好了,准备工作完成了,开始介绍我们这次博客的第一条磁盘分区命令fdisk。下面介绍fdisk命令的使用方法(适用于MBR分区)
fdisk 硬盘名(/dev/sd*) 进行分区(举例:fdisk /dev/sdb)
m 帮助
n 建立分区
d 删除分区
p 显示分区信息
t 转换分区类型
a 将指定分区设置/取消 活动分区
L 查看分区类型
o 重建分区表
v 验证分区表,显示剩余没有被分区划分的扇区数量
g 创建GPT格式的分区(centos7)
q 退出不保存
w 退出并保存,不保存,所有的修改都不生效
fdisk -l 硬盘名(/dev/sd*) 查看硬盘分区信息或者cat /proc/partitions文件,可以查看硬盘的分区信息
兄弟命令gdisk,功能与fdisk相似,适用于GPT分区(GPT分区与MBR存在一定的差异,后者单个分区不超过2T)总之需要建立什么分区就用什么命令,对吧
*******************************************************************************
Parted分区命令,虽然说是一个老命令了,但是既可以建立MBR分区,也可以建立GPT分区,功能强大
虽然强大,但是parted的操作都是实时生效的,小心使用
用法:parted [选项]… [设备 [命令 [参数]…]…]
parted /dev/sdb mklabel gpt|msdos (选择要建立什么分区GPT或者MSDOS(默认))
parted /dev/sdb print (显示/dev/sdb硬盘分区信息)
parted /dev/sdb mkpart primary 1 200(交互式为/dev/sdb创建一个1到200M的主分区)
parted /dev/sdb rm 1 (删除/dev/sdb硬盘中编号为1的分区)
parted -l (显示硬盘分区信息)
*******************************************************************************
在建立分区后需要同步一下分区表
在centos7中使用partprobe 命令就能同步
而在centos6中 partprobe命令存在BUG使用不成
新增分区用 partx -a /dev/sd*
删除分区用 partx -d –nr M-N /dev/sd*
查看内核是否已经识别新的分区: cat /proc/partations
练习1;写一个通过fdisk自动分区的脚本,会对一个空硬盘/dev/sdb进行分区,增加三个大小为1G的主分区。
fdisk属于非交互式分区,可以与管道符结合使用
echo -e “n\np\n1\n\n+1G\nw\n” |fdisk /dev/sdb 非交互式分区
****************************************************************************************
练习2:使用parted命令,对一个空硬盘/dev/sdb进行分区,增加一个大小为1G的主分区。
parted /dev/sdb mkpart primary 1 1000
parted属于交互式分区,可以直接对硬盘进行分区
********************************************************************************************************************
文件系统
文件系统是操作系统用于明确存储设备或分区上的文件的方 法和数据结构;即在存储设备上组织文件的方法。操作系统 中负责管理和存储文件信息的软件结构称为文件管理系统, 简称文件系统 。
Linux文件系统:ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs( AIX), swap (目前我了解的只有ext*,xfs,swap文件系统,还要继续学习)
我们可以进入这个文件 /lib/modules/`uname –r`/kernel/fs (或/etc/filesystems),查看操作系统支持的文件系统。
现在学习比较多的是ext的文件系统,目前有ext2,ext3,ext4三种文件系统,其中ext2 与 ext3,ext4的差别在于是否支持”journal”功能:
日志型文件系统: ext3, ext4, xfs, …
非日志型文件系统: ext2, vfat
文件系统的组成部分: 内核中的模块:ext4, xfs, vfat 用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
文件系统的管理命令:
mkfs命令 # mkfs.TYPE /dev/sd*(举例:mkfs.ext4 /dev/sdb2 还可以是mkfs.xfs /dev/sdb2 mkfs.vfat /dev/sdb3….)
【这里要注意的是mkfs.xfs命令可能会用不了,xfs是由xfsdump.x86_64.rpm包(centos7)提供的,所以要安装包后才能使用】
mkfs -t TYPE /dev/sd*(举例: mkfs -t ext4 /dev/sdb2,mkfs -t xfs /dev/sdb2)
-L ‘LABEL’: 设定卷标(卷标就像是这个磁盘分区的名字,和UUID,可以通过卷标和UUID对分区进行查找和设置)
ext系列文件系统专用管理工具 mke2fs:)(举例:mke2fs -t ext3 -b 1024 -L LABEL -m 1 /dev/sdb2)
-t {ext2|ext3|ext4}
-b {1024|2048|4096}
-L ‘LABEL’
-j: 相当于 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i #: 为数据空间中每多少个字节创建一个inode;此大 小不应该小于block的大小
-N #:指定分区中创建多少个inode
-I 一个inode记录占用的磁盘空间大小,128—4096
-m #: 默认5%,为管理人员预留空间占总空间的百分比
-O FEATURE[,…]:启用指定特性
-O ^FEATURE:关闭指定特性
练习:创建一个2G的文件系统,块大小为2048byte,预留1%可 用空间,文件系统ext4,卷标为TEST。
parted /dev/sdb mkpart primary 1 2048;mke2fs -b 2048 -m 1 -t ext4 -L TEST /dev/sdb1
************************************************************************************************
块设备属性信息查看 blkid命令
blkid [OPTION]… [DEVICE] (举例:blkid /dev/sdb)
-U UUID: 根据指定的UUID来查找对应的设备
-L LABEL:根据指定的LABEL来查找对应的设备
管理ext系列文件系统的LABEL e2label:(举例 e2label /dev/sdb1)
页可以修改硬盘分区的卷标LABEL(举例: e2label DEVICE LABEL )
重新设定ext系列文件系统可调整参数的值 tune2fs(类似命令dumpe2fs [-h] 查看超级块信息)
-l:查看指定文件系统超级块信息;super block
-L ‘LABEL’:修改卷标
-m #:修预留给管理员的空间百分比
-j: 将ext2升级为ext3
-O: 文件系统属性启用或禁用,–O ^has_journal
-o: 调整文件系统的默认挂载选项,–o ^acl
-U UUID: 修改UUID号
*****************************************************************************************************************
文件系统检测和修复
常发生于死机或者非正常关机之后
挂载为文件系统标记为“no clean”
注意:一定不要在挂载状态下修复
fsck.TYPE fsck -t TYPE
-p: 自动修复错误
-r: 交互式修复错误
ext系列文件专用的检测修复工具 e2fsck
-y:自动回答为yes
-f:强制修复
原创文章,作者:Ganten,如若转载,请注明出处:http://www.178linux.com/85013