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

    前言所需:

    磁盘前段MBR(共512字节),其中bootloader占用446字节,分区表占用64字节,每一个主分区16字节,共4区或3+1区(只能有4个主或者3主+1扩展,扩展可以创建多个逻辑),最后两个字节决定了是否可引导,如果是5A(16进制),则可引导

    -1  分区表操作

        fdisk [DEVICE]

        交互式命令:
        d: 删除一个分区
        n: 新建一个分区
        p: 显示当前的分区信息
        w: 保存退出
        q: 不保存退出
        l: 各分区类型所对应的System ID; 
          83:Linux
          82:Linux Swap,交换分区
          8e: LVM
          fd: Soft Raid
          t: 修改指定分区的System ID;

    -2  分区表查看(此时查看的还是修改前的,因内核还未读取修改后的)

        cat /proc/partitions  

    -3  RHEL5让内核重新读取分区表

        partprobe  /dev/sd[a-z]

       RHEL6让内核重新读取分区表

        partx  -a  /dev/sd[a-z][n]  /dev/sd[a-z] 

        若无法找到设备文件,则建议重新启动

    -4  格式化分区,创建文件系统

        mkfs -t ext4 /dev/sd[a-z][n]

        or

        mkfs.ext4 /dev/sd[a-z][n]

        or

        mke2fs -t ext4 /dev/sd[a-z][n]

        mke2fs功能最强大,不过只能针对ext[n]

        mke2fs常用参数:

          -t 指定文件系统

          -b n  指定块大小 (不能修改,只能在此时决定)

            *块的大小取决于cpu的对内存页框的大小的支持,x86的默认页框是4K,故最小块大小为4K,所以,块的大小=4*2^n次方

            *块具体设置由所存储的文件数量大小决定,因为每一个块只能存储一个文件信息,故若文件多且小,则块设置大,浪费资源,故文件多且小,块就小,文件少          且大,块就大

          -L [label]  指定卷标名

          -m [n]  指定预留块在总空间中占用的比例 默认应该是5%,500M-1G足以

          -r [n]  指定预留块的数量

    -5  文件系统属性修改

        tune2fs 

        -l: 显示文件系统(超级块)信息;(block size)
        -L label:重新设定卷标;
        -m [n]: 调整预留给管理使用的块所占据总体分区空间的比例;(大硬盘最好指定,因为默认的比例过大,资源浪费)
        -r [n]: 调整预留给管理使用的块个数;(Reserved block count)(与块大小有关,因为块大小设置过大,相对于同一个磁盘,则相同比例下块数量就下降)
        -o:设定挂载默认选项
        -O: 设定文件系统默认特性
        -E: 调整文件系统的扩展属性

    -6  挂载分区

        --1  格式

        mount [-t fstype] DEVICE       MOUNT_POINT

        eg:mount -t ext4 /dev/sdb /mnt

        mount [-t fstype] LABEL="卷标"    MOUNT_POINT

        eg:mount -t ext4 LABEL="NEWPT" /mydata

        mount [-t fstype] UUID="UUID"    MOUNT_POINT

        --2  查看UUID、卷标、系统类型

        blkid /dev/sda[n]  查看sda1的uuid、卷标、系统类型

            

        *不能挂载到系统级目录,因为挂载其实就是将目录和分区建立关联,若一个分区下的一个目录有文件,则另一个分区挂载到此目录之后,次目录下的文件将不能被访        问(并不是删除,只不过不能访问,被隐藏了),若此目录是系统目录,那么系统命令将无法使用

        

        --3  mount -o的常用选项
        ro: 只读挂载;
        rw: 读写,默认即为读写;
        noatime: 关闭 更新 访问时间的功能;很重要的优化参数(包含nodiratime)
        auto: 是否能够由“mount -a”挂载;
        defaults:相当于rw, suid, dev, exec, auto, nouser, async, and relatime
        sync: 同步写入 (用户和内存进行交互的同时,就与硬盘进行同步,同步完成前,需等待)
        async:异步写入 (用户和内存先行交互,之后内存与硬盘进行同步,性能强)
        dev: 允许在此分区内创建启用设备文件(b和c)

        ………………………………………………………………………remount……………………………………………………………………………
        remount: 重新挂载

        mount -o remount,other_options DEVICE
        mount -o remount,ro /dev/sda3 #将sda3重新挂载成只读

        ……………………………………………………………………………loop………………………………………………………………………………
        loop: 本地回环设备;

        mount -o loop,other_options DEVICE MOUNT_POINT: 用于挂载回环设备(镜像,类似于win的虚拟光驱);

        eg:mount -o loop,ro /xxx.iso /mnt
        ……………………………………………………………………………noexec…………………………………………………………………………

        noexec 不允许挂载设备执行二进制程序(因U盘病毒含量大,故U盘不允许最好)

        ……………………………………………………………………………………………………………………………………………………………………

        -n: 挂载文件系统时,不更新/etc/mtab文件; (mount命令就是刷新/etc/mtab文件,此文件就是存储当前挂载的信息)
        -r: 相当于“-o ro”, 只读挂载

        mount -o ro /dev/cdrom /media
        cdrom一般为一个链接文件(l)


        cdrom --> sr0
        or
        cdrom --> hdc

        …………………………………………………………………无法umount的时候……………………………………………………………………

        很多时候挂载网络系统的时候,若无法卸载,可尝试以下

        fuser [MOUNT_POINT]:查看正在访问某挂载点的进程;

        fuser -km [MOUNT_POINT]: 强行杀死正在访问此挂载点的进程;

    -7  /etc/fstab: 系统开机会自动挂载的文件系统

        --1  文件格式

        挂载的设备 挂载点 文件系统类型 挂载选项 转储频率 自检次序
        eg:/dev/sda3 /mydata ext4 defaults,noatime 0 0

        --2  详细描述

        挂载的设备:设备文件、卷标、UUID
        挂载点:
        文件系统类型:ext2, ext3, ...
        挂载选项:defaults表示使用默认选项,多个选项彼此间逗号分隔;
        转储频率:
            0: 从不备份;(自己挂载大多时候指定0)
            1:每日备份;
            2:每隔一天备份
        自检次序:系统出现意外,重启检测出现意外的文件是否完整
            0:不检测;
            1:第一个检测;一般只有根文件系统被第一个检测;
            2
            9
        ………………………………………………………………………自检……………………………………………………………………………………
        ext3开始,ext系列被称为日志文件系统,故索引先存于日志区域,若文件正常,则索引移植到索引区域,因此当出现意外的时候,只要日志区域存在的索引都是有问题     的,因为没来得及放入索引区域。所以检测速度很快;
        而ext2则没有日志区域,故只能对比所有文件,检测速度很慢;
        但是ext3以上的因为存在了日志系统,故索引条i/o了两次,所以性能有所下降
        ………………………………………………………………………全部挂载……………………………………………………………………………
        mount -a 挂载 /etc/fstab所有支持auto挂载选项的文件系统
        …………………………………………………………………………………………………………………………………………………………………
    -8  交换分区:swap

        --1

        linux和windows交换分区的区别:

        linux上必须是独立分区,独立文件系统;而windows是放在系统磁盘上

        32位的最大线性地址空间为4G(3G的用户空间,1G的内核空间)

        每一个进程都会被告知自己拥有最大的线性地址空间,因此当实际物理内存不能够满足线性地址空间的时候,就会使用硬盘模拟成内存(交换分区)

        --2

        交换分区应该设置多大?
        科学计算类的服务器(批处理):交换内存可以尽可能大,比如为物理内存的2倍;
        应用程序类的服务器(web、数据库):交换内存尽可能小,比如只给1G;

        若不确定服务器使用类型:

        物理内存小于等于2G, swap=memory*2
        2G<memory<4G, swap=memory*1.5
        memory>4G, swap=4G

        --3

        修改分区属性,将其改为swap分区:

        fdisk /dev/sd[a-z]

        eg: fdisk /dev/sda

          输入t

          选择分区5,同时更改id为82

        创建交换分区:
        mkswap -L label device
        eg:mkswap -L newswap /dev/sda5

        --4
        启用交换分区:
        swapon DEVICE
        eg:swapon /dev/sda5
        swapon -a  启用所有交换分区

        --5

        禁用交换分区:
        swapoff DEVICE
        eg:swapoff /dev/sda5
        swapoff -a  禁用所有交换分区

        --6

        开机自动启用交换分区,可定义于/etc/fstab,挂载点:swap  文件系统类型:swap
        DEVICE swap swap defaults 0 0
        eg:LABLE="newswap" swap swap defaults 0 0

          --7

        dd命令 创建虚拟化交换分区

        dd if=/dev/zero of=/dev/swap.b bs=1M  count=500 

        mkswap -L newswap /dev/swap.b

          swapon /dev/swap.b

    附:
    如何内存大小:
    free
    -m: 空间大小换算为MB
    -g: 空间大小换算为GB
    shared: 共享内存
    buffer: 缓冲
    cached: 缓存

    used-buffer-cached=真正使用内存

        

        

     

    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    vs c++ 自动生成svn版本信息 编译前脚本
    cannot seek value-initialized vector iterator 程序崩溃
    shell 统计代码行数
    c++ 控制台程序增加图标的一种方法
    grpc c++ 设置断线重连时间
    拓端数据tecdat|R语言用lme4多层次(混合效应)广义线性模型(GLM),逻辑回归分析教育留级调查数据
    拓端数据tecdat|R语言计量经济学:虚拟变量(哑变量)在线性回归模型中的应用
    拓端数据tecdat|Python风险价值计算投资组合VaR(Value at Risk )、期望损失ES(Expected Shortfall)
    拓端数据tecdat|R语言用相关网络图可视化分析汽车配置和饮酒习惯
    拓端数据tecdat|R语言 PCA(主成分分析),CA(对应分析)夫妻职业差异和马赛克图可视化
  • 原文地址:https://www.cnblogs.com/aaa103439/p/3350207.html
Copyright © 2011-2022 走看看