对于机械式磁盘,首先会经过生产厂商的低级格式化(划分磁道的过程),然后需要创建分区(根据柱面划分),最后经过高级格式化(格式化成使用的文件系统),再挂载(将设备关联至根文件系统),之后就可以正常的使用这个磁盘设备了
分区命令:fdisk
这个命令是一个交互式命令
fdisk -l [device] 查看当前系统所有磁盘设备(或某磁盘设备)上的分区,输出内容形似:
可以看出,分区是根据柱面划分的
fdisk device 实现对某设备进行分区相关操作
进入交互式模式之后,使用m子命令可以查看可以使用的相关命令和帮助
n:创建新分区
p:创建主分区
e:创建扩展分区
主分区最多可以有四个,扩展分区只能有一个,逻辑分区可以有多个
d:删除分区
l:显示所有的分区类型
t:修改分区类型
q:不保存退出
w:保存退出
对于一个正在使用的磁盘,可能保存后内核也不能立即的识别,所以需要通知内核重读分区表
partprobe命令:默认会重读所有设备的
partprobe device:重读某指定设备的
在redhat6上使用的是partx命令,但是paerprobe仍兼容
cat /proc/parttions查看当前内核已经识别的分区
在创建分区之后,就可以对新分区进行格式化(创建文件系统)
虽然文件系统是内核的功能,但是创建文件系统需要借助于用户空间的程序
mkfs命令
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]
-V:输出详细信息
-t:指定创建的文件系统类型(查看当前内核支持的文件系统类型:cat /proc/filesystems)
blocks:使用多少磁盘块
mkfs可以创建多种类型的文件系统,实际上使用-t选项之后其会调用/sbin/目录下诸如mkfs.ext3之类的命令创建
mke2fs:创建/ext2/ext3/ext4系列的文件系统(默认创建为ext2类型)
mke2fs [ -c | -l filename ] [ -b block-size ] [ -f fragment-size ] [ -g blocks-per-group ] [ -G number-of-groups ] [ -i bytes-per-inode ] [ -I inode-size ] [ -j ] [ -J jour-nal-options ] [ -K ] [ -N number-of-inodes ] [ -n ] [ -m reserved-blocks-percentage ] [ -o creator-os ] [ -O feature[,...] ] [ -q ] [ -r fs-revision-level ] [ -E extended-options ] [ -v ] [ -F ] [ -L volume-label ] [ -M last-mounted-directory ] [ -S ] [ -t fs-type ] [ -T usage-type ] [ -U UUID ] [ -V ] device [ blocks-count ]
-t:文件系统类型(常用-t ext4)
-j:创建为ext3
-b:指定磁盘块大小(1024,2048,4096其中之一,单位是字节)
-g:每一个块组中包含多少磁盘块
-I:每个inode占据多少字节
-L:设定卷标
-N:创建的inode的个数
-G:创建的块组的个数
-i:一个inode对应多少磁盘空间
-S:只对superblock和GDT表做修改(在所有的备份superblock都损坏的情况下很有用,修复方法之一)