对于机械式磁盘,首先会经过生产厂商的低级格式化(划分磁道的过程),然后需要创建分区(根据柱面划分),最后经过高级格式化(格式化成使用的文件系统),再挂载(将设备关联至根文件系统),之后就可以正常的使用这个磁盘设备了

   分区命令:fdisk

这个命令是一个交互式命令

     fdisk -l [device] 查看当前系统所有磁盘设备(或某磁盘设备)上的分区,输出内容形似:

wKioL1ZL9AOCNKwHAAArn2nkHvs330.png

  可以看出,分区是根据柱面划分的

fdisk device 实现对某设备进行分区相关操作

wKiom1ZL9CvSS3W0AAA8yTQQsPQ759.png

进入交互式模式之后,使用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都损坏的情况下很有用,修复方法之一