上篇小编给大家讲解了磁盘结构和分区的介绍,这篇小编就给大家演示如何管理分区和文件系统类型格式化。
小编上篇已经提到如何使用磁盘,今天这两步,就是其中很重要的两步。
一、管理分区
列出块设备 lsblk
fdisk -l /dev/sda
cat /proc/partitions
创建分区使用的命令:
(1) fdisk 创建MBR 分区(7里也可以创建GPT 分区,但不推荐,contos 6 -l 时候gpt多个分区只显示1个)
(2) gdisk 创建GPT 分区(用法和fdisk相似)
(3) parted 高级分区操作(创建、复制、调整大小等等)实时性,不常用
aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop 都能创建
(4) partprobe 重新设置内存中的内核分区表版本,(当系统正在使用的分区修改时,内存不会改变) centos 6 中有BUG ,只能用(5)
(5) 新增分区用 partx -a /dev/DEVICE 或 kpartx -a /dev/DEVICE -f: force
删除分区用 partx -d --nr M-N /dev/DEVICE
命令详细介绍:
(1)fdisk
CentOS7: 开启dos及柱面显示模式:fdisk -c=dos -u=cylinders -l /dev/sda(默认非dos,扇区显示)
Centos6: 开户非dos及扇区显示模式:fdisk -cul /dev/sda(开启dos及柱面显示)
① fdisk /dev/sd#
-l /dev/sdX 查看硬盘分区信息
-c(centos6 默认是dos) 打开或禁用dos模式 -u (centos6 默认是柱面为单位) 切换显示的单位(扇区/柱面)
-c (centos7 默认是非dos) -c=dos -c=nondos -u (centos7 默认是扇区为单位) -u=cylinders(柱面) -u=sectors(扇区)
centos 6
centos 7
② fdisk /dev/sdX 进行分区时
m 帮助
n 建立分区
d 删除分区
p 显示分区信息
t 转换分区类型
a 将指定分区设置/取消 活动分区 第一位为80活动
L 查看分区类型
o 重建分区表
v 验证分区表,显示剩余没有被分区划分的扇区数量
g 创建GPT格式的分区(centos7)
q 退出不保存
w 退出并保存,不保存,所有的修改都不生效
注:因为fdisk 是交互式创建分区,所以写入脚本时需要:
echo -e "n\np\n1\n\n+1G\nw\n" |fdisk /dev/sdb 来实现非交互创建分区
(2)fdisk /dev/sd# (用法和gdisk基本相同)
m 帮助
n 建立分区
d 删除分区
p 显示分区信息
t 转换分区类型
L/l 查看分区类型
o 重建分区表
v 验证分区表,显示剩余没有被分区划分的扇区数量
q 退出不保存
w 退出并保存,不保存,所有的修改都不生效
(3) parted /dev/sd# 实时性,小心使用,不用再w已经保存,可以直接非交互式创建分区
可以先查询些帮助信息,会告诉你用法
① 创建MBR 分区
② 创建GPT 分区
(4)partprobe重新设置内存中的内核分区表版本,(当系统正在使用的分区修改时,内存不会改变) centos 6 中有BUG
(5)新增分区用 partx -a /dev/DEVICE 或 kpartx -a /dev/DEVICE -f: force
删除分区用 partx -d --nr M-N /dev/DEVICE
四、文件系统
(1)查看支持的文件系统:/lib/modules/`uname –r`/kernel/fs
(2)文件系统类型
Linux 文件系统:ext2(Extended file system), ext3,ext4, xfs (SGI ), btrfs (Oracle ), reiserfs, jfs(AIX), swap
根据其是否支持"journal" 功能:
日志型文件系统: ext3, ext4, xfs, ...
非日志型文件系统: ext2, vfat
光盘:iso9660
Windows :FAT32, exFAT,NTFS
Unix: FFS (fast ), UFS (unix ), JFS2
网络文件系统:NFS, CIFS
集群文件系统:GFS2, OCFS2 (oracle) 例:11.11 淘宝
分布式文件系统: fastdfs,ceph, moosefs, mogilefs,glusterfs, Lustre
RAW:未经处理或者未经格式化产生的文件系统
(3)文件系统的组成部分:
内核中的模块:ext4, xfs, vfat
用户空间的管理工具:mkfs.ext4, mkfs.xfs,mkfs.vfat
linux 的虚拟文件系统:VFS 相当于翻译,翻译最底层的文件系统
查前支持的文件系统:cat /proc/filesystems
(4)创建文件系统
(1)mkfs 命令
mkfs. 能创建很多类文件系统
ext# xfs btrfs vfa
mkfs -t 是个c写的脚本,就是调用mkfs. 命令,
-f 强制重建,如果这个设备已经分过其他格式的文件系统了
创建成功后会显示很多信息,创建ext类型成功后结果
xfs 成功后结果
(2)mke2fs :创建文件系统,ext系列文件系统专用管理工具,例:mke2fs -t ext4 -L test /dev/sdc1
-t {ext2|ext3|ext4} 格式
-b {1024|4096} block快大小
-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 禁用指定特性
(3)tune2fs:修改文件系统信息,重新设定ext 系列文件系统可调整参数的值
-l :查看指定文件系统超级块信息;super block
-L 'LABEL' :修改卷标(ext)
mkfs -L 'LABEL' 或 mke2fs -L 'LABEL' 创建时设置卷标
e2label /dev/sd# 查看卷标
e2label /dev/sd# 'LABEL' 重命名卷标
-m # :修预留给管理员的空间百分比
-j: 将ext2 升级为ext3
-O: 文件系统属性启用或禁用, –O ^has_journal
-o: 调整文件系统的默认挂载选项,–o ^acl (centos7里默认开启acl 6 默认不开启)
-U UUID: 修改UUID号
(4)blkid:块设备属性信息查看(centos 7里默认显示sr0 6 里需blkid /dev/sr0显示光盘)
-U UUID: 根据指定的UUID 来查找对应的设备
-L LABEL :根据指定的LABEL
findfs:查找分区(ext)
findfs [options] LABEL=<label>
findfs [options] UUID=<uuid>
dumpe2fs /dev/sda# 查看文件系统信息:superblock信息及block group信息
-h :查看超级块,不显示block group而只显示superblock 与tune2fs -l一致
超级块就是文件系统的内置,指定文件系统类型
block group 0里有super block ,后奇数组都有备份,能用于修复
(5)文件系统检测和修复
常发生于死机或者非正常关机之后,挂载为文件系统有几率标记为“no clean” ”
注意:一定不要在挂载状态下修复(centos6,7都禁止挂载下修复,5里可以修复)
fsck(都可用) / e2fsck(ext)先卸载再修复(6里默认交互式修复,7非交互)
-y 自动回答yes
-t filetype 指定文件系统类型
-f 强制修复(当破坏太小时,强制扫描一遍修复)
这篇的东西有些多,但其实经常用的命令也就:fdisk/gdisk、mkfs./mke2fs/tune2fs、blkid 这几个命令。下一篇就是磁盘管理最重要的一步了,mount挂载,敬请期待!!
希望对大家有帮助,有什么错误请告诉我~