1.3 linux基础命令-存储管理

一、认识硬盘
    1、物理组成
        磁头(head):对硬盘进行读写操作
        磁道(Track):硬盘转一圈所画的圆就是磁道
        磁柱(Cylinder):两个磁盘上的同一个磁道就是一个磁柱
        磁盘分区(partition):磁柱也就是磁盘分区
        扇区(sector):磁盘上最小的物理存储单元

    2、磁盘分区
        记录起始与结束磁柱
        MBR(Master boot Recorder):主要启动扇区,只能记录4个partition的信息。partition(P)和extended(E)最多只能有4个。3P+1E

    3、文件系统
        每个partition就是一个文件系统,
        逻辑区块(Block):partition进行filesystem的格式化时,所指定的最小存储单元。一个Block最多只能存储一个文件
        Superblock:每个文件系统开始位置的Block称为superblock,用于记录文件系统的大小,空闲block等信息

    4、linux的文件系统(inode)
        文件包括文件数据和元数据
        linux标准文件系统ext2,使用iNode和block分别存储元数据和文件数据
            inode:元数据
            block:文件数据

        读取文件内容的流程,以/etc/crontab为例:
            1、操作系统根据根目录( / )的相关资料可取得 /etc 这个目录所在的 inode ,并前往读取 /etc 这个目录的所有相关属性;
            2、根据 /etc 的 inode 的资料,可以取得 /etc 这个目录底下所有档案的关连数据是放置在哪一个 Block 当中,并前往该 block 读取档案的关连性内容;
            3、由上个步骤的 Block 当中,可以知道 crontab 这个档案的 inode 所在地,并前往该 inode ;
            4、由上个步骤的 inode 当中,可以取得 crontab 这个档案的所有属性,并且可前往由 inode 所指向的 Block 区域,顺利的取得 crontab 的档案内容。

    5、查看硬盘或目录的容量
        命令:
            df:查看已挂载磁盘总容量,使用量与inode等
                -i:使用i-nodes显示结果
                -k:使用KBytes显示结果
                -m:使用MBytes显示结果

            du:查看档案使用掉的量
                -s:列出目录占的总量
                -k:列出的值以KB输出
                -m:列出的值以MB输出
                -b:列出的值以byte输出

    6、连接文件
        硬连接(Hard link)
            Hard Link在某个目录下新增一个该档案的关连数据
            Hard link是在同一个partition上进行数据关联的建立
            缺点:Hard link不能跨Filesystem
                  不能link目录

        软连接(Symbolic Link)
            软连接是建立一个独立的档案,这个档案会指向它link的档案。

        命令:
            ln [-s] [来源档] [目的档]
                -s:提供Symbolic link的连接
                不加任何参数就是Hard link        
                
    7、检查硬盘坏轨与数据同步化写入
        fsck:检查硬盘有没有坏轨
            -A:依据/etc/fstab的内容,将所有的装置都扫描一次
            -a:自动修复检查到的有问题的扇区
            -r:交互式修复检查到的有问题扇区
        
        sync:内存中的数据同步写入磁盘



二、存储管理

    linux根据设备类型进行识别。
        对于磁盘:
            如果是IDE存储设备,识别为hd。依次被识别为hda,hdb...
            如果是SATA、USB或SCSI设备。依次被识别为sda、sdb...
        对于分区:
            第一块磁盘的第一个分区为sda1;
            第二块磁盘的第三个分区为sdb3;

三、磁盘分区
        传统MBR分区方式
            1、一块磁盘最多可以分四个主分区,磁盘分配了四个主分区之后,即使还有剩余空间,也无法继续分区
            2、如果需要更多的分区,则需要在扩展分区中创建逻辑分区。所有逻辑分区的总和为扩展分区的大小。
            3、无法创建大于2TB的分区
            4、SATA的扩展分区为sda4。sda4 = sda5 + sda6 + ...
            5、SATA磁盘的第一个逻辑分区一定为sda5

            fdisk
                #fdisk -l             #查看磁盘分区表
                #fdisk /dev/sdb       #操作磁盘sdb
                #partprobe /dev/sdb    #内核读取新的分区表,无须重启

        GPT分区方式:
            1、不受传统MBR分区的限制
            2、提供分区表的冗余以实现分区表的备份和安全
            3、fdisk命令不支持GPT分区方式,使用另一个分区工具parted
            4、改变分区方式,原有磁盘中的数据将全部丢失,因此要保存好自己的数据备份

            parted
                #parted /dev/sdb mklabel gpt         #修改分区表格式,磁盘信息将全部丢失
                #parted /dev/sdb print                #查看系统分区信息表

                #创建格式为ext3的主分区,从磁盘的第1M开始,到1G的位置
                #parted /dev/sdb mkpart primary ext3 1 1G

                #创建格式为ext3的主分区,从磁盘的第1G开始,到2G的位置
                #parted /dev/sdb mkpart primary ext3 1G 2G

                #删除分区
                #parted /dev/sdb rm 2

四、分区格式化与挂载文件系统
        硬盘格式化
            磁盘格式化之后,需要格式化
            #mkfs.ext4 /dev/sdb1              #将/dev/sdb1格式为linux的默认格式ext4
            #mkswap /dev/sdb2                #将/dev/sdb2格式化为swap分区

        挂载文件系统

                硬盘在linux中启用,首先要挂载到文件系统,挂载点即为硬盘所在目录,该目录下所有目录都归硬盘所有。

                如要挂载的目录不为空,则mount文件系统之后,该目录下的东西就会暂时消失,unmount之后,文件又显示出来

            第一种方法:mount
    mount [-ahlV]
        -a:依照/etc/fstab的内容将相关的磁盘都挂上
        -h:只列出mount相关的参数,并不挂载任何装置
        -l:列出目前已挂载的装置,文件系统名与挂载点
        -V:累出mount的版本信息
    mount -t type /dev/hdxx /mountpoint
        type:将/dev/hdxx这个装置以type的文件格式挂载到/mountpoint这个点
            vfat,msdos:支持windows系统的文件格式,尤其是vfat
            ext,ext2:linux的主要文件格式
    mount -o [options]
        rw    :mount的扇区可擦写
        suid:允许文件可配置为suid的状态
        exec:允许执行binary的档案
        auto:允许该档案可以使用mount -a参数设定
        nouser:禁止其他人使用挂载功能
        async:允许扇区进行异步记录
        default:同时具有rw,suid,exec,nouser,async这些功能的设定值
        nosuid:不允许文件可配置为suid的状态
        ro:设定为只读属性
        remount:让系统本来挂载的扇区重新被挂载
    unmount:
        unmount [-f] [device|mount_point]
        -f:强制将该文件系统退出,最常使用在无法退出的NFS文件系统中
            
            第二种方法:修改/etc/fsrab文件,设为开机挂载
                #blkid /dev/sdb1              #查看磁盘的UUID
                    /dev/vg_test/lv_test1    /ryan1    ext4   defaults  0 0
                    /path/to/lv              /dir_mount ext4  defaults  0 0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值