磁盘分区小知识

◆管理分区

列出块设备lsblk ,cat /proc/partitions ,ls /dev/sd* 。

以上三种方法都可以查看硬盘中的分区信息,即内核是否已经识别的分区信息,如果手动加上的硬盘,利用以上三个命令不能看到硬盘信息的,此时需要使用以下方式加载硬盘信息。

Reboot或者 echo '- - -'> /sys/class/scsi_host/host2/scan 

Centos7以前的版本都不会通知内核重读硬盘分区表,只有fdisk –l 可以实时查询是否增加了分区或者减少了分区。以上三个命令都不能看到清空结果,也就是不能够同步到内存。

 磁盘分区小知识_小知识

 此时应该如何同步到内存中呢?

1.partprobe 当对系统所在的硬盘进行分区修改操作后,内存不会重读分区表,需要使用partprobe强制重读,centos6中有bug。

2.partx -a /dev/sdX 向内存中增加分区更新

3.partx -d --nr X /dev/sdX 从内存中删除分区更新

◆分区工具

fdisk :centos6 和centos7的显示方式刚好相反,以下选项可更改显示方式。

fdisk  -l /dev/sd# 查看硬盘信息

fdisk  -c (centos6)打开或禁用dos模式

fdisk  -u (centos6)切换显示的单位(柱面切换到扇区)

fdisk  -c(centos7) –c=dos或者-c=nondos

fdisk  -u(centos7) –u=cylinders –u=sectors

fdisk /dev/sdb 管理分区

fdisk /dev/sdX  进行分区

子命令如下

 m 帮助

 n 建立分区

 d 删除分区

 p 显示分区信息

 t 转换分区类型

 a 将指定分区设置/取消 活动分区

 L 查看分区类型

 o 重建分区表(如果重建分区表之前的分区中的数据全部丢失)

 v 验证分区表,显示剩余没有被分区划分的扇区数量

 g 创建GPT格式的分区(只有centos7)

 q 退出不保存

 w 退出并保存,不保存,所有的修改都不生效

parted:操作都是实时生效,不需要保存,所以使用的时候需要格外注意,由于现在磁盘空间越来越大,但是fdisk只能分2T之内的磁盘,所以需要parted来划分GPT磁盘。 GPT格式的磁盘相当于原来MBR磁盘中原来保留4个partition table的4*16个字节,只留第一个16个字节,类似于扩展分区,真正的partitiontable在512字节之后,GPT磁盘没有四个主分区的限制。

命令:parted /dev/sdb mklabel gpt|msdos

      Parted /dev/sdb  print

         Parted /dev/sdb  mkpart primary 1 200 (默认M)

         Part /dev/sdb    rm 1

         Parted –l

gfisk /dev/sdb 用法参考fdisk

◆文件系统

文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

那么如何查询系统所支持的文件系统呢?

/lib/modules/`uname –r`/kernel/fs

磁盘分区小知识_磁盘_02 

Linux支持的文件系统如下:ext2 ,ext3,ext4,xfs,btrfs,swap,reiserfs,jfs

windows支持的文件系统有:fat32,exfat,ntfs

unix支持的文件系统:ffs,ufs,jfs2

网络文件系统:nfs ,cifs

集群文件系统有:gf32,ocfs2(oracle)

分布式文件系统:fastdfs,ceph,moosefs,mogilefs,glusterfs,lustre

Raw:未经处理的或者没有格式化的文件系统,一般很少会用。

以上文件系统中有一些支持journal功能,有一些不支持日志功能。非日志型文件系统有ext2,vfat,日志型文件系有ext3,ext4,xfs,…

Tips:文件系统可以向上兼容,但是不能向下兼容,也就是说ext4可以兼容ext3或者ext2 ,反之则不行。

Linux的虚拟文件系统:vfs

查询支持的文件系统:cat /proc/filesystems

讲了这么多文件系统的东西,下面就该来创建文件系统了。

◆创建文件系统的命令

mkfs 

mkfs.fs_type  /dev/device:选用文件系统格式化分区

mkfs –t fs_type /dev/device 等同于上一个命令

mkfs –L ‘LABEL’:设定卷标

tips:centos5 在系统安装时创建的文件系统,自动将卷标命名与挂载点路径,卷标名可以改成相同的,所以这也并不是一个特别安全的挂载方式,系统启动时会检测/路径,如果根路径被其他多个分区挂载,系统启动就检测不出来启动分区,就会无法启动,但是此时可以进入编辑模式,修改启动分区,也是可以启动的,因为系统启动真正加载的是/boot/grub/grub.conf,在启动之前会检测一下根路径下的启动分区。

举例说明:centos6

▼卷标挂载

1.mkfs –Lmagedu /dev/sdc3

磁盘分区小知识_小知识_03

磁盘分区小知识_磁盘_04 


2.mkfs –L magedu /dev/sdc5

磁盘分区小知识_小知识_05 

3.把两个分区都挂载在sdc3这个目录

 磁盘分区小知识_小知识_06

4.删除分区,发现不影响其他分区的挂载 

磁盘分区小知识_小知识_07

磁盘分区小知识_小知识_08

磁盘分区小知识_小知识_09

▼分区名挂载

1.如果在同一个目录挂载不同的分区或者是不同目录挂载同一个分区,此时如果删除一个分区那么分区名可能会改变,就会导致挂载失败的情况。

uuid挂载

uuid一般很安全,在centos6以后基本就是使用uuid挂载了。

磁盘分区小知识_磁盘_10 

今天分享到这了,后续待更新。。。。。。。。。