zoukankan      html  css  js  c++  java
  • 磁盘管理

    磁盘

    磁盘的组成

    磁盘容量的计算:磁头数*磁道数*每道扇区数*每道扇区字节数

    磁盘上各磁道长度不同,每圈磁道容量相同,内圈磁道的存储密度大于圈磁道的存储密度

    磁盘MBR

    1.磁盘的0磁道(最外面的那一圈)0柱面1扇区存储的是MBR(主引导记录)信息

    2.MBR共512个字节,446字节的主引导程序+64字节的分区表+2的魔数(分区结束符)组成

    3.MBR不属于DOS扇区,DOS不能直接访问

    分区表有4个分区记录区,记录区就是记录有关分区信息的一张表,每个分区占16个字节

    磁盘的主分区+拓展分区不能大于4

    Linux磁盘的表示方法

    磁盘的表示方法
    /dev/sda1
    sd 代表磁盘接口类型   USB SATA SAS等接口   IDE 用hd表示
    a b c 磁盘的顺序
    1 2 3 4磁盘中的分区号
    

    磁盘分区

    什么是分区?

    硬盘是不能直接使用的,必须对硬盘进行分割,分割成的一块一块的磁盘区域就是磁盘分区

    分区分类

    在传统的磁盘管理中,一个磁盘分为两类分区:主分区和拓展分区。主分区是能够安装操作系统的,是进行操作系统启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。拓展分区无法直接使用,必须在拓展分区中再次划分逻辑驱动器才可以格式化后存取数据

    分区操作-fdisk

    主分区和拓展分区,只能为4个

    注意

    如果4个分区都是主分区会造成资源浪费

    fdisk
    命令选项
    -l   list 列出磁盘分区
    -u   与-l一起使用,显示分区的相关信息
    	
    fdisk /dev/sdb  分区的磁盘
    
    fdisk /dev/sda    为/dev/sda分区
    m :显示菜单和帮助信息
    a :活动分区标记/引导分区
    d :删除分区
    l :显示分区类型
    n :新建分区
    p :显示分区信息
    q :退出不保存
    t :设置分区号
    v :进行分区检查
    w :保存修改
    x :扩展应用,高级功能
    
    
    命令缺点:单个分区不能超过2T 超过的话需要用parted命令
    在linux 下大磁盘的分区不能再采用fdisk了,MBR分区表只支持2T磁盘,所以大于2T的磁盘必须使用GPT分区表。
    

    其操作参考小猿圈

    格式化-mkfs

    什么是格式化?

    格式化(format)是指对磁盘或磁盘中的分区进行初始化的一种操作,这种操作通常会导致现有的磁盘文件被清除

    格式化相当于给磁盘装一个大管家,大管家负责管理数据(存取数据),给磁盘安装一个文件系统

    文件系统

    数据以什么方式存在硬盘,又以什么方式读出

    文件系统类型

    fat,ntfs,ext2,ext2,ext4,xfs...iso9660(光盘的)

    格式化操作-mkfs

    -L 标签名
    -V : 详细显示模式
    -t : 给定档案系统的型式,Linux 的预设值为 ext2
    -c : 在制做档案系统前,检查该partition 是否有坏轨
    -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
    -b : 给定 block 的大小
    
    关于block and inode  dentry
    实验发现这句话不对
    block越大,inode越少,适合存储大文件的文件系统;block越小,inode越多,适合存储文件多而小的文件系统
    
    mkfs -t ext4 /dev/sdb1
    mkswap /dev/sdb7 格式化交换分区,会有一个UUID
    

    blkid 查看磁盘分区的UUID信息

    # blkid  /dev/vda1
    /dev/vda1: UUID="eb448abb-3012-4d8d-bcde-94434d586a31" TYPE="ext4"
    

    挂载-mount

    linux中所有设备必须经过挂载才能被用户使用

    挂载其实就是将某个设备挂到文件系统的摸个文件夹

    挂载操作mount

    mount - mount a filesystem
    
    命令语法
    mount device dir
    
    
    
    命令选线
    -a   挂载所有文件系统,参考文件 /etc/fstab 挂不上swap swaon -a
    -l   显示当前挂载
    -t   文件系统类型
    -o   指定挂载权限
    umount命令
    
    umount - 卸载文件系统
    
    umount 设备挂载点|设备源
    
    -l  懒惰卸载 当用户不用了,再给你卸载
    
    

    自动挂载

    自动挂载 /etc/fstab文件
    
    设备       挂载点     文件系统    权限     备份   检测   
    第一列    设备源文件或者UUID
    第二列    设备挂载点
    第三列    文件系统类型     
    第四列    
    
    auto: 系统自动挂载,fstab默认就是这个选项
    defaults: rw, suid, dev, exec, auto, nouser, and async.
    noauto 开机不自动挂载
    nouser 只有超级用户可以挂载
    ro 按只读权限挂载
    rw 按可读可写权限挂载
    user 任何用户都可以挂载
    
    第五列是dump备份设置。
    当其值设置为1时,将允许dump备份程序备份;设置为0时,忽略备份操作;
    
    第六列是fsck磁盘检查设置。
    其值是一个顺序。当其值为0时,永远不检查;而 / 根目录分区永远都为1。其它分区从2开始,数字越小越先检查,如果两个分区相同,则同时检测
    

    df挂载文件的使用情况

    du查看文件的大小

    详细信息看百度

    swap

    交换分区

    在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。

    Mem 行(第二行)是内存的使用情况。
    Swap 行(第三行)是交换空间的使用情况。
    total 列显示系统总的可用物理内存和交换空间大小。
    used 列显示已经被使用的物理内存和交换空间。
    free 列显示还有多少物理内存和交换空间可用使用。
    shared 列显示被共享使用的物理内存大小。
    buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
    available 列显示还可以被应用程序使用的物理内存大小。
    

    buffer

    buffer是用来存放要输入到硬盘的内容

    cache

    cache是存放硬盘要读出的数据

    free

    free -m(b k m g)
    
    #适合人读的内存信息
    -h
    
    #显示内存的利用率
    -l
    
    #每隔几秒打印一次
    free -s N
    
    
  • 相关阅读:
    LeetCode
    LeetCode
    Django ORM 查询
    The Usage of Pymongo
    MongoDB基操
    Django内置auth模块中login_required装饰器用于类视图的优雅方式
    Django Session配置
    Python虚拟环境
    遇见Flask-Script
    Git使用手册
  • 原文地址:https://www.cnblogs.com/zx125/p/11711008.html
Copyright © 2011-2022 走看看