• 磁盘分区需要知道的概念


    首先分区有两种分区方式
    MBR
    现在主流的分区方式 分区不超过2T
    0磁道0扇区
    该区的大小为512bytes,专门用来存放MBR ,MBR又分为三类:
      446bytes :存储boot loader 引导加载器
      64bytes  :存储分区表,有多少个分区,每个分区从哪里开始从哪里结束,其中设16bytse标识为一个分区,所以一块硬盘最多只能有四个主分区,如果需要超出四个分区可以分为三个主分区一个扩展分区,一个扩展分区里可以分N个逻辑分区。
      2bytes   :前面信息的有效标识(结束符),用四个16进制来表示55AA,表示前面的510bytes是有效的,很重要。
     
    GPT
    将来的主流分,主要针对大容量硬盘分区。支持128个分区,最大可支持64Z大小的分区。
    管理分区的三种方式
      fdisk:创建MBR分区
      gdisk:创建GPT分区
      parted:高级分区操作(创建、复制、调整大小等等)分区是实时的 就是说你执行了一个分区的命令那就真的分区了,而不会像fdisk那样需要执行w命令写入所做的修改,所以parted的测试千万注意不能再生产环境中!
     
    文件系统分为
      日志型文件系统:ext3、ext4、xfs.....
      非日志型文件系统:ext2、vfat
      这里提一下VFS,虚拟文件系统,虚拟化层,统一接口,方便调用各种不同的文件系统
    创建ext文件系统
      mkfs.文件系统名 /设备路径
     
     
     
    mke2fs :创建文件系统 ext系列文件专用工具
      -t :{ext2|ext3|ext4}
      -b :指定块大小 有三种形式1024,2048,4096.一般默认
      -N :为数据空间创建多少个inode 一般默认
      -m :为管理人员预留空间占用的百分比 默认5% 修改支持小数点
      -O : 启用指定特性
      -O ^FEATURE : 关闭指定特性
      tune2fs -l /dev/sdb1 查看系统支持的特性
          tune2fs -O ^has_journal /dev/sda9 移除特性
         tune2fs -O +has_journal /dev/sda9 添加特性
       -o:修改ACL   
         tune2fs -o acl /dev/sda9
         tune2fs -o ^acl /dev/sda9
     
    tune2fs : 重新设定ext系列文件系统可调整参数的值
      -l : 查看指定文件系统超级块信息 super block
      -L :修改卷标
      -m:预留给管理员的空间百分比
      -o :调整文件系统的默认挂载选项
      -U :修改UUID号
     
    fsck 文件系统检测和修复 (只能修复系统 数据很有可能不能修复)
      -p :自动修复错误
      -r :交互式修复错误
     
    e2fsck ext系列文件专用的检测修复工具
      -y :自动回答为yes
      -f :强制修复
     
    mount 挂载
    注意事项
    ***挂载点进程正在被使用无法卸载
    ***事先存在 并使用空目录挂载 如果使用已挂载的文件重复挂载那之前的文件会隐藏 卸载后才可看到
     
    挂载
    mount /dev/sda1 /mnt/sda1
    把/dev/sda1 挂载到/mnt/sda1
     
    文件挂载
    findmnt 检查已挂载的文件的系统
    losetup -a 查看centos6的 loop挂载关系 7以上不用加-a
     
    umount /dev/sda1
    卸载挂载 (卸载时有别人在进程里是不能卸载的)
    fuser 专门看挂载点的进程
      -v 查看谁在进程里
      -km 把所有进程踢出去
      (不到万不得已不要踢别人出去,这样别人会丢失数据。如果需要卸载可以提前发通知维护系统)
      -r :只读挂载 挂载的文件只能读 任何人没有权限修改 对一些特殊设备使用这种方式t
      -w :读写挂载
      -n :隐藏挂载 只有用“cat /proc/mounts”才能显示出来
      -B :把一个目录挂载到另一个目录上    
        例:mount -B /APPS /etc/APPS1
     
    mount常用挂载选项
      mount :查看所有挂载点 mnt专门存放挂载点
      async : 异步模式 内存日志是定时更新 效率高
      tail 查看文件日志 /var/log/messages 目录
      sync :同步模式 内存更改时 同时写磁盘 效率慢 有保障
      atime/noatime: 是否更新访问时间
        atime 延迟时间 在两种情况下会修改
          时间超过一天以上未被访问 下次访问时会修改
          mtime时间比atime时间新 在下次访问时会修改
      touch 创建文件 如果文件已经已经存在 则修改文件的三个时间
      auto/noauto : 是否支持自动挂载
      exec/noexec : 是否支持将文件系统上运行应用程序
      dev/nodev :是否支持在此文件系统上使用设备文件
      suid/nosuid:是否支持suid和sgid权限
      remount :重新挂载 一般很少会卸载在挂载 会直接从新挂载
      ro:只读
      rw:读写
      user/nouser:是否允许普通用户挂载此设备,默认管理员才能挂载  
      acl:启用此文件系统上的访问控制列表功能
      Defaults:相当于rw、nosuid、dev、exec、auto、nouser、async 。
     
    以上所有的挂载都是临时的 服务器重启之后就会自动取消挂载,需要把文件写入/etc/fstab 这个配置文件中
     
    挂载之后使用mount -a 生效文件内挂载
     
    uuidgen 生成新的UUID
     
    lsblk:查看内存中的分区表 不会实时同步
    blkid :查看UUID分区
    disk :真实硬盘分区表 实时生效
     
    swap分区
    用硬盘分区创建swap分区 如果特殊情况下可以用文件创建 ,一般大小为内存的两倍,高性能磁盘存放。
    swap一些选项
      swapon -a 激活新安装的swap
      swapon -s 谁提供了swap
      swapoff 关闭swap
     
    lsof命令用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP、UDP)。找回/恢复删除的文件。是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所以需要root用户执行
     

    分区实验

    ~]# lsblk  ##首先准备一块新硬盘 下面可以显示为sdb
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sr0 11:0 1 3.7G 0 rom
    sda 8:0 0 100G 0 disk
    ├─sda1 8:1 0 500M 0 part /boot
    └─sda2 8:2 0 99.5G 0 part
    ├─vg_xiao-lv_root (dm-0) 253:0 0 50G 0 lvm /
    ├─vg_xiao-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
    └─vg_xiao-lv_home (dm-2) 253:2 0 45.6G 0 lvm /home
    sdb 8:16 0 2G 0 disk     ##新硬盘

    ]# cat << EOF | fdisk /dev/sdb  ##给磁盘分区  ,可以使用交互式 这里这样写方便
    > n   ## 创建一个新的分区
    > p   ## 分区列表
    > 1   ## 因为是新硬盘,磁盘最多可以分四个 这里选1 (这里为交互式模式下的提示,可选为1-4Partition number (1-4): 1)
    >   ##起始位置,可选磁盘块位置,默认直接回车是从当前位置开始分
    > +1K   ##可以指定结束块的数字,也可以直接指定分区大小,直接指定大小方便一点
    > w   ##保存退出
    > EOF   ##这里是模式的匹配字符 ,匹配到这个字符自动退出

    ~]# lsblk   ##查看分区已经分配成功
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sr0 11:0 1 3.7G 0 rom
    sda 8:0 0 100G 0 disk
    ├─sda1 8:1 0 500M 0 part /boot
    └─sda2 8:2 0 99.5G 0 part
    ├─vg_xiao-lv_root (dm-0) 253:0 0 50G 0 lvm /
    ├─vg_xiao-lv_swap (dm-1) 253:1 0 4G 0 lvm [SWAP]
    └─vg_xiao-lv_home (dm-2) 253:2 0 45.6G 0 lvm /home
    sdb 8:16 0 2G 0 disk
    └─sdb1 8:17 0 7.8M 0 part   ##这里是分的区,为sdb硬盘下的sdb1

    ~]# mkfs.ext4 /dev/sdb1  ##格式化分区

    ~]# blkid /dev/sdb1  ##查看分区为ext4系统
    /dev/sdb1: UUID="b5d58031-1b6f-46af-bd4e-d1c5cbb179e9" TYPE="ext4"

     
    小技巧
    fdisk -l   ##查看磁盘中的分区表
    lsblk     ##查看内存中的分区表 查看结果有可能不统一
     
    查看分区的路径  ##相当于执行命令,查看的是内存中的分区表
         /proc/partitions
         /dev/sd*
     
    分区不同步同步方法,如果不同步后续操作会失败,系统的操作时是基于内存的  不是基于磁盘
     CentOS6   
         增加分区
             partx -a  /dev/sdb
        删除分区
              partx -d --nr 5-7 /dev/sdb
     
    CentOS7|5
         partprobe 
  • 相关阅读:
    基于HTML5的可预览多图片Ajax上传
    在linq查询环境下通过sql语句来访问数据库
    EF查询数据库框架的搭建
    用多线程处理后台业务,并提高处理速度
    WPF 大数据加载过程中的等待效果——圆圈转动
    .NET一个线程更新另一个线程的UI(两种实现方法及若干简化)
    通电螺线管与磁场方向
    MOS管与三极管
    word2007怎样从中间某一页开始设置页码
    word删除页眉横线
  • 原文地址:https://www.cnblogs.com/MYue/p/6754617.html
Copyright © 2020-2023  润新知