当我们分完区,并做好文件系统格式化,就到了最后的挂载mount了,挂载完毕就可以使用磁盘设备了。

一、什么是挂载,卸载

任何块设备都不能直接访问,需挂载在目录上访问

挂载: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为(挂载的设备必须有文件系统)

卸载:为解除此关联关系的过程

mount [-选项] DEVICE(设备) MOUNT_POINT(挂载点)

(1)device :指明要挂载的设备

  ① 设备文件:例如/dev/sda5

  ② 卷标:-L 'LABEL', 如 例如 -L mage

  ③ UUID, -U 'UUID'

(2)挂载点下原有文件在挂载完成后会被临时隐藏

  事先存在;建议使用空目录,进程正在使用中的设备无法被卸载

(3)/etc/mtab: 文件显示当前已挂载的所有设备(在centos 7中,是/proc/mounts的软连接,查看结果一样,centos 6中,ASCII text,查询结果和/proc/mounts不一样)

二、mount:挂载常用命令选项(下面有具体的用法示例)

查看挂载情况:findmnt  查看所有设备挂载情况(树状结构显示)

         findmnt 设备   查看单个设备的挂载情况

        mount :查看所有设备挂载情况

       cat /proc/mounts:查看内核追踪到的已挂载的所有设备

mount -选项 设备 挂载点

  -t:vsftype :指定要挂载的设备上的文件系统类型(不常用,不加-t默认自带自己的文件系统类型),有时,系统报错提示,没指定文件系统类型,-t指定后,仍然有错。(注释1)

  -r:readonly ,只读挂载,不能进行其他操作,和权限无关,介质只能读,多用于冷备份。在mount 查询时时显示 ro

  -w:read and write,  读写挂载(defaults默认)

  -n隐藏挂载信息不显示 ,但在/proc/mounts可以查到,卸载只能 umount /app/sdb2(挂载点)

  -a:自动挂载/etc/fstab文件没有挂载的设备( 定义在了/etc/fstab文件中,且挂载选项中有auto 功能,默认中包括) ,不看已挂载过的设备,如果在/etc/fstab里挂载过的设备修改了设置,不刷新;

如果想刷新修改过已挂载的设备,mount -o remount /dev/sdX(挂载点)

  -L 'LABEL': 以卷标指定挂载设备

  -U 'UUID':以UUID 指定要挂载的设备

  -B  --bind:绑定目录到另一个目录上,

例: mount -B /var/ftp/pub /app/apache     /app/apache就是显示 /var/ftp/pub目录的东西

   -o options:( 挂载文件系统的选项) ,多个选项使用逗号分隔

    async(defaults),sync  异步,同步,内存更改时,同时写磁盘(可以用于重要数据)

    atime(defaults),noatime  是否在读访问时更新atime

    diratime(defaults),nodiratime  目录的访问时间戳

    auto(defaults)/noauto 写在/etc/fstab当中的分区,是否在mount -a时被挂载

    exec(defatuls)/noexec 在该分区所挂载的目录中的脚本是否可以执行。

    dev(defaults)/nodev:是否支持在此文件系统上使用设备文件

    suid(defaults)/nosuid:是否支持suid和sgid权限

    ro:只读 rw:读写(defaults)

    nouser(defaults)/user:是否允许普通用户挂载此设备,默认管理员才能挂载

    acl(centos 7)/^acl(centos 6以下):启用/禁用此文件系统上的acl功能

    defaults 默认,见以上中的(defaults)

  -o remount,选项:重新挂载,修改功能选项(和/etc/fstab选项冲突,则覆盖,不冲突就增加)  例:mount -o remount,ro /dev/sdb1

例:mount -r /dev/sdb1 /app/sdb1 将/dev/sdb1只读挂载到/app/sdb上

三、umount 卸载

卸载时,若有正在进行的进程,不能卸载

查看正在访问指定文件系统的进程:

  lsof 设备或挂载点都可以

  fuser -v 挂载点

终止所有在正访问指定的文件系统的进程:

  fuser -km 设备或挂载点都可以

终止完所有进程就可以卸载: umount DEVICE

四、/etc/fstab 文件挂载配置文件

(1)/etc/fstab 每行定义一个要挂载的文件系统

mount -a 自动挂载/etc/fstab文件没有挂载的设备,不管已挂载过的设备

  如果想刷新修改过已挂载的设备,mount -o remount /dev/sdX(或挂载点)

swpon -a 自动激活/etc/fstab文件没有激活的交换(扩展)空间 ,不管已激活的扩展空间

  如果想刷新修改过已激活的扩展设备,mount -o remount /dev/sdX(或挂载点)

系统重启开机时读取此文件,可以开机自动开启文件中的设置

(2)格式(6列):

① 要挂载的设备或伪文件系统:设备名称,LABEL,UUID,伪文件系统名称

② 挂载点(扩展为swap)

③ 文件系统类型(auto 寻找默认的),

  普通设备挂载:ext#/xfs 等文件系统类型

  交换分区 swap:swap

  网络挂载地址 linux之间:nfs,windos挂载:cifs

  光盘 iso9660,文件 cifs

④ 挂载选项:defaults 有需要的功能可以添加,不能为空

⑤ 转储频率: 0:不做备份 1:每天转储 2:每隔一天转储

⑥ 开机时自检(非0),自检次序:(如果开机系统自检不过,就无法正常开机)

0:不自检 1:最先自检,一般为/ 2...:数越小优先级最大

问题:如果设备不小心被破坏,开机自检不过,无法正常启用,该怎么办?

原理很简单,只需要修复一下文件系统就好了,(如果不能修复,可以去/etc/fstab中把自检改为0)具体操作如下:

① 手动破坏设备 dd if=/dev/zero of=/dev/sdc1 bs=1 count=2048

② 开机过程,遇到错误提示

③ 进入shell 操作,进行修复

五、实验:迁移/home 家目录

到此我们已经对磁盘管理了解的差不多了,我们可以做个小实验,迁移 /home ,从 / 下移到另一个磁盘,如/dev/sda6

① init 1 进入单用户模式,防止自己在迁移时,其他用户进行操作,导致迁移后缺失东西。

② 分区 /dev/sda6   fdisk

③ 文件系统格式化 mkfs.ext4 /dev/sda6

④ 挂载在临时目录上/mnt ,把/home 下东西cp -a 到/mnt 目录

⑤ 把现有/home 东西移走,卸载 /mnt ,把/dev/sda6 挂到 /home 下,并写入/etc/fstab,开机自动挂载。

  UUID=328a3f17-3e4e-426d-9538-c44be3e6465b   /home    ext4    defaults        0  2

⑥ reboot或init 5 完成/home 搬迁

到这里关于磁盘管理的过程就全部讲完了。

          希望对大家有帮助,有什么错误请告诉我~

linux 磁盘管理三部曲——(3)mount挂载,/etc/fstab配置文件的更多相关文章

  1. 7.linux磁盘管理 分区 建立文件系统 挂载使用

    一.磁盘管理 分区  建立文件系统  挂载使用   逻辑卷建立  磁盘阵列的建立  磁盘配额设定     fdisk -l       查看磁盘信息     df -Th        查看硬盘对应的 ...

  2. linux 磁盘管理三部曲——(2)管理分区,文件系统类型格式化

    上篇小编给大家讲解了磁盘结构和分区的介绍,这篇小编就给大家演示如何管理分区和文件系统类型格式化. 小编上篇已经提到如何使用磁盘,今天这两步,就是其中很重要的两步.(前几天写的有点急,有点乱,今天又整理 ...

  3. linux磁盘管理1-分区格式化挂载,swap,df,du,dd

    一些基础 硬盘接口类型 ide 早期家庭电脑 scsi 早期服务器 sata 目前家庭电脑 sas 目前服务器 raid卡--阵列卡 网卡绑定 ABI 应用程序与OS之间的底层接口 API 应用程序调 ...

  4. linux 磁盘管理三部曲——(1)磁盘结构,认识分区

    最近小编整理了磁盘管理的相关知识,发现还是挺多的,所有就分了三个部分来给大家分享一下: 1.磁盘结构,认识分区 2.管理分区,文件系统格式化 3.mount挂载,/etc/fstab配置文件 这篇就先 ...

  5. Linux磁盘管理——directory tree与mount point

    参考:/sys 和 /dev 区别 Linux磁盘管理——虚拟文件系统 Directory tree Linux内的所有数据都是以文件的形态来呈现的,所以整个Linux系统最重要的地方就是direct ...

  6. Linux 磁盘管理(df fu fdisk mkfs mount)

    Linux 磁盘管理 Linux磁盘管理好坏直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df : 列出文件系统的整体磁盘使用量 du : 检查磁盘空间使用 ...

  7. Linux 磁盘管理

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

  8. linux磁盘管理系列-软RAID的实现

    1 什么是RAID RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. R ...

  9. linux磁盘管理系列-LVM的使用

    LVM是什么 LVM是Linux操作系统的逻辑卷管理器. 现在有两个Linux版本的LVM,分别是 LVM1,LVM2.LVM1是一种已经被认为稳定了几年的成熟产品,LVM2 是最新最好的LVM版本. ...

随机推荐

  1. python基础(一)------Python基础语法与介绍

    编程语言的历史和Python开发 一.编程语言 1.编程语言也是"语言"与英语,汉语等类似,掌握其语法结构,灵活 的运用其语法规则为之重要.          编程语言实现的是程序 ...

  2. OpenCV探索之路(二十七):皮肤检测技术

    好久没写博客了,因为最近都忙着赶项目和打比赛==| 好吧,今天我打算写一篇关于使用opencv做皮肤检测的技术总结.那首先列一些现在主流的皮肤检测的方法都有哪些: RGB color space Yc ...

  3. linux 安装nginx 详解

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ...

  4. 赢在面试之Java泛型篇(十二)

    139. Java中的泛型是什么 ? 使用泛型的好处是什么? 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数. 好处: 1.类型安全,提供编译期 ...

  5. 深入理解Java内置锁和显式锁

    synchronized and Reentrantlock 多线程编程中,当代码需要同步时我们会用到锁.Java为我们提供了内置锁(synchronized)和显式锁(ReentrantLock)两 ...

  6. linux如何在日志中查找关键字、前几行、结尾几行

    如何使用命令行快速查看项目日志是每个开发人员必备技能,尤其在没有专门日志搜集系统的情况下,想要知道目前项目运行状态最好的办法就是打开log日志一瞅即明白. 复杂的到用时再查不晚,但是简单的还是有必要掌 ...

  7. Less循环

    Less循环 在Less中,mixin可以调用它自身.通过这种递归调用,再结合Guard表达式和模式匹配,就可以写出各种循环结构.如,使用循环来创建一个网格类: .generate-columns(4 ...

  8. Spring Cloud教程合集

    Spring Cloud系列终于搞完啦! 这一系列是笔者的学习笔记,原书之前也给小伙伴们推荐过 <Spring Cloud微服务实战> 原书采用了较老的Brixton版,笔者在学习的过程中 ...

  9. C# 中枚举的一点研究(跳过一些net坑的研究而已)

    之前一直使用Enum.Parse()将字符串转为枚举,没有深究,后面发现一个问题后对下面的Enum有了一个初步研究(.net 4.0).看下面代码. (留意,枚举类型是值类型,其值不能为Null,所以 ...

  10. Numpy数组的基本运算操作

    一.算术运算符 In [3]: a = np.arange(0,5) Out[3]array([0, 1, 2, 3, 4]) In [4]: a+4 Out[4]: array([4, 5, 6, ...