zoukankan      html  css  js  c++  java
  • linux centos7 文件挂载学习记录

    概念

    我理解挂载就是将磁盘和目录关联起来,当然也可以目录和目录关联

    使用

    通过fdisk可以查看磁盘分区情况

    fsdisk -l  

    查询结果

    [root@lazy ~]# fdisk -l
    
    Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xdced7faf
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048   100677631    50337792    7  HPFS/NTFS/exFAT
    /dev/sda2       100677632   101701631      512000   83  Linux
    /dev/sda3       101701632   654843903   276571136   8e  Linux LVM
    
    Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/mapper/centos-swap: 4026 MB, 4026531840 bytes, 7864320 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/mapper/centos-home: 214.7 GB, 214748364800 bytes, 419430400 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    
    
    Disk /dev/mapper/centos-var: 10.7 GB, 10737418240 bytes, 20971520 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    可以看出我的机器上有一块硬盘/dev/sda ,500G大小,被分成了三个区,其中sda3被创建为LVM 物理卷,有4个逻辑卷。三一个区大小总和不到500G,说明还有可被分配的空间,使用fdisk进行分区

    [root@lazy home]# 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): n
    Partition type:
    p primary (3 primary, 0 extended, 1 free)
    e extended
    Select (default e): p
    Selected partition 4
    First sector (654843904-976773167, default 654843904):
    Using default value 654843904
    Last sector, +sectors or +size{K,M,G} (654843904-976773167, default 976773167):
    Using default value 976773167
    Partition 4 of type Linux and of size 153.5 GiB is set
    
    Command (m for help): p
    
    Disk /dev/sda: 500.1 GB, 500107862016 bytes, 976773168 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xdced7faf
    
    Device Boot Start End Blocks Id System
    /dev/sda1 * 2048 100677631 50337792 7 HPFS/NTFS/exFAT
    /dev/sda2 100677632 101701631 512000 83 Linux
    /dev/sda3 101701632 654843903 276571136 8e Linux LVM
    /dev/sda4 654843904 976773167 160964632 83 Linux
    

     命令说明:

      n                         # 新建分区
        -e                      # 创建扩展分区)
        -p                      # 创建主分区)
        -t                       # 改变分区类型)
      p                         # 查看分区
      w                         # 将信息写入磁盘

    使用df 命令查看磁盘挂载情况

    [root@lazy home]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   50G  1.7G   49G   4% /
    devtmpfs                 847M     0  847M   0% /dev
    tmpfs                    859M     0  859M   0% /dev/shm
    tmpfs                    859M   33M  826M   4% /run
    tmpfs                    859M     0  859M   0% /sys/fs/cgroup
    /dev/mapper/centos-home  200G   16G  184G   8% /home
    /dev/mapper/centos-var    10G  8.1G  2.0G  81% /var
    /dev/sda2                497M  130M  367M  27% /boot
    tmpfs                    172M     0  172M   0% /run/user/0
    

    创建目录/mnt/haha,将刚刚创建的分区sda4 挂载到该目录

    [root@lazy /]# mkdir /mnt/haha
    [root@lazy /]# mount /dev/sda4 /mnt/haha

    发现报错mount: special device /dev/sda4 does not exist,找不到分区,查看/pro/partitions

    [root@lazy /]# cat /proc/partitions
    major minor  #blocks  name
    
      11        0    1048575 sr0
       8        0  488386584 sda
       8        1   50337792 sda1
       8        2     512000 sda2
       8        3  276571136 sda3
     253        0   52428800 dm-0
     253        1    3932160 dm-1
     253        2  209715200 dm-2
     253        3   10485760 dm-3
    

    确实没有分区sda4,这时需要让内核重读磁盘分区表,可以通过partx工具让内核重读磁盘分区表

    partx -d /dev/sda  //所有信息清零
    partx -a /dev/sda  //添加分区信息
    partx -s /dev/sda  //显示分区信息 

    再进行挂载,报错

    mount: unknown filesystem type '(null)'
    

    格式化分区

    mkfs -t ext2 /dev/sda4

     挂载不再报错,df -h 查看

    [root@lazy haha]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   50G  1.7G   49G   4% /
    devtmpfs                 847M     0  847M   0% /dev
    tmpfs                    859M     0  859M   0% /dev/shm
    tmpfs                    859M   33M  826M   4% /run
    tmpfs                    859M     0  859M   0% /sys/fs/cgroup
    /dev/mapper/centos-home  200G   16G  184G   8% /home
    /dev/mapper/centos-var    10G  8.1G  2.0G  81% /var
    /dev/sda2                497M  130M  367M  27% /boot
    tmpfs                    172M     0  172M   0% /run/user/0
    /dev/sda4                152G   60M  144G   1% /mnt/haha
    [root@lazy haha]#
    

    可以利用umount取消挂载

    [root@lazy haha]# umount /mnt/haha
    [root@lazy haha]# df -h
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/centos-root   50G  1.7G   49G   4% /
    devtmpfs                 847M     0  847M   0% /dev
    tmpfs                    859M     0  859M   0% /dev/shm
    tmpfs                    859M   33M  826M   4% /run
    tmpfs                    859M     0  859M   0% /sys/fs/cgroup
    /dev/mapper/centos-home  200G   16G  184G   8% /home
    /dev/mapper/centos-var    10G  8.1G  2.0G  81% /var
    /dev/sda2                497M  130M  367M  27% /boot
    tmpfs                    172M     0  172M   0% /run/user/0
    [root@lazy haha]#
    

    /etc/fstab和/etc/mtab

     /etc/fstab 记录了计算机上硬盘分区的相关信息,启动 Linux 的时候,检查分区的 fsck 命令,和挂载分区的 mount 命令,都需要 fstab 中的信息,来正确的检查和挂载硬盘。 所以可以在这个文件中加入挂载盘的信息,实现启动时挂载;

    [root@lazy haha]# cat /etc/fstab
    
    #
    # /etc/fstab
    # Created by anaconda on Sun Mar  6 22:36:43 2016
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root /                       xfs     defaults        0 0
    UUID=846e966f-11ed-4b3f-b7d4-ddfff975cb6a /boot                   xfs     defaults        0 0
    /dev/mapper/centos-home /home                   xfs     defaults        0 0
    /dev/mapper/centos-var  /var                    xfs     defaults        0 0
    /dev/mapper/centos-swap swap                    swap    defaults        0 0
    [root@lazy haha]#
    

    用第一行来说明各列代表的含义,

    • /dev/mapper/centeros-home 可以是设备名称、LABEL UUID 伪文件系统名称
    • /                                             挂载点,即指定的文件目录
    • xfs                                         文件系统类型
    • defaults                                 挂载选项
    • 0                                            存储频率  0 不做备份,1 每天转储,2  每隔一天转储
    • 0                                            自检次序  0 不自检,1 首先自检,一般只有rootfs 才用到

    /etc/mtab 记载的是现在系统已经装载的文件系统,包括操作系统建立的虚拟文件等;而/etc/fstab是系统准备装载的。 每当 mount 挂载分区、umount 卸载分区,都会动态更新 mtab,mtab 总是保持着当前系统中已挂载的分区信息,fdisk、df 这类程序,必须要读取 mtab 文件,才能获得当前系统中的分区挂载情况。当然我们自己还可以通过读取/proc/mount也可以来获取当前挂载信息 

  • 相关阅读:
    Prism 源码解读5-数据绑定和命令
    Prism 源码解读4-ViewModel注入
    Prism 源码解读3-Modules加载
    Prism 源码解读2-View的加载和控制
    java中int 类型的移位运算与位运算
    二进制、十六进制理解及int类型二进制存储方式
    git bash返回上一级目录
    关于我
    【设计模式】设计原则--面向接口编程你理解的对吗?
    回到未来:Smalltalk 编程系统
  • 原文地址:https://www.cnblogs.com/ljgeng/p/9490958.html
Copyright © 2011-2022 走看看