• Linux 磁盘管理


    磁盘管理
         I/O ports:I/O设备地址;一般会用到两个缓冲器,一个输入,一个输出;
        一切皆文件:
            open();read();write();close();
            设备文件
                块设备:block,存储单位为"块";    磁盘设备;
                字符设备:char,存储单位为"字符";键盘,鼠标设备;
                
                设备文件:关联至一个设备驱动,进而能够跟与之对应的硬件设备进行通讯;并且设备文件没有数据大小的属性,只有元数据;
                    包括read(),write()等输入,输出操作;还可能包括一些硬件特性,比如寻道,磁盘转动等;这些由文件系统及设备驱动共同完成;设备驱动将read(),write()等操作转换成硬件的电气操作特性;
                设备号(udev)
                    主设备号:major number,用来标识不同设备类型;
                    次设备号:minor number,用来标识相同类型的不同设备;
                硬盘的接口类型:主板跟硬件设备中间通信,需要协商一些参数,比如收发速率,双方都识别的信息格式等;这些都有控制器协调;
                    并口:
                        IDE:133MB/s
                        SCSI:640MB/s
                    串口:
                        SATA:6Gbps
                        SAS:6Gbps
                        USB:480MB/s
                        以上只是接口速率,跟设备存取速率没有直接关系;
                /dev/DEV_FILE:设备文件的存放位置;
                    磁盘设备的设备文件命名:
                        IDE:/dev/hd(a-z);
                        SATA,SAS,SCSI,USB:/dev/sd(a-z);
                            现在IDE也是sd了;
                        磁盘编号:a-z;磁盘编号跟系统启动时,识别设备的顺序有关,越显示别的,号码越靠前;
                        分区编号:sda1,sda2 …;
                            分区号码1-4为主分区或者扩展分区,之后的为逻辑分区;
                机械式磁盘:  rpm :rotations per minute 转速;
                    track :磁道;数据实际存储的位置;
                    sector:扇区;一般为512bytes或4k;
                    cylinder:柱面;分区都是以柱面为单位的;
                分区:将一个存储空间在逻辑上划分为多个独立的存储空间,当做多个单独的硬件设备使用;
                0磁道0扇区:512bytes用来存储开机引导程序及分区表;
                    MBR:Master Boot Record主引导记录;
                        前446bytes用来存储boot loader 引导加载器;
                        之后64bytes用来存储分区表;
                            每16bytes标识一个分区,所以最多只有4个主分区;可以通过扩展分区来划分多个分区,扩展分区是通过指向另外一个存储位置,把他当做分区表继续划分逻辑分区;
                        最后2bytes用来存储MBR是否有效,通常为55AA;
                    课外知识:UEFI,GPT;
                分区管理工具
                    gdisk(GPT),fdisk(MBR),parted,sfdisk;
                    fdisk:对一块硬盘来讲,只能管理15个分区;
                        -l:列出主机上的磁盘分区;
                            "*":表示在此分区上存在可引导程序;
                        子命令:
                            p:显示已有分区;
                            n:新建分区;
                            m:显示帮助信息;
                            d:删除分区;
                            t:更改分区id;
                            l:列出所有分区id类型;
                            w:写入磁盘并退出;
                            q:放弃写入并退出;
                    查看内核是否已识别新的分区:
                        cat /proc/partations:分区信息所在位置;
                    通知内核重新读取磁盘分区表:
                        partx,kpartx,partprobe;
                        partx -a :可以手动添加分区;
                        kpartx:支持强制添加分区;

    注:根据马哥视频做的学习笔记,如有错误,欢迎指正;侵删

  • 相关阅读:
    SCOI 2012 滑雪与时间胶囊
    TYVJ P1730 二逼平衡树
    CDQZ_Training 20120524 词编码
    VC++学习笔记之消息处理机制和窗口过程函数
    项目管理本质论
    VC++学习笔记之创建窗口
    C++随笔(二)
    SqlServer的那些常用操作(一)
    C++随笔(一)
    Silverlight游戏开发学习笔记(二)
  • 原文地址:https://www.cnblogs.com/guowei-Linux/p/9787338.html
Copyright © 2020-2023  润新知