001、mount命令
本文最后更新于 427 天前,其中的信息可能已经过时,如有错误请发送邮件到 wuxianglongblog@163.com

mount 挂载,/etc/fstab 配置文件

一、管理分区

列出块设备 lsblk

fdisk -l /dev/sda
cat /proc/partitions

创建分区使用的命令:

(1) fdisk 创建 MBR 分区(7 里也可以创建 GPT 分区,但不推荐,contos 6 -l 时候 gpt 多个分区只显示 1 个)

  ① fdisk -l /dev/sdX 查看硬盘分区信息

-c(centos6 默认是dos) 打开或禁用dos模式  -u (centos6 默认是柱面为单位) 切换显示的单位(扇区/柱面)
-c (centos7 默认是非dos) -c=dos -c=nondos  -u (centos7 默认是扇区为单位) -u=cylinders(柱面) -u=sectors(扇区)

  ② fdisk /dev/sdX 进行分区(交互式),建立分区时  

m 帮助
  n 建立分区,建立分区时先选择 p主分区primary partition 或e 选择扩展分区extended,建议前3个建立逻辑分区,最后把所有空间给4扩展分区,有扩展分区可以创建多个逻辑分区。
   d 删除分区
   p 显示分区信息
   t 转换分区类型
   a 将指定分区设置/取消 活动分区 第一位为80活动
   L 查看分区类型
   o 重建分区表
   v 验证分区表,显示剩余没有被分区划分的扇区数量
   g 创建GPT格式的分区(centos7)不推荐使用,最好用gdisk
   q 退出不保存
   w 退出并保存,不保存,所有的修改都不生效

注:因为 fdisk 是交互式创建分区,所以写入脚本时需要:

  echo -e "n\np\n1\n\n+1G\nw\n" |fdisk /dev/sdb 来实现非交互创建分区

img

(2) gdisk 创建 GPT 分区(用法和 fdisk 相似)

    n 创建分区时,直接从 2-128 进行分区,不分主分区,扩展分区

img

(3) parted 高级分区操作(创建、复制、调整大小等等)实时性,小心使用,不用再 w 已经保存,可以直接非交互式创建分区,aix, amiga, bsd, dvh, gpt, mac, msdos, pc98, sun, loop 都能创建。(不常用)

  parted /dev/sdX
    help 寻求帮助,有很清晰的帮助的信息。
    mklabel help 有mklabel使用帮助信息
    mklabel msdos 选择msdos 方式分区
    mkpart 开始创建分区
    rm 删除分区
    p 查看分区信息
    q 退出

img

(4)重置内存中分区信息(当系统正在使用的分区修改时,内存不会改变)

   partprobe 新增分区,删除分区都可以,centos 57可以使用,centos 6中有bug
   新增分区时,同步 partx -a /dev/sdX 或 kpartx -a /dev/sdX -f
   删除分区时,同步 partx -d /dev/sdX 所有系统都能用,centos 6也可以

img

二、文件系统

(1)查看支持的文件系统:/lib/modules/uname –r/kernel/fs

img

(2)文件系统类型

Linux 文件系统:ext2 (Extended file system), ext3,ext4, xfs (SGI ), btrfs (Oracle ), reiserfs, jfs(AIX), swap

根据其是否支持"journal" 功能:
  日志型文件系统: ext3, ext4, xfs, ...
  非日志型文件系统: ext2, vfat
光盘:iso9660
Windows :FAT32, exFAT,NTFS
Unix: FFS (fast ), UFS (unix ), JFS2
网络文件系统:NFS, CIFS
集群文件系统:GFS2, OCFS2 (oracle) 例:11.11 淘宝
分布式文件系统: fastdfs,ceph, moosefs, mogilefs,glusterfs, Lustre
RAW:未经处理或者未经格式化产生的文件系统

(3)创建文件系统

(1)mkfs 命令

  mkfs. 能创建很多类文件系统 例:mkfs.xfs /dev/sda1 给/dev/sda1创建xfs类型的文件系统
     ext#   xfs   btrfs   vfa
  mkfs -t 是个c写的脚本,就是调用mkfs. 命令 例:mkfs -t ext4 /dev/sda1 给/dev/sda1创建ext4类型的文件系统
     -f 强制重建,如果这个设备已经分过其他格式的文件系统了

(2)mke2fs :创建文件系统,ext 系列文件系统专用管理工具,例:mke2fs -t ext4 -L test /dev/sdc1 给 /dev/sdc1 创建 ext4 卷标为 test 的文件系统

  -t {ext2|ext3|ext4} 格式
  -b {1024|4096} block快大小
  -L 'LABEL' 卷标
  -j: 于 相当于 -t ext3
    mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
  -i #: 为数据空间中每多少个字节创建一个inode ;此大小不应该小于block 的大小
  -N # :指定分区中创建多少个inode
  -I 一个inode 记录占用的磁盘空间大小,128---4096
  -m #: 默认5%, 为管理人员预留空间占总空间的百分比
  -O FEATURE[,...] :启用指定特性(只能开启以下特性) -O ^FEATURE 禁用指定特性

(3)tune2fs:修改文件系统信息,重新设定 ext 系列文件系统可调整参数的值 例:tune2fs -o acl /dev/sdb2 开启 /dev/sdb2 的 acl 功能

  -l :查看指定文件系统超级块信息;super block
  -L 'LABEL' :修改卷标(ext)
    mkfs -L 'LABEL' 或 mke2fs -L 'LABEL' 创建时设置卷标
    e2label /dev/sd# 查看卷标
    e2label /dev/sd# 'LABEL' 重命名卷标
  -m # :修预留给管理员的空间百分比
  -j: 将ext2 升级为ext3
  -O: 文件系统属性启用或禁用, –O ^has_journal
  -o: 调整文件系统的默认挂载选项,–o ^acl (centos7里默认开启acl 6 默认不开启)
  -U UUID: 修改UUID号

img

(4)查看信息

blkid:块设备属性信息查看(centos 7 里默认显示 sr0 6 里需 blkid /dev/sr0 显示光盘)

    -U UUID: 根据指定的 UUID 来查找对应的设备

    -L LABEL :根据指定的 LABEL

img

findfs:查找分区 (ext)

    findfs [options] LABEL=

    findfs [options] UUID=

  dumpe2fs /dev/sda# 查看文件系统信息:superblock 信息及 block group 信息

    -h :查看超级块,不显示 block group 而只显示 superblock 与 tune2fs -l 一致

小知识:超级块就是文件系统的内置,指定文件系统类型

    block group 0 里有 super block ,后奇数组都有备份,能用于修复

(5)文件系统检测和修复

  常发生于死机或者非正常关机之后,挂载为文件系统有几率标记为 “no clean” ”

 注意:一定不要在挂载状态下修复(centos6,7 都禁止挂载下修复,5 里可以修复)

fsck (都可用) /e2fsck(ext)先卸载再修复(6 里默认交互式修复,7 非交互)

  -y 自动回答 yes

  -t filetype 指定文件系统类型

  -f 强制修复(当破坏太小时,强制扫描一遍修复)

img

三、mount 挂载,/etc/fstab 配置文件

1、什么是挂载,卸载

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

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

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

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不一样)

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

1、查看挂载情况

① findmnt 查看所有设备挂载情况(树状结构显示)
  findmnt 设备 查看单个设备的挂载情况
② mount :查看所有设备挂载情况
③ cat /proc/mounts:查看内核追踪到的已挂载的所有设备

2、mount 语法

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:( 挂载文件系统的选项) ,多个选项使用逗号分隔
    asyncdefaults),sync 异步,同步,内存更改时,同时写磁盘(可以用于重要数据)
    atime(defaults),noatime 是否在读访问时更新atime
    diratime(defaults),nodiratime 目录的访问时间戳
    auto(defaults)/noauto 写在/etc/fstab当中的分区,是否在mount -a时被挂载
    exec(defatuls)/noexec 在该分区所挂载的目录中的脚本是否可以执行。
    dev(defaults)/nodev:是否支持在此文件系统上使用设备文件
    suid(defaults)/nosuid:是否支持suidsgid权限
    ro:只读 rw:读写(defaults)
    nouser(defaults)/user:是否允许普通用户挂载此设备,默认管理员才能挂载
    aclcentos 7)/^aclcentos 6以下):启用/禁用此文件系统上的acl功能
    defaults 默认,见以上中的(defaults)
  -o remount,选项:重新挂载,修改功能选项(和/etc/fstab选项冲突,则覆盖,不冲突就增加) 例:mount -o remount,ro /dev/sdb1

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

img

3、umount 卸载

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

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

  lsof 设备或挂载点都可以
  fuser -v 挂载点

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

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

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

img

4、/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...:数越小优先级最大

img

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

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

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

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

img

③ 进入 shell 操作,进行修复

img

5、实验:迁移 /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 搬迁

谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇