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

    计算机硬盘简介

    硬盘是计算机主要存储媒介之一,linux系统中硬件设备相关配置文件存放在/dev下,IDE硬盘接口在Linux中设备名为/dev/hda,  SAS,SCSI,SATA硬盘接口在linux中设备名为sda,高效云盘硬盘接口会识别为/dev/vda等

    文件存储在硬盘上,硬盘的最小存储单位叫做sector(扇区),每个sector存储512字节,操作系统在读取硬盘的时候,不会逐个sector地去读,这样效率很低,为了提升读取效率,操作系统会一次性连续读取多个sector,即一次性读取多个sector称为一个block(块)

    由多个sector组成的block是文件存储的最小单位,block的大小常见有1KB,2KB,4KB,block在linux中长设置为4KB,即连续8个sector组成一个block

    一个block只能存放一个文件,如果文件的大小比block大,会申请更多的block,相反如果文件的大小比默认block小,扔会占用一个block,这样剩余的空间就会被浪费

     RAID简介

    磁盘阵列(Redundant Arrays of Independent Disks,RAID),有冗余能力的阵列。原理是由多个磁盘组合在一起,提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。 在数组中任意一个硬盘故障时,仍可读出数据,在服务器当中必须要有raid阵列卡,不然识别不到硬盘,因此必须要做raid

    类型

    读写性能

    安全性

    磁盘利用率

    成本

    应用方面

    RAID 0

    最好(因并行性而提高)

    最差(完全

    无安全保障)

    最高(100%)

    最低

    个人用户

    RAID 1

    读和单个磁盘无区别,

    写则要写两边

    最高(提供数

    据的百分之百备份)

    差(50%)

    最高

    适用于存放重要

    数据,如服务器和

    数据库存储等领域

    RAID 5

    读:RAID 5=RAID 0

    (相近似的数据读取速度)

    写:RAID 5<对单个

    磁盘进行写入操作

    (多了一个奇偶校验信息写入)

    RAID 5<

    RAID 1

    RAID 5>

    RAID 1

    RAID 5<

    RAID 1

    是一种存储性能、

    数据安全和存储成本

    兼顾的存储解决方案

    RAID 10

    读:RAID 10=RAID 0

    写:RAID 10=RAID 1

    RAID 10=
    RAID 1

    RAID 10=

    RAID 1(50%)

    RAID 10=

    RAID 1

    集合了RAID 0、RAID

    1的优点,但是空间上

    由于使用镜像,而不

    是类似RAID 5的“奇

    偶校验信息”,磁盘

    利用率一样是50%

    硬盘block和inode概念

    通常而言,操作系统对文件数据的存放包括两部分,一个是文件内容,一个是权限及文件属性,操作系统文件存放是基于文件系统,文件系统会将文件的实际内容存储到block中,而将权限与属性等信息存放至inode中

    每个inode与block都有编号,而每个文件都会占用一个inode,inode内则有文件数据放置的block号码

    操作系统进行格式化分区时,会自动将硬盘分成两个区域,一个是数据block区,用于存放文件数据,另一个是inode table区,用于存放inode包含的信息

    每个inode节点的大小,可以在格式化的时候指定,默认为128B或256B,/boot分区inode默认为128B,其他分区默认为256B

    硬链接介绍

    一般情况下,文件名和inode编号是一一对应的关系,每个inode号码对应一个文件名,但是UNIX/linux系统多个文件名也可以指向同一个inode号码,这意味着可以用不同的文件名访问同样的内容,对文件内容进行修改,会影响到所有文件名,但是删除一个文件名,不会影响另一个文件名的访问,这种情况被称之为硬链接(hard link)

    创建硬链接

     软链接介绍

    除了硬链接以外,还有一种链接--------软链接,文件1.txt和2.txt的inode号码虽然不同,但是文件2.txt的内容是文件1.txt的路径,读取2.txt时,系统会自动将访问者导向1.txt文件

    无论打开哪个文件最终读取的都是1.txt,这种情况叫做软链接

    软链接和硬链接最大的不同是2.txt指向1.txt,而不是1.txt和2.txt的inode相同,因此两个文件的inode不会发生变化

    创建软链接:

    linux下磁盘实战操作命令

     企业真实场景由于硬盘常年大量读写,经常会出现坏盘,需要更换硬盘,或者由于硬盘空间不足,需要添加磁盘,新的磁盘需要格式化,分区才能被linux系统所使用

     fdisk分区命令参数如下,常用参数包括m、n、p、e、d、w

    m:打印帮助菜单
    n:添加一个新分区
    p:打印分区表信息
    q:退出不保存更改
    d:删除一个分区
    l:列出已知的分区类型
    w:将分区表写入磁盘并保存

    第一步,虚拟机加入一块硬盘,然后重新扫描SCSI总线来添加设备

    [root@node /]# echo "- - -" > /sys/class/scsi_host/host0/scan
    [root@node /]# echo "- - -" > /sys/class/scsi_host/host1/scan
    [root@node /]# echo "- - -" > /sys/class/scsi_host/host2/scan

    第二部,查看新盘是否识别

     第三步,fdisk来分区

     查看创建好的分区

     第四步,格式化分区

     第五步,创建目录,挂载到目录

     第六步,添加到fstab中,目的是开启自动挂载

    df命令

    df常用于磁盘分区查询,常用命令为df -h

    常用选项

    -a:列出所有的文件系统的使用情况,包括虚拟文件系统
    -h:以人们可读的形式显示出来
    -i:查看inode总个数和已用个数

    文件系统管理

    将额外文件系统与根文件系统某个现有目录建立起联系,进而使得此目录作为其他文件访问的入口的行为称之为挂载

    接触此关联关系的过程称之为卸载:

    把设备关联挂载点:

      mount 

    卸载时:可以使用设备,也可以使用挂在点

      umount

    注意:挂在点下原有文件将会被隐藏

    挂在方法:

      mount DEVICE 

    常用选项:

    -t:vsftype:指定要挂在的设备上的文件系统类型
    -r:readonly:只读挂载
    -w:read and write:读写挂在
    -a:自动挂在所有支持自动挂在的设备(定义再/etc/fstab文件中,且挂载选项中有“自动挂载”功能)

    查看内核追踪到的已挂载的所有设备:cat /proc/mounts

    文件系统的扩容

    案例:我们想把/home文件系统进行扩容

    第一步,添加硬盘

     第二步,扫描磁盘驱动设备

    [root@node /]# echo "- - -" > /sys/class/scsi_host/host0/scan
    [root@node /]# echo "- - -" > /sys/class/scsi_host/host1/scan
    [root@node /]# echo "- - -" > /sys/class/scsi_host/host2/scan

    第三步,创建分区

    第四步。创建pv

    [root@localhost ~]# pvcreate /dev/sdb1 
      Physical volume "/dev/sdb1" successfully created.

    第五步,确定卷组名称

    第六步,把新创建出来的pv加入到卷组

    [root@localhost ~]# vgextend centos /dev/sdb1 
      Volume group "centos" successfully extended

    第七步,扩容/home文件系统

    [root@localhost ~]# lvextend -L 100G /dev/mapper/centos-home 
      Size of logical volume centos/home changed from 66.99 GiB (17150 extents) to 100.00 GiB (25600 extents).
      Logical volume centos/home successfully resized.

    第八步,使刚才的操作生效

    [root@localhost ~]# xfs_growfs /dev/mapper/centos-home 
    meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=4390400 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0 spinodes=0
    data     =                       bsize=4096   blocks=17561600, imaxpct=25
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal               bsize=4096   blocks=8575, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0
    data blocks changed from 17561600 to 26214400

    第九步,查看/home文件系统是否已经被更改

    lv快照

    lv快照可以克隆一个内容一模一样的lv,速度很快,就跟我们使用虚拟机快照一样,这里要注意的是,只能是ext系列才可以使用快照snap

    lvcreate -L 5g -p r -s -n snapshot_lv_name original_lv_name

      备注:
      -L: --size
      -s: --snap
      -p: --permission rw|r
      -n: --name

    文件系统检测

    fsck命令:
        fsck:File System Check
            fsck.FS_TYPE
            fsck -t FS_TYPE
                   -a:自动修复错误
                   -r:交互式修复错误
    
      Note:FS_TYPE一定要与分区上已经存在的文件系统类型对应    
    
    
    e2fsck:ext系列文件系统专用检测修复工具
        -y:自动回答为yes;
        -f:强制修复(没问题也修复)
  • 相关阅读:
    对应于 算法原型 中的“纸条”
    Hive 实际上对于所存储的文件的完整性以及数据内容是否和表结构一致无支配力
    kettle
    regularexpression_action
    Consumer Group Example
    Neural Task Programming: Learning to Generalize Across Hierarchical Tasks
    dm层 集市层 四层 Build a multi-level data strategy
    图片服务器 sns 加爬虫 免上云
    不等式放缩 维时间戳是数据仓库无时间维度的事实表的灾难 度表 事实表
    MaLoc: a practical magnetic fingerprinting approach to indoor localization using smartphones
  • 原文地址:https://www.cnblogs.com/fengzi7314/p/11829167.html
Copyright © 2011-2022 走看看