首页 > 代码库 > Linux入门之磁盘管理(4)/etc/fstab与交换分区

Linux入门之磁盘管理(4)/etc/fstab与交换分区

Linux入门之磁盘管理(4)/etc/fstab与交换分区

linux通过挂载命令可以使用各种选项进行不同文件系统的设备文件进行挂载,当然不仅限于块设备,但是无论怎么挂载,一般默认新建的文件系统进行挂载开机是不会自动挂载的,每次开启自动挂载的分区时通过/etc/fstab文件进行读取的。

/etc/fstab文件 简介:

  此文件内容每一行都被定义一个条目的对应挂载信息,如果把每行条目按空格切割成多断那么可以分为下面几列:

要挂载的设备或者伪文件系统

挂载点

文件系统类型

挂载选项

转储频率

自检次序

挂载设备:一般为:设备名、LABEL=设备卷标名UUID=设备UUID

伪文件系统:procsysfstmpfsdevpts

挂载选项:默认为defaults,当然mount -o选项中的各种属性也都支持

转储频率:0:不做备份

  1:每天转储

  2:每隔一天转储

自检次序:0:开机不自检

          1:开机自检;一般只有rootfs才用1,也就是/

 

文件例子:

这里是centos6.8版本中的配置:

    技术分享

这里是centos7.2版本中的配置:

 技术分享

解析:其中6版本中还是配置了一些伪文件系统,但是到了7版本,这些慰伪文件系统不在于/etc/fstab 文件中进行配置


注意:一般在创建分区的时候,是可以指定分区编号的,那么也就是说分区编号并不能说明分区柱面划分就是按顺序而来,所以,从6版本系统默认对文件系统是采用UUID进行识别并挂载,因为UUID在分区被格式化时创建的一个唯一编号,这样会避免冲突。


在对某个设备创建了文件系统之后,可以使用一些命令进行查看其UUID:

blkid tune2fs

 

1、根据blkid命令进行分区UUID查看,得出指定分区的UUID及其编号

这里注意,如果分区类型为xfs的话,左侧显示的并不是设备文件名称,而是另一种称呼

[root@localhost ~]# blkid  | grep ‘xfs’
/dev/block/8:2: UUID="c8360f6a-32ef-4bbc-b293-ce9f643bf845" TYPE="xfs" 
/dev/block/8:1: UUID="3ed1c49c-09b5-4989-a405-0032a3ad73d3" TYPE="xfs"

这里的设备直接以块设备主设备号和此设备号来命令

[root@localhost ~]# ls -l /dev/block/
total 0
lrwxrwxrwx. 1 root root 6 Aug 29 12:17 11:0 -> ../sr0
lrwxrwxrwx. 1 root root 6 Aug 29 12:17 8:0 -> ../sda
lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:1 -> ../sda1
lrwxrwxrwx. 1 root root 6 Aug 29 14:03 8:16 -> ../sdb
lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:2 -> ../sda2
lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:3 -> ../sda3
lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:4 -> ../sda4
lrwxrwxrwx. 1 root root 7 Aug 29 12:17 8:5 -> ../sda5

 

自动挂载设置:

#这里显示的是一个目录
[root@mzf ~]# ls -ld /mountdir
drwxr-xr-x. 2 root root 4096 Aug 17 06:45 /mountdir
#在/etc/fstab中添加条目
/mountdir               /umount   none       bind     0 0
#读取/etc/fstab条目进行挂载
[root@mzf ~]# mount  -a
#因为是目录,所以df、lsblk等命令支持块设备,就使用mount来查看
[root@mzf ~]# mount | grep ‘/mountdir‘
/mountdir on /mnt/mountdir type none (rw,bind)

说明:无论挂载什么,挂载点必须存在,否则会出现错误。

 

交换分区:

交换分区设置命令:

mkswap  [option]  /path/to/swapdev :将指定设备文件格式化为交换分区

  -L  LABEL :创建时设置卷标   

mkswap    -s :查看当前启用的所有交换分区

swapon    -a :重新启动所有交换分区

swapon  [option]  /path/to/swapdev

   -p  # : 设置其优先级为#

swapoff  /path/to/swapdev : 禁用或卸载交换分区

在交换分区创建之前最好指明类型标

#新建的/dev/sdc磁盘分区默认Id标识为83

技术分享 

#下面调整Id,输入t进行修改

技术分享 

#这里的type codes列表可以再输入t之后查看,也可以在命令行界面查看,如:

[root@mzf ~]# echo -e "l\nq" | fdisk /dev/sdc 2> /dev/null | grep -v ‘^[[:space:]]\?$‘ | grep -v ‘^Command‘

 

下面进行交换分区创建:

使用mkswap命令:

#设置卷标并创建为交换分区
[root@mzf ~]# mkswap -L swap1 /dev/sdc1
Setting up swapspace version 1, size = 1060252 KiB
LABEL=swap1, UUID=df562741-4e26-403a-8065-4ab99b9b8f95
#查看当前启用交换分区
[root@mzf ~]# cat /proc/swaps 
FilenameTypeSizeUsedPriority
/dev/sda3                           partition20971480-1
#启用交换分区:
[root@mzf ~]# swapon  /dev/sdc1
#再次查看启用中的交换分区
[root@mzf ~]# swapon  -s
FilenameTypeSizeUsedPriority
/dev/sda3                           partition20971480-1
/dev/sdc1                           partition10602520-2

解析:最后一列表示优先级,数值越大,优先级越大

 

#禁用交换分区
[root@mzf ~]# swapoff  /dev/sdc1
#查看/dev/sdc1已经被禁用
[root@mzf ~]# swapon  -s
FilenameTypeSizeUsedPriority
/dev/sda3                               partition20971480-1

 

设置自动挂载:

#为了分区的准确表示,这里使用UUID,但是UUID很长,可以使用vim的末行模式的命令调用来读取命令结果到文件中。

技术分享 

#然后回车,这样删除多余的数据就行了

技术分享 

#修改为/etc/fstab识别的格式,然后保存退出

技术分享 

#重新启用

[root@mzf ~]# swapon -a
[root@mzf ~]# swapon -s
FilenameTypeSizeUsedPriority
/dev/sda3                          partition20971480-1
/dev/sdc1                          partition10602520-2


查看交换分区使用状态

free  命令

free  [option]

       -m  : 以MB为单位

       -g  : 以GB为单位

#直接使用free查看

 技术分享

 

查看系统空间占用信息:

df  命令

df  [option]

  -H :按1MB=1000KB来换算

  -T :列出文件系统的类型

  -h :易读取方式显示

  -i  :显示每个分区的inode使用情况

  -P  :以Posix兼容格式输出,也就是更整齐的排版

技术分享 

 

显示某目录总体占用状态

du  命令

du  [option]  /path/to/dir

-s  :只显示目录本身及大小

-h  :显示大小后跟单位

技术分享 

 

 

 

 

 

 

 

 

 

 


本文出自 “神剑特兰克斯” 博客,请务必保留此出处http://mengzhaofu.blog.51cto.com/10085198/1844484

Linux入门之磁盘管理(4)/etc/fstab与交换分区