LINUX  磁盘管理:

主引导扇区位于硬盘的0磁道0柱面1扇区,共512bytes,由三大部分组成: 

1.磁盘主引导记录MBR  占446bytes

2.分区表DPT(DISK PARTION TABLE) 占64bytes  一个分区占16bytes,最多四个主分区

3.磁盘有效标志

4.格式化就是创建文件系统
存储设备类型:
IDE ATA     hd 
SATA        sd
SCSI        sd
USB         sd
使用a b c 来区分同一类型的不同设备

识别硬盘设备:/dev/sd

   标记不同的硬盘设备:/dev/sd[a-z]

   标记同一设备上的不同分区:/dev/sd[a-z][1-]

   1-4: 主或扩展分区标识

   5+:逻辑分区标识

  “块”:block,随机设备

   “字符”:character,线性设备 
  
分区:分隔存储空间为多个小的空间,每个空间可独立使用文件系统;

        分区工具:fdisk, parted, sfdisk

        fdisk工具的使用:

        最多支持在一块硬盘上的15个分区;

 分区管理子命令:

   p: 显示

   n: 创建

   d: 删除

   t: 修改分区ID

   l: 列出所有支持ID类型

   w: 保存退出

   q: 放弃修改并退出

   m: 获取帮助
[root@lys ~]# cat /proc/partitions   //查看分区情况
major minor  #blocks  name
   8        0   20971520 sda
   8        1     102400 sda1
   8        2   18432000 sda2
   8        3    2048000 sda3
   8       16    2097152 sdb
   8       17     417658 sdb1
   8       18     208845 sdb2
   8       19          1 sdb3
   8       21     112423 sdb5

有三个命令可以让内核重读磁盘分区表:
    CentOS 5: partprobe [DEVICE]
    CentOS 6,7:partx kpartx
    partx命令:
     partx DEVICE
     partx -a DEVICE
     partx -a -n M:N DEVICE

     kpartx命令:
     kpartx -af DEVICE

partx  /dev/sda     //查看指定磁盘分区
 linux磁盘管理及文件系统_linux 磁盘管理 文件系统

fdisk -l       //查看系统磁盘分区

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_02

[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition                                             //删除
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types                                  //列出所有支持的ID类型
   m   print this menu                                                // 获取帮助

   n   add a new partition                                          //创建

   o   create a new empty DOS partition table
   p   print the partition table                                    //显示
   q   quit without saving changes                          //不保存退出
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit                         //保存退出
   x   extra functionality (experts only)

Command (m for help):

 

 linux磁盘管理及文件系统_linux 磁盘管理 文件系统_03

 

Linux文件系统管理

 文件系统:
  VFS:Virtual File System

  Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap
  光盘:iso9660
  Windows: fat32(vfat), ntfs
  Unix: ffs, ufs, jfs, jfs2
  网络文件系统:nfs, cifs
  集群文件系统:ocfs2, gfs2
  分布式文件系统:ceph,
   moosefs, mogilefs, hdfs, gfs, glusterfs

  (1) 日志型文件系统
   非日志型文件系统:ext2
   日志型文件系统:ext3

  (2) swap:交换分区

基本上linux最主要的文件系统为ext2,该文件系统内的信息有:

  1. superblock  :记录此文件系统的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式等。

  2. iNode :记录文件的属性,一个文件占用一个iNode,同时记录此文件的数据所在的block号码。

  3. block :实际记录文件的内容,若文件过大会占用多个block。

Ext2文件系统的数据访问为索引式文件系统。


创建文件系统:
在分区上执行格式化(高级格式化)
要使用某种文件系统,满足两个条件:
内核中:支持此种文件系统
用户空间:有文件系统管理工具

 mkfs -t ext4 /dev/sda7               //格式化磁盘

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_04

 mkfs.ext4 /dev/sda7                //格式化磁盘

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_05

 



 作业:创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至/mydata目录

fdisk  /dev/sda         //使用fdisk命令进行磁盘分区

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_06


//n  选项是新建一个分区  ,p 代表新建一个主分区,+10G就是创建一个10G的磁盘空间

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_07

//p 列出当前磁盘分区


//w 保存当前磁盘分区

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_08

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_09




//mkfs -t ext4  对磁盘进行格式化

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_10


//mount 将/dev/sda2分区挂载到/mydata目录下

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_11

vi /etc/fstab                //编辑此文件,如下所示,将/mydata目录开机挂载到/dev/sda2设备上。

linux磁盘管理及文件系统_linux 磁盘管理 文件系统_12