一、预备知识
 在我们添加硬盘前,首先要了解Linux系统下对硬盘和分区的命名方法
 Linux下的硬盘设备类型有IDE,ATA,SCSI,SAS,SATA,USB等, 其中对IDE和ATA接口设备是以hd命名的,第一个设备是hda第二个设备是hdb依次类此,即hd[a-z]
 SCSI,SAS,SATA,USB接口的设备是用sd命名的,第一个设备是sda第二个设备是sdb依次类推,即sd[a-z]
而分区则是用设备名称加数字命名的,例如hda1代表hda这个硬盘设备上的第一个分区,sda1代表sda这个硬盘设备上的第一个分区

Linux下的文件系统

 在Linux中的文件系统类型有多种,通常有内核提供常用的包括:ext2、ext3、ext4、xfs等,其中对磁盘分区格式化的过程,就是创建文件系统,创建时要指定文件系统的类型


二、讲述创建磁盘分区及其分区格式化的过程
每个硬盘可以最多有四个主分区,作用是1-4命名硬盘的主分区,逻辑分区是从5开始的,每多一个逻辑分区,数字加一就可以,创建逻辑分区前要先创建扩展分区,分区创建好就可以格式化为文件系统了,创建过程如下:


 1.通过fdisk -l命令可以查看系统上所有的磁盘和分区信息,也可以用fdisk -l [DEVICE]指定显示某个磁盘和分区信息

 

143224580.png

 在磁盘上创建分区通过fdisk [DEVICE]来实现,该命令是一种交互式的命令
  常用的选项有:
   d:删除一个分区
   n:新建一个分区
   p:显示当前的分区信息
   w:保存退出
   q:不保存退出
   l:各分区类型所对应system ID
    其中Linux为83
    Linux Swap交换分区为82
    LVM逻辑卷为8e
   t:修改指定分区的system ID
   a:设定可启动标记


 创建过程如图

143943672.png

144315578.png

创建好分区之后需要通过cat  /proc/partitions命令查看内核识别分区信息的情况  若不显示创建好的分区需要让内核重新探测硬件盘分区表

144514278.png

对RHEL5版本的系统让内核重新探测硬件盘分区表可以通过命令partprobe [DEVICE]实现
对RHEL6版本的系统让内核重新读取硬盘分区表可以通过命令 partx a [PARTITION] DEVICE实现,对每个分区手动进行读取
然后在查看内核分区信息cat /proc/partions 有这些分区才可以说当前系统能够识别这些分区

 2.磁盘分区创建好之后就可以对分区进行格式化了,用于创建文件系统

  RHEL5默认识别的文件系统是ext3
  RHEL6默认识别的文件系统是ext4
  通过命令(mkfs -t 文件系统类型  磁盘分区)来进行格式化
144827292.png

格式化之后可以通过blkid DEVICE命令查看创建了什么类型的文件系统,同时可以显示设备的UUID
145011556.png

在配置文件/etc/mke2fs.conf中可以查看用于设定默认特性,及各文件系统的特有的特性
除此之外在对分区进行格式化的时候可以为其设定属性如块大小,卷标等若指定块大小需要重新进行格式化

145759212.png

 mke2fs -t {ext2|ext3|ext4} [DEVICE]常用属性:
    -b 指定块大小{1024|2048|4096}:块
     大小取决cpu对内存页框大小的支持,x86默认页框大小为4K
    -L label:设定卷标
    -m #:预留给管理使用的块所占据总体空间的比例(百分比)
    -r #:预留给管理使用的块的个数


要显示块大小可以通过 tune2fs -l DEVICE |grep "Block size"来实现

145952607.png

 tune2fs常用属性:
     -l:显示文件系统超级块信息
     -L label:重新设定卷标
     -m #:调整预留给管理员使用的块所占据总体空间的比例
     -r #:调整预留给管理员使用的块个数
     -o;设定挂载默认选项
     -O:设定文件系统默认特性
     -E;调整文件系统的扩展属性
     不指定块大小时重新设定则不需要进行格式化


e2label:显示或设定卷标
e2label DEVICE [Volume_label]
150246977.png
150259864.png

 

显示 blkid DEVICE :显示设备的UUID及文件系统类型及卷标

151647584.png

3.格式化之后若要使用则需要进行挂载


挂载:

   mount [-t fstype可省] DEVICE MOUNT_POINT
   mount [-t fstype可省] LABEL="" MOUNT_POINT
   mount [-t fstype可省] UUID="UUID" MOUNT_POINT
   mount不带任何参数显示当前系统挂载的所有设备
151710948.png

umount DEVICE 卸载
umount MOUNT_POINT 卸载点
挂载之后,原有数据会被隐藏,因此不能挂载到系统常用目录上,卸载之时,要确保没有进程正在访问挂载的设备:否则,无法卸载

151829997.png

 

三、关于配置文件/etc/fstab

在配置文件/etc/fstab中可以设置系统开机自动挂载的文件系统,通过cat   /etc/fstab可以查看该文件的内容,该配置文件是用空白字符分隔六个字段,该六个字段分别为:
  挂载的设备:可以是设备文件,卷标,也可以是UUID
  挂载点:
  文件系统类型:ext2,ext3...
  挂载选项:defaults表示使用默认选项,多个选项彼此间逗号分隔
  转储频率:dump 
    0:从不备份
    1:每日备份
    2:每隔一天备份
  自检次序:0:不检查
      1:第一个检测:一般只有根文件系统


  要点:
  1.文件系统必须被内核支持才能使用,即内核有相应的内核模块,或者已经将之整合进内核
  2.要有相应文件系统创建工具,这通常是mkfs.fstyle
 

mount常用选项:
  -a:挂载/etc/fstab所有支持auto挂载选择的文件系统
  -n:挂载文件系统时,不更新/etc/mtab文件
  -r:相当于“-o ro”,只读挂载
  -o:用于指定挂载选项,常用的挂载选项
   ro:只读挂载
   rw;读写,默认即为读写
   noatime:关闭更新访问时间 没有必要同时使用nodiratime
   auto;是否能够由“mount -a”挂载
   defaults:相当于rw,suid,dev,exec,auto,nouser,async,relatime
   sync:同步写入
   async:异步写入,一般都应该是异步的
   remount:重新挂载,此前挂载过,不需要重新指定挂载点
   loop:本地回环设备

   wget 用于下载iso径向
   mount -o remount,ro /dev/sda3
   没有必要在指定挂载点
   mount -o remount,other_options DEVICE
   cdrom是一个连接文件
   cdrom -->sr0
   cdrom-->hdc
   mount -o loop,other_options DEVICE MOUNT_POINT:用于挂载回环设备


   fuser [MOUNT_POINT]:查看正在访问某挂载点的进程
   fuser -km [MOUNT_POINT]:强行杀死正在访问此挂载点的进程,一般管理员是有权限的


   Linux的交换分区:swap必须是独立分区,独立的文件系统

四、交换分区相关知识

 

   如何查看内存大小
    free
     -m:空间大小换算为MB
     -g:空间大小换算为GB
      buffer:缓冲
      cached:缓存
      shared;共享内存
    创建交换分区
     mkswap DEVICE
     -L label 指定卷标
    启用交换分区:
     swapon DEVICE:启用交换分区
     swapon -a :表示启用所有交换分区
    禁用交换分区:
     swapoff DEVICE
     swapoff -a

   若要开机自动启用交换分区,可在配置文件/etc/fstab设定
   DEVICE  swap swap   defaults 0 0
   挂载点:swap
   文件系统类型:swap

 

 

 说明:上述根据自己所学知识总结归纳出来,希望对大家有所帮助!