运维必备技能之磁盘管理

磁盘分区的三个工具

1、fdisk交互式工具

        fdisk /dev/sdb进入交互界面

        交互式界面的几个常用命令

        p:显示现有分区情况

        w:保存分区并退出

        q:不保存分区退出

        n:新建分区

            e:(extend)扩展分区,新建扩展分区

            p:(primary)主分区,每一块磁盘最多只能分四个分区(这个是主要是磁盘引导类型MBR的原因,如果磁盘的类型为GPT类型就可以分更多的主分区)

        t:修改分区的ID号

            L可以查看所有的ID信息

        l:查看磁盘支持的ID信息

2、gdisk的使用方法与fdisk的使用方法相同,但是gdisk主要运用在GPT上

3、parted分区

    parted /dev/sdb mklable {gpt|fsdos|mac|loop…} 更换磁盘的类型为gpt,fsdos,mac….

    parted mkpart part-type [fs-type] start end 创建分区

        parted mkpart primary ext4 1 100       创建一个分区

分区已经创建完成,下一步需要进行格式化了

    格式分工具mkfs,可以加上要格式化的文件系统,如mkfs.xfs,mkfs.btrfs……

    mke2fs专用ext系列文件系统格式化

        -b:磁盘块大小{1024|2048|4096}

        -j(journal):启用日志功能

        -O:启用的文件系统特性

        -t:指定文件系统类型

        -I:指定文件系统中的inode的大小

文件系统已经格式化进行下一步挂载

    挂载:mount

    卸载:umonnt

    mount:

        -a:挂载所有的在/etc/fstab文件已有的挂载标识

        -n:挂载过程中不检查/etc/mtab文件

        -r:只读挂载

        -w:读写挂载

        -L:按卷标挂载

        -U:按UUID挂载

        -t:指定设备文件系统类型,不指定会自动识别

        -o:设置选项

            remount:重新挂载文件系统

            ro:只读挂载

            rw:读写

            noatime:不更新access time

            defaultes:默认挂载,含有:rw, suid, dev, exec, auto, nouser, and async.

            exec:是挂载的文件系统中是否可以执行可执行文件

查看文件系统的查关相信

    tune2fs:可以查看卷标,挂载点,UUID,文件系统特性,挂载选项,Inode数量与大小,block大小与数量等信息

        -j:开启文件系统中的日志功能,文件系统将变为ext3

        -L:修改文件系统的卷标

        -m:修改保留块的数量,百分比值,默认为百分之五

        -o:修改文件系统的挂载选项,^acl为取消acl,如果相加上某一个选项直接去掉前面的^即可

        -O:修改文件系统的特性,用法同-o

        

文件系统的修复:

    e2fsck:检查与修复Linux文件系统

        -f:强制测试

        -y:所有需要回答的问题全部回答yes

磁盘管理之RAID

做一个软RAID10示例

1、新建五个磁盘(所有磁盘存储大小必须相同)并将分区标记编号修改为fd

    echo -e ‘n\np\n1\n\n+5G\nt\nfd\nw\n’ | fdisk /dev/sdc        

    echo -e ‘n\np\n1\n\n+5G\nt\nfd\nw\n’ | fdisk /dev/sdd

    echo -e ‘n\np\n1\n\n+5G\nt\nfd\nw\n’ | fdisk /dev/sde

    echo -e ‘n\np\n1\n\n+5G\nt\nfd\nw\n’ | fdisk /dev/sdf

    echo -e ‘n\np\n1\n\n+5G\nt\nfd\nw\n’ | fdisk /dev/sdg

2、新建RAID

    mdadm -C /dev/md0 -a yes -l 10 -n 4 -x 1 /dev/sd{c1,d1,e1,f1,g1}

    RAID阵列构建结束

3、格式化/dev/md0

    mke2fs -j /dev/md0

4、挂载/dev/md0到/mydata挂载点上

    mount /dev/md0 /mydata

构建完成,下面进行测试

在/mydata目录下存放点文件

1、损坏一块硬盘是个什么情况

    mdadm /dev/md0 -f /dev/sdf1    //损坏磁盘

    mdadm -D /dev/md0              //查看磁盘详细性况

    测试结果为,spare备用分区这为active,而损坏的磁盘变为failure,state运行状态为正常clean,resyncing

    数据完整

2、再损坏一块磁盘

     mdadm /dev/md0 -f /dev/sdc1

    测试结果为,failure盘又加了一块,state运行状态非正常clean, degraded,降级运行

    数据完整,未损坏

3、再损坏一块磁盘

    mdadm /dev/md0 -f /dev/sdd1

    报错了,这就尴尬了,这是什么原因呢?这是因为如果sdd1损坏的话整个阵列就不能用了,所以报警了,那换一块试试

     mdadm /dev/md0 -f /dev/sdg1

    测试结果为,failure盘又加了一块,state运行状态非正常clean, degraded,降级运行

    数据完整,未损坏

以上为磁盘损坏测试,完成

现在我想加两块磁盘到阵列中

    mdadm -G /dev/md0 -n 6 -a /dev/sd{h1,}

现在我想将那些坏的磁盘清理了呢

    mkadm /dev/md0 -r /dev/sd{f1,c1,g1}

我把那些坏的磁盘修好了,可以再用了,怎么加入呢

     mkadm /dev/md0 -a /dev/sd{f1,c1,g1}


磁盘管理之LVM

创建一个VLM示例

1、找两个分区大小不限做PV

    pvcreate /dev/sd{b1,c1}

    提示找不到说明刚才的RAID没有清干静,那就暴力点清,只要是md0相关的文件都删掉,然后重启,这么搞几个来回也可有希望清干静

2、将PV创建为VG

    vgcreate testvg -s 16m /dev/sdb1 /dev/sdc1

    -s:指定PE大小

3、在VG上创建LV

    lvcreate -n testlv -L 3G testvg

    -L是指定大小,而-l是指定多少个PE

4、格式化LV,挂载LV略过

测试LVM的在线增加与离线缩减不损坏数据的特性

在挂载目录上存放一些文件

在线增加数据

    lvextend -L 7G -r /dev/testvg/testlv 

    查看已经将空间大小扩展为7G

    数据完整,无损坏

离线缩减

    1、卸载已经挂载的testlv

    2、fsck -f /dev/testvg/testlv检查校验testlv

    3、resize2fs 3G /dev/testvg/testlv 

    4、lvreduce -L 3G /dev/testvg/testlv 

    查看已经将空间缩减至3G大小

    数据完整,无损坏

LVM的快照技术

    lvcreate -n snap_testlv -L 1G -s -p r /dev/testvg/testlv

    将testlv的数据删除进行测试snap_testlv中是否是原来的testlv中的数据

     

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

(0)
gaomeigaomei
上一篇 2017-03-13 23:54
下一篇 2017-03-14 17:06

相关推荐

  • shell编程之循环及函数

    for 循环 for 变量名 in 列表;do    循环体 done   执行机制: 依次将列表中的元素赋值给“变量名”; 每次赋值后即执行一次循环体; 直到列表中 的元素耗尽,循环结束   列表生成方式: (1)直接给出列表 (2)整数列表: (a) {start..end} (b) $(seq [start [s…

    Linux干货 2016-08-24
  • N26 第一周作业

    1、计算机的组成及其功能     依据冯诺依曼架构,计算机由以下组件组成     图片来源:Wikipedia Von Neumann Architecture 中央处理单元(Central Processing Unit) 控制单元(Control Unit, CU) 负责控制处理器中的数据流,并…

    Linux干货 2017-01-14
  • HAProxy 入门及基础负载应用

    A、首介 。。。         HAProxy——开放源代码软件,是一款代理服务器和伪4层的负载均衡软件解决方案。基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持高并发链接,它的工作模式可以将其简单而安全地整合到当前的服务架构中,同时可以保护你的WEB服务器不暴露到…

    Linux干货 2017-05-17
  • Linux发行版本介绍与哲学思想

    1.Linux发行版本介绍 Linux 发行版(英语:Linux distribution,也被叫做GNU/Linux 发行版),为一般用户预先集成好的Linux操作系统及各种应用软件。一般用户不需要重新编译,在直接安装之后,只需要小幅度更改设置就可以使用,通常以软件包管理系统来进行应用软件的管理。 1.服务器版本:Centos/Debian 从Red Ha…

    Linux干货 2016-10-28
  • 高级文件系统管理之mdadm与lvm的创建

    ※配置配额系统 磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间,比如一些网盘就是基于这个功能来做的,分配给用户固定的空间,花钱买,可以将空间设置的更大。 功能作用 磁盘配额可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户的过度的使用磁盘空间造成其它用户无法运行或工作甚至影响系统运行。这个功能不止…

    Linux干货 2016-08-27
  • N25第二周作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     其常用的有: touch、stat、rm、cp、mv、install touch 命令    命令格式: touch [OPTION]… File… 命令参数: -a&n…

    Linux干货 2016-12-12

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-20 09:22

    很好,理论与实践相结合了,能看出很用心