linux基础之磁盘管理

                       linux基础之磁盘管理
     学习linux,数据维护和管理是重中之重,而数据大部分存放在硬盘当中,因此,熟练掌握磁盘的使用和管理是运维人员的基础要求。那么,linux系统包括哪些知识点呢?
     下面,我们就详细阐述下Linux中磁盘的分区、格式化,以及一些磁盘的高级用法:磁盘配额、RAID阵列和LVM

一、硬盘
     随着技术的进步,人类社会的不断发展。硬盘也经历了几代的更新,有最初的几个G,经过十几年的发展,到现在的单块硬盘达到8个T,技术的进步不可同日而语。
     硬盘的参数
    结构:磁盘盘片、磁头、马达(机械硬盘)
    类型:固态硬盘(SSD)和机械硬盘
    接口:早期的IDE接口,现在的SATA、SCSI、SAS
    硬盘的性能指标
    容量:500GB、1TB、2T ... 8T
    转速:7200rpm/s  10000rpm/s  15000rpm/s
    传输速率:MB/s
    缓存:硬盘的缓存大小也一定程度上影响磁盘的读写性能

二、磁盘的分区、格式化
    磁盘分区引导类型
    MBR:早期的分区标准,诞生于1982年,支持分区最大2T,支持主分区最多4个。通常存储在硬盘0磁道0扇区512bytes大小的空间。
    GPT:最新的分区标准,支持最多128个主分区,支持最大8Z的硬盘大小
    磁盘的分区工具
    fdisk:  支持MBR分区标准
    gdisk:  支持GPT分区标准
    parted:两种分区标准均可支持,通过命令行直接分区,需谨慎使用
    ①、fdisk:
    用法:fdisk /dev/device
    交互指令:
    n   创建新的分区
    d   删除分区
    p   显示当前分区表
    o   定义分区标准为msdos
    t   更改分区类型
    l   列出所有支持的分区类型
    q   不保存退出
    w   保存退出
    通过命令行直接创建第一块分区
    echo -e "n\n p\n1\n \n +2G\n w\n" | fdisk /dev/sdx
    ②、gdisk:
    用法:gdisk /dev/device
    交互指令:
    o   定义分区表类型为GPT分区
    n   创建新分区
    d   删除分区
    p   打印分区表
    l   列出系统支持的所有分区类型
    t   更改分区类型
    q   退出不保存
    w   保存退出
     ③、parted:
     用法:
    parted /dev/device  交互式创建分区
    parted [options] /dev/device [cmd] options...   直接通过命令行创建分区
    示例:
    parted  /dev/sdb mklabel msdos  定义分区引导类型为MBR
    parted /dev/sdb mkpart primary 1 1G     创建一块1G大小的分区,1 和 1G 分别代表起始点
    parted /dev/sdb print           打印分区

格式化工具
    mkfs.[type] 通用格式化工具 
    mke2fs      ext系列格式化工具
    mkswap  格式化交换分区
     Linux下常见文件系统
    ext2  ext3  ext4  xfs  btrfs  swap   iso9660  nfs  ......
     ①、mkfs
    -t  指定文件系统类型,mkfs -t  type  等价于  mkfs.type
    -L  指定卷标
        mkfs.xfs /dev/sdb1  将分区格式化成xfs分区
     ②、mke2fs   
     用法:mke2fs  [options] /dev/device
     options:
    -t  指定文件系统类型 ext2/ext3/ext4
    -b  指定块大小 1024/2048/4096
    -L  指定卷标  -L 'LABEL'
    -m  管理员预留空间  -m  5 :预留5%
    -O  启用或关闭功能模块 如:-O ^has_journal 关闭日志功能
    -N  创建多少个inode号
    -i  指定多少个直接对应一个inode号
      示例:mke2fs  -t ext4 -b 2048 -L 'FIRST' -m 5 -O ^has_journal -i 2048 /dev/sdb1
       tune2fs  -l  /dev/sdb1       查看文件系统是否创建成功

三、磁盘配额
      磁盘配额作用对象是目录,并且该目录必须挂载到一个单独的分区。其主要作用是限制用户创建文件大小及文件数量。
      创建流程:
    ①、对目录重新挂载,使其启用配额功能模块
          方法1:mount -o remount,usrquota,grpquota /home    ##前提:/home必须单独挂载到一个分区
          方法2:修改/etc/fstab,功能选项定义为defaults,usrquota,grpquota,然后使用remount重新挂载
    ②、关闭selinux
          setenforce 0  不关闭selinux,以下创建过程会报错
    ③、初始化数据库
          quotacheck        ##执行该命令,可以在/home目录下创建quota.user及quota.group两个数据库
    ④、开启配额功能
          quotaon /home
    ⑤、编辑配额
          edquota username  调整文件限制大小及数量
    ⑥、测试
          su - username 切换到该用户进行配额测试

四、RAID磁盘阵列
      RAID磁盘阵列,诞生于1988年加利福尼亚伯克利分校,其主要作用是能够将多块硬盘合并到一起管理,并且能够提高磁盘的读写性能及冗余能力
      RAID常见分类
    RAID 0 ; RAID 1 ; RAID10 ; RAID5 ; RAID6
      RAID0特征:
    冗余能力:无
    最少磁盘数:2
    读写性能:提升
    磁盘利用率:100%
      RAID 1特征:
    冗余能力;有
    最少磁盘数:2
    读写性能:读提升、写下降
    磁盘利用率:50%
     RAID10 特征:
    冗余能力:有
    最少磁盘数:4
    读写性能:提升
    磁盘利用率:50%
     RAID 5 特征:
    冗余能力:有
    最少磁盘数:3
    读写性能:提升
    磁盘利用率:(n-1)/n%
    RAID 6特征:类似raid5,有两块校验盘
    冗余能力:有  
    最少磁盘数:4
    读写性能:提升
    磁盘利用率:(n-2)/n%  
四、逻辑卷管理器(LVM)
      LVM主要的作用是将多块硬盘,逻辑的组合成一块硬盘,称为卷组(vg),然后用户可以在卷组的基础上创建一定空间大小的逻辑卷(lv),相比使用单独使用硬盘分区的好处是,逻辑卷和卷组都可以根据用户的需求,随意调整大小,而不会对数据造成损坏。LVM还有一个优点就是,可以对用户数据创建快照,实现简单高效的备份用户数据。但相比RAID阵列磁盘,LVM没有冗余功能,也不能提高磁盘的读写性能。因此,建议LVM和RAID阵列磁盘配合使用。
     创建逻辑卷流程    ##sdb sdc是两块新增的硬盘
    ①、创建物理卷pv   (physical volume)
          pvcreate /dev/sd{b,c} ##可使用pvdisplay查看是否创建成功
    ②、创建卷组vg      (volume group)    
          vgcreate -s 16M vg_test /dev/sd{b,c}   ##创建卷组,并将pv加入卷组,-s 指定PE大小
          ##PE:创建lv的基本单元,pe数值不应太小,否则,磁盘上可能产生碎片,影响磁盘性能。
    ③、创建逻辑卷lv      (logical volume)
          lvcreate -L 2G -n lv_test vg_test ##创建一块2G大小的逻辑卷
        ④、创建文件系统
          mkfs.xfs /dev/vg_test/lv_test     ##创建xfs文件系统
    ⑤、挂载
          mount /dev/vg_test/lv_test /mnt/lv_test
     扩展逻辑卷
    lvextend -r -L +3G lv_test      ##将空间和文件系统一起扩展
     缩减逻辑卷
    ①、取消挂载
          umount /mnt/lv_test
    ②、检查文件系统
         e2fsck -f /dev/vg_test/lv_test
    ③、缩减文件系统
         resize2fs|xfs_grows lv_test 5G     ##resize2fs针对ext系列文件系统缩减,xfs_grows针对xfs文件系统缩减
    ④、缩减空间
         lvreduce -L 5G /dev/vg_test/lvtest ##注意,文件系统和空间缩减大小必须一致
     移除磁盘/dev/sdb流程
    ①、将/dev/sdb数据转移
          pvmove /dev/sdb
    ②、数据转移完成后,将/dev/sdb从磁盘移除
          vgreduce /dev/sdb
    ③、删除pv
          pvremove /dev/sdb
     创建快照
    lvcreate snap_test -L 1G -s -p r /dev/vg_test/lv_test
    -L  指定快照大小
    -s  指定该逻辑卷为快照
    -p r    配置该快照为只读

原创文章,作者:Abigheart,如若转载,请注明出处:http://www.178linux.com/71329

(0)
上一篇 2017-03-18 22:16
下一篇 2017-03-19 10:23

相关推荐

  • Linux 作业

    1.       描述计算机的组成及其功能。 答:CPU、I/O、存储器; CPU:由运算器和控制器组成;运算器主要功能是对数据进行各种运算,除了进行常规计算外还能进行逻辑运算以及数据的比较、移位等操作。控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步…

    Linux干货 2016-10-29
  • 变量

    变量     在shell脚本中,单独的字符或者命令只能引用一次,对于变量,我们可以多次引用,且对变量的赋值修改方便。对于一条很长的命令或者频繁使用的路径等,我们可以赋值给一个变量,比如获得系统中所有用户的uid,要输入很长的一段命令,我们如果每次使用都输入命令是件很麻烦的事情,如果赋值变量,那么就会很方便。设置变量userui…

    Linux干货 2017-08-06
  • N24_辉 学习宣言

    我志愿加入马帮的大家庭。 在此,我坚信有志者事竟成,同时,机会总是留给有准备的人的。 既来之,则安之。我的目标是能在规定的时间内结业,正如马哥所说:完成比完美更重要! 无论如何,也要完成!fighting!!!

    Linux干货 2016-10-24
  • 运维学习笔记-Puppet之Hiera初探

    为什么使用Hiera? Puppet中的manifest同时包含静态的代码(判断/循环逻辑,依赖关系,类定义,资源类型定义等等)和动态的数据(类声明时的参数值和资源声明时的属性值)。说代码是静态的是因为如果在设计阶段考虑比较全面,代码写成之后是很少变化的。但是数据要根据具体情况赋予不同的值。如果manifest设计的不是很灵活,比如某些数据被固化(hardc…

    Linux干货 2016-07-07
  • N26-第二周博客作业

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 一) 目录管理命令 1. cd :用于切换目录。命令格式为:cd dirname 命令使用技巧: ~]# cd 进入用户主目录 ~]# cd – 进入上一次所在目录 ~]# cd / 进入根目录 ~]# cd ~ 进入用户主目录 ~]# cd .. 返回上一级…

    2017-03-01
  • 自制linux和内核编译

    自制linux和内核编译 1、分区并创建文件系统 fdisk /dev/sdb分两个必要的分区/dev/sdb1对应/boot /dev/sdb2对应根/mkfs.ext4 /dev/sdb1mkfs.ext4 /dev/sdb2 2、挂载boot mkdir/mnt/bootmount /dev/sdb1 /mnt/boot 3、安装grub grub-i…

    Linux干货 2016-09-23