美文网首页Linux
linux磁盘及文件系统管理

linux磁盘及文件系统管理

作者: 小小的小 | 来源:发表于2021-05-26 21:00 被阅读0次

    创建设备文件

       

    固态、机械盘识别

          RM:1 表示机械式的  0表示固态盘

          lsblk  -d  -o  name,rota

     

    虚拟机vmware识别被添加的硬盘 ;centos7、8已验证ok

        单独执行

                    echo  '- - -' >/sys/class/scsi_host/host0/scan

        脚本执行

          for i in  `ls /sys/class/scsi_host/`

          do

          echo "- - -" > /sys/class/scsi_host/$i/scan

          done

          echo  "ok "

          lsblk 

    硬盘可以被使用步骤

    分区

          分区方式  分区策略一样的可以用其他主机的分区表拷贝过来还原 

                  MBR  Master Boot Record 主引导分区  这种分区方式最多支持硬盘空间为2T

            0磁道0扇区  大小512bytes ,其中 446bytes为boot loader ,64bytes是分区表,其中每16bytes标识一个分区,2bytes的结束标志

                  备份mbr分区表

                              dd  if=/dev/sda of=mbr.img  bs=1 count=64 skip=446

                              查看  hexdump  -C  mbr.img

                  恢复mbr分区表

                              dd  if=/mbr.img  of=/dev/sda bs=1 seek=446

                  GPT  最大支持128个分区,而且都是主分区

                            具备备份功能,支持

    查看分区表

              parted /dev/sdb  print 

              #parted在创建,删除分区操作时,实时生效,操作时要慎重!!!!

    MBR分区管理

          lsblk

          fdisk  /dev/sdb

          partprobe 同步磁盘分区表到内存

    GPT分区管理

        fdisk 更合适mbr

        gdisk 

    UUID,只要分区不变,UUID的值不变

    创建文件系统

        mkfs.ext4    /dev/sdb1  等同于 mkfs -t ext /dev/sdb1

            -L “/mnt/sdb2” 卷标名,同挂载点名

            -b  {1024|2048|4096} 指定块大小,指给文件分配的最小空间

            -m  #  为管理人员预留空间占总空间的百分比,默认5%,#可以是整数,也可以是小数,是占整个文件系统的百分比

        给手动创建后的文件系统加acl功能  tune2fs -o acl  /dev/sdb1,重新挂载后才能生效

        查看已创建的文件系统 blkid [option]  [/dev/sdb1]

                      -U  uid值

                      -L  卷标名

                查看ext系列文件系统块大小 

                              先查文件系统类型  lsblk -f

                              在根据类型查块大小  tune2fs  -l /dev/sdb1

                             

                查看xfs系列文件系统块大小 

                        lsblk  -f

                        xfs _info  /dev/sda1

                       

             

      挂载

                1、按照设备名挂载 mount /dev/sdb1 /mnt

                2、uuid挂载  mount  -U  725a7349-602f-44d3-8367-12d879fd4541 /mnt 

                3、按照Label挂载

                mount  -r 只读方式挂载

                mount  -t  iso9660 指定文件系统挂载

                重新挂载

                mount  -o  remount,rw  /mnt 

       

    umount选项  noatime访问改种配置下的文件,文件访问时间不做修改,

       

    持久保存挂载信息 /etc/fstab,写入后执行mount -a 才可以生效

        一共是6列

    NAME

      MOUNTPOINT

      FSTYPE

      文件系统属性,mount -o的参数

    ro,rw,noatime,defaults表示rw

      1表示每天备份1次,0不备份

    开始是否进行安全检查

    1表示检查

    0表示不检查

    uuid,设备名

    UUID=de60c076-8413-466f-8fb0-33fffd4909a1

        /boot

    xfs

    defaults

                  0

            0

    /dev/sdb1

          mnt

    xfs

    defaults

        fstab故障修复                                             

                               

               

     

    ##文件当作分区使用

        1、 dd if=/dev/zero  of=mp4.img  bs=1M  count=1024

                  2、mkfs.xfs mp4.img

                  3、mkdir mp4.img /mnt

                  4、查看  losetup -a 

                       

    文件系统修复:

                            注意:一定不要在挂载状态下执行修复命令!!一定要与分区上的文件系统类型(FS_TYPE)相同

                          fsck  File System Check

                          fsck.FS_TYPE   

                          fsck  -t  FS_TYPE

                          FS_TYPE:ext4,xfs....

                          常用选项

                              -a  自动修复

                              -r  交互式修复

         

                        ex4系列的专用修复命令 e2fsck /dev/sdb1 

                       

                        xfs专用修复命令  xfs_repair

                         

    总结

        ip addr add 10.0.0.1/24 dev ens160 给网卡ens160配置ip

      查看内存中的分区表

              lsblk; cat /proc/partitions

                查看硬盘分区表信息,这个是真实的分区表信息

                        fdisk -l

                同步硬盘分区信息到内存

                      partprobe

            查看文件系统类型  lsblk  -f 或df    -T(df查看是已经挂载的) #df看的是块设备,可以在文件夹下挂载文件夹  mount -B /etc/  /mnt

               

    XFS 文件系统 一个文件或分区可以达到8EB  centos7及以上系统默认文件系统时xfs

    ext4单个文件最大可以达到16TB,文件系统最大1EB

    Swap文件系统  #划分一个硬盘空间给当作内存使用,

               

          buff/cache  缓存到这里的数据是为了提高效率

          buff  缓冲区  把内存的数据写到磁盘,写缓存 

          cache  缓存  把磁盘数据读到内存      读缓存

    swap建议大小

    使用策略 , /proc/sys/vm/swappiness

    如图:当内存剩余空间30%时,使用swap

    扩充swap空间

      1、检查硬盘有无空间

      2、创建分区,查看文件系统类型,更改swap,打印,然后保存,退出

      3、mkswap  /dev/sdb6格式化为swap类型的文件系统

      4、添加到fstab

      5、挂载 swapon -a

      6、查看swap分区是由哪些设备提供的空间  swapon -s

    1、检查硬盘是否有空间  可以看到sdb和sdc都有空间

    lsblk

      2、创建分区,查看文件系统类型,更改swap,打印,然后保存,退出

      3、partprobe同步到磁盘空间;mkswap  /dev/sdb6格式化为swap类型的文件系统

       

      4、添加到fstab

      5、挂载 swapon -a

      6、查看swap分区是由哪些设备提供的空间  swapon -s

    停用某设备作为swap

        swapoff  /dev/sdb5

    把文件当作swap使用

         

        if=/dev/zero  of=/swapfile  bs=1M count=100

        chmod 600  /swapfile

        vim /etc/fstab

        swapon -a

    检查swapon -s

    光盘的操作

      eject 弹出光盘

      eject -t  弹入光盘

    制作iso文件

          cp /dev/sr0  /data/centos8.iso

     

    把某个目录打包成iso格式文件

      mkisofs  -r  -o  /root/etc.iso  /etc  命令来自genisoimage包

    刻录光盘

      wodim -v ejet centos.iso

    USB设备

         

          查看usb设备是否识别    lsusb 

          手动挂载  正常挂载就行

    磁盘管理相关命令

    du  文件数据实际使用空间

    df  数据和文件系统自身元数据占用空间,不同文件系统元数据所占用空间不同

    dd 

    df -h和df -H结果为什么差这么多,-H是以二进制计算1M=1024k    -h,是十进制计算,1M=1000k

    df  -P  不换行显示

    du  -sh  /* 根下每个文件大小

    dd 

       

       

    #fdatasysnc,直接写入到磁盘,速度比不加此参数慢

    销毁数据盘 

                  dd  if=/dev/unrandom  of=/dev/sdb1

                  或

                  dd  if=/dev/zero  of=/dev/sdb1

    因为分区不能扩展,且分区必须在一块硬盘的连续空间内,如果分区所在硬盘坏了,那么数据就没了,基于以上种种,急需采用新的技术来解决这种问题,解决方案有RAID、LVM实现分区扩展

    RAID 独立盘冗余阵列

        可以实现功能

                提高IO能力,磁盘并行读写

                提高耐用性,磁盘冗余算法来实现

        RAID实现方式

         

        RAID级别

       

    主流raid  0,1,5,6  raid 1 0

    冗余能力

    读性能

    写性能

    最少盘数

    利用率

    raid 0

    没有

    2+

    100%

    raid 1

    提升

    下降

    2N块盘,最少两块,

    50%

    raid 4

    3,3+

    (N-1)/N

    技术不用了,因为校验位单独放置在一块盘,实际使用种校验盘容易坏

    raid 5

    有 最多允许一块盘损坏

    提升

    提升

    3,3+

    (N-1)/N

    校验位放置在不同的盘中

    raid  6

    有,最多允许两块盘故障

    提升

    提升

    4,4+

    (N-2)/N

    校验位放置在不同的盘中

    raid 0 1

    提升

    提升

    4  4+

    50%

    先raid 0 ,再raid 1

    基本不用了

    raid  1 0

    每组镜像只能坏一块

    提升

    提升

    4  4+

    50%

    先raid 1    再raid 0

    raid 1 0 的容错性比raid 01强,生产一般用raid 10

    raid 5 0

    先raid 5 再raid 0

    LVM  主要作用是啥  空间的自如扩容

        Logical volume  Mnager

      VG

      LV

      PE  physical Extent 

    VG=N个LV,LV里包含多个PE

    VG 卷组是物理硬盘空间的组合

    LV之上创建文件系统

    创建逻辑卷并实现挂载

    1、创建物理卷 

        pvcreate /dev/sdb /dev/sdc1或一个一个创建 pvcreate  /dev/sdb  & pvcreate /dev/sdc1

    2、将物理卷加到卷组  vgcreate vg_name  /dev/sdb  /dev/sdc1 

    3、创建逻辑卷

        lvcreate  -n lv_name  [  -l  PE个数 | -L 600M ]  vg_name 

      按照pe个数分 ,每个PE默认大小是4M

                      lvcreate  -n lv_name  -l  40    vg_name 

      按照大小分

                    lvcreate -n  lv_name  -L  600M  vg_name

    4、创建文件系统,并挂载

        mkfs.ext4

        mkfs.xfs 

     

        mount

     

    5.写入  fstab 实现永久挂载

        vim fstab

        :r!blkid /dev/../lv_name

    LVM实验

    扩容lv

      PE全部分配  lvextend -l  +100%free  /dev/mapper/lv_data

      创建文件系统,针对ext4    resize2fs  /dev/vg_name/lv_name

      可以用如下一条命令实现上面两条命令的效果

          lvextend -r  -L  1G /dev/vg_mysql/lv_name 

     

     

    扩容卷组

                pvcreate /dev/sdc

                vgextend  vg_name    /dev/sdc

    物理盘上建raid,然后在raid上建lvm

    df命令能看到真实空间的大小

    xfs不支持lvm缩减

    缩减有数据损坏的风险,建议先备份再缩减

    跨主机迁移卷组,如下图  了解即可 

     

    逻辑卷(LVM)快照技术

    特点

          备份速度快,瞬间完成

          应用场景是测试环境,不能完成代替备份

          快照后,逻辑卷的修改速度会有一定的影响

    快照原理

              是特殊的逻辑卷,只有当数据发生更改时,会把更改前的数据存放至快照区,存放的只是最初的那一版,中间改一百次,也是存第一次改动的那个数据

       

    怎么查看逻辑卷中快照大小

    创建快照

       

    挂载快照卷 ,ext文件系统不用使用-o nouuid ,如下是xfs文件系统的配置

     

    恢复快照

    换掉故障的lvm使用的硬盘

    移除物理盘上的数据  物理盘/dev/sdb,确保卷组有剩余空间

    将/dev/sdb上的数据移除到其他磁盘

      pvmove /dev/sdb

    将物理盘/dev/sdb移除卷组

        vgreduce vg_name  /dev/sdb

    将sdb移除物理卷

    pvremove /dev/sdb

    拔掉硬盘

    添加新硬盘

    加入pv,加入卷组

    相关文章

      网友评论

        本文标题:linux磁盘及文件系统管理

        本文链接:https://www.haomeiwen.com/subject/fqdlsltx.html