zoukankan      html  css  js  c++  java
  • Linux磁盘分区格式化挂载

     
    1,Linux分区

    原理

    1)Linux无论有几个分区,分给哪一目录使用,归根结底只有一个根目录,一个独立且唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。

    2)Linux中采用了一种叫 “载入” 的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

    3)原理图

     

    简而言之,Linux 没有像Windows那样的C,D,E盘的概念,在Linux中都是文件目录

    硬盘说明

    1)Linux硬盘分IDE硬盘和SCSI硬盘,目前基本上都是SCSI硬盘

    2)对于IDE硬盘,驱动标识为“hdx~”,其中“hd”分区所在的设备类型,这里指IDE硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助盘,d为辅助从属盘),“~”代表分区,前4个分区用数字1~4表示,他们是主分区或扩展分区,从5开始就是逻辑分区。如:hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区

    3)对于SCSI硬盘则标识为“sdx~”,SCSI硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。

    4)对于virtio 硬盘则标识为“vdx~”,virtio 硬盘是用“vd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。
    ---------------------

    2,查看磁盘与挂载情况

    lsblk(list block devices)能列出系统上所有的磁盘。

    lsblk [-dfimpt] [device]
    选项与参数:
    -d :仅列出磁盘本身,并不会列出该磁盘的分区数据
    -f :同时列出该磁盘内的文件系统名称
    -i :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用)
    -m :同时输出该设备在 /dev 下面的权限数据 (rwx 的数据)
    -p :列出该设备的完整文件名!而不是仅列出最后的名字而已。
    -t :列出该磁盘设备的详细数据,包括磁盘伫列机制、预读写的数据量大小等

    可以看到 41G的vdb没有被挂载,挂载了一个vda

    3,磁盘分区

     fdisk 创建和维护分区表

     fdisk [参数] 设备文件

     参数:

    • -l 列出素所有分区表
    • -u 与"-l"搭配使用,显示分区数目
    • -s<分区编号> 指定分区
    • -v 版本信息

     菜单操作说明 

    • m :显示菜单和帮助信息
    • a :活动分区标记/引导分区
    • d :删除分区
    • l :显示分区类型
    • n :新建分区
    • p :显示分区信息
    • q :退出不保存
    • t :设置分区号
    • v :进行分区检查
    • w :保存修改
    • x :扩展应用,高级功能

     

    执行完成后查看分区

    4,磁盘格式化

    可以看到,新分区后的vdb1没有 文件系统类型,没有 UUID,还不能使用,需要格式化

    磁盘格式化:mkfs [参数] [分区] 

    • -t 文件系统类型指定建立的文件系统类型
    • -c 建立文件系统之前检查有无坏道
    • -l 文件名:从文件中读取坏道的情况
    • -v 显示详细情况

     

    再次查看

    mountpoint表示挂载点,第一块硬盘 vda1挂载在根目录了,vdb1没有挂载所以为空

    5,挂载/取消挂载

    挂载Linux系统外的文件:mount/umount

    语法:

    • mount [-hV]
    • mount -a [-fFnrsvw] [-t vfstype]
    • mount [-fnrsvw] [-o options [,...]] device | dir
    • mount [-fnrsvw] [-t vfstype] [-o options] device dir

    参数:

    • -V:显示程序版本
    • -h:显示辅助讯息
    • -v:显示较讯息,通常和 -f 用来除错。
    • -a:将 /etc/fstab 中定义的所有档案系统挂上。
    • -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
    • -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
    • -n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
    • -s-r:等于 -o ro
    • -w:等于 -o rw
    • -L:将含有特定标签的硬盘分割挂上。
    • -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
    • -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
    • -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
    • -o sync:在同步模式下执行。
    • -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
    • -o auto、-o noauto:打开/关闭自动挂上模式。
    • -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
    • -o dev、-o nodev-o exec、-o noexec允许执行档被执行。
    • -o suid、-o nosuid:
    • 允许执行档在 root 权限下执行。
    • -o user、-o nouser:使用者可以执行 mount/umount 的动作。
    • -o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
    • -o ro:用唯读模式挂上。
    • -o rw:用可读写模式挂上。
    • -o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。

    1)将 /dev/vdb1挂载的根目录data下:

    执行 mount /dev/vdb1 /data 后执行 lsblk -f 显示 挂载点 为:/data,这种挂载是临时的,如果重启这种挂载关系就会消失了

    2)取消挂载:

    3)永久挂载

    系统每次启动都会读取/etc/fstab中的配置内容,自动挂载该文件中被记录的设备和分区,我们可以通过编辑这个文件达到永久挂载的目的

    vim /etc/fstab

    /etc/fstab 每行定义一个要挂载的文件系统,表中共有6列分表代表
    ① 设备名称:要挂载的设备或伪文件系统,可包含:设备名称,LABEL,UUID,伪文件系统名称
    ② 挂载点:就是你要挂载到哪个目录下。
    ③ 文件系统类型(auto 寻找默认的),
      普通设备挂载:ext#/xfs 等文件系统类型
      交换分区 swap:swap
      网络挂载地址 linux之间:nfs,windos挂载:cifs
      光盘 iso9660,文件 cifs
    ④ 挂载选项:

    • Async/sync:设置是否为同步方式运行,默认为async
    • auto/noauto : 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
    • rw/ro: 是否以以只读或者读写模式挂载
    • exec/noexec:限制此文件系统内是否能够进行"执行"的操作
    • user/nouser:是否允许用户使用mount命令挂载
    • suid/nosuid:是否允许SUID的存在
    • Usrquota:启动文件系统支持磁盘配额模式
    • Grpquota:启动文件系统对群组磁盘配额模式的支持
    • Defaults:同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置

    ⑤ 备份(转储)频率: 0:不做备份 1:每天转储 2:每隔一天转储
    ⑥ 开机是否需要fsck文件系统检查。(0不扫描,1对应根目录,2对应其他文件系统)

    图中第一行为我们添加的一个挂载点 将 /dev/vdb1挂载的根目录data下,最后要执行下列命令让挂载生效

    mount -a

    6,查看系统磁盘使用情况

    df 命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计

    语法:

        df [选项]... [文件]...

    参数:

    -a, --all 包含所有的具有 0 Blocks 的文件系统
    --block-size={SIZE} 使用 {SIZE} 大小的 Blocks
    -h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
    -H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
    -i, --inodes 列出 inode 资讯,不列出已使用 block
    -k, --kilobytes 就像是 --block-size=1024
    -l, --local 限制列出的文件结构
    -m, --megabytes 就像 --block-size=1048576
    --no-sync 取得资讯前不 sync (预设值)
    -P, --portability 使用 POSIX 输出格式
    --sync 在取得资讯前 sync
    -t, --type=TYPE 限制列出文件系统的 TYPE
    -T, --print-type 显示文件系统的形式
    -x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
    -v (忽略)
    --help 显示这个帮手并且离开
    --version 输出版本资讯并且离开
    
    
  • 相关阅读:
    CentOS6+nginx+uwsgi+mysql+django1.6.6+python2.6.6
    CentOS 6.5下安装Python+Django+Nginx+uWSGI
    python学习之旅
    Gitlab安装操作说明书
    快速上手git gitlab协同合作
    在centos6.3用yum安装redis
    CentOS 6.5 下安装 Redis 2.8.7
    Ruby Gems更换淘宝源方法
    Apache 日志分析(一)
    Apache 日志分析(二)
  • 原文地址:https://www.cnblogs.com/ejiyuan/p/2760477.html
Copyright © 2011-2022 走看看