• Linux学习5—磁盘管理


    一.基本分区

    1.1磁盘简介

    • 从工作原理来分

    机械硬盘
    固态硬盘

    • 命名
      Kernel对不同接口硬盘命名方式

    RHEL7/centos7

    • /dev/sda——设备文件目录(sda是一个文件)
      s——代表sata接口
      d——代表磁盘
      a——代表第一块
    • /dev/sdb——磁盘第二块(后面的块数以此类推)
    • 磁盘分区方式

    MBR(主引导记录):MBR支持最大磁盘容量是<2TB,设计时分配4个分区,如果希望超过4个分区,需放弃主分区,改为扩展分区和逻辑分区
    GPT(全局唯一标识分区表):GPT支持大于2T的硬盘,支持128个分区

    1.2 管理磁盘

    • 管理磁盘分区三步
    • 分区(MBR或GPT)
    • 格式化/文件系统(创造文件系统)
    • 挂载
    • 查看磁盘信息
    • /dev/文件目录下
    • 创建分区:
    • MBR将硬盘分区
    • 启动分区工具:fdisk——MBR gdisk——GPT
      在这里插入图片描述
    • 进入会话模式
      提示1:命令(输入m获取帮助)
          操作:敲击字母"n"键(划分分区)
          说明:欢迎界面,输入班组指令或操作指令
      提示2:
      在这里插入图片描述
          操作:敲击字母键"p"
          说明:请选择主分区,或者扩展分区
      提示3:
      在这里插入图片描述
          操作:敲击数字“1”
          说明:选择分区号
      提示4在这里插入图片描述
          操作:敲击回车键
          说明:选择磁盘开始的扇区(有效空间从2048开始是因为0-2048记录了分区表(分区信息))
      提示5
      在这里插入图片描述
          操作:+结束扇区号(这个不常用)/+ 该扇区大小(K/M/G)
          说明:选择磁盘分区结束的扇区,即分区大小
      提示6:命令(输入m获取帮助):
          说明:已经完成了大小分区记录,但未生效
      提示7:
      在这里插入图片描述
          操作
              输入w保存分区信息
              自动退出分区工具(可以重复上面操作给该硬盘划分多个分区,最后再按w)
    • 刷新分区表:partprobe 硬盘号
    • 查看分区结果:fdisk -l 硬盘号

    1.3 创建文件系统

    • 命令:mkfs.ext4 磁盘号

    mk:make——创造
    f:file——文件
    s:system——系统
    ext4:extend4——扩展文件系统第四代,是文件系统的类型
    磁盘号:磁盘文件名

    1.4 挂载

    • 手动挂载
    • 创建挂载点,一个分区一个挂载点(mkdir)
    • mount
    ######
    lsblk  #列出系统的块状设备(可以查看硬盘状况)
    fdisk [-l] /dev/nvmen02  #进入会话模式
    partprobe /dev/nvmn02 #刷新分区表
    mount -t ext4 硬盘文件 挂载的文件夹名
    mkfs -t  ext4 磁盘名 #格式化
    cp -rf 文件1 文件2  #拷贝,-r指强制递归(当文件1是一个目录时,会递归拷贝目录下的东西) -f:覆盖已经存在的文件不给出提示
    df  -hT #以容易理解的格式输出文件系统的大小,并显示系统文件类型
    dd if=/dev/zero  of=/mnt/disk4/1.txt  bs=1M count=1000#将zero文件内容抄写到1.txt中,bs抄写大小 count是抄写多少次 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    二.逻辑卷LVM

    2.1目的

    管理磁盘的一种方式,性质与基本磁盘无异

    2.2 特点

    随意扩张大小

    2.3 术语

    PV——物理卷
    VG——卷组
    LV——逻辑卷

    2.4 创建LVM

    • 准备物理磁盘
    • 创建物理卷
    • 创建卷组
    • 创建逻辑卷
    • 挂载文件系统 (下面的三个操作和创建物理分区的原理是一样的)
    • 创建挂载点
    • 挂载

    2.5卷组VG扩容

    • 创建PV
    • 加入到卷组

    2.6逻辑卷LV扩容 ——lvextend

    2.7 文件系统详解

    • 种类
      windows:FAT16 FAT32 NTFS
      LINUX:EXT3 EXT4 XFS
    • EXT3/4文件系统
      简介:
      类型:索引(index)文件系统
    • 系统限制:
        EXT3:文件系统最大16TB
        EXT4:文件系统最大16TB
        XFS:文件系统最大100TB
      注意:在EXT3和EXT4文件系统中,每4096字为一个存储单位m,称为block(每个文件会占用一个或多个块)
    • 名词:
      inode(决定了文件系统中文件的数量)
        记录文件的属性(文件的元数据metadata——大小,权限,属主等)
        一个文件占用一个inode,同时记录此文件数据所在的blocknumber
        inode的大小为128bytes
      block
        存储文件的实际数据
        实际存储文件的内容,若文件较大,会占用多个block
        block大小文默认的4K
      superblock
        block和inode的总量
        未使用和已使用的inode/block数量
    • 文件链接
      软链接
        软链接像快捷方式,可以对文件和目录做软链接
        软链接记录的只是源文件的绝对路径
        软链接失去源文件不可用
      在这里插入图片描述
      硬链接
        创建同分区硬链接成功,创建不同分区硬链接失败(硬链接只能在一个分区里面做)
        硬链接的inode号相同,但并不占用block,使用df -k 观察硬链接数量有无变化
        不允许将硬链接指向目录
    • RAID(磁盘冗余阵列系统)
      简介:
        RAID:廉价磁盘冗余阵列
        作用:容错、提升读写速率
      类型:
        RAID0:条带集2块磁盘以上,读写速率快N倍(n为磁盘数),但不容错
        RAID1:RAID1镜像集,2块磁盘,容量50%(再写数据时两块磁盘会同时写进数据,所以实际容量为总容量的50%),读写速率一般,可用于容错(一块坏了还有另一块)
      RAID5:带奇偶校验条带集,至少包含三块磁盘(两块存数据,一块存奇偶校验,其它的做热备盘),利用率(n-1)/n读写速率快,容错
    • 不同场景RAID的使用
      硬RAID:需要RAID卡,有自己的CPU,处理速度快,有电池和无电池
      软RAID:通过操作系统实现,比如windows,linux
    • 软RAID实例:
      准备硬盘(准备了四块)
      在这里插入图片描述
      创建RAID
      在这里插入图片描述
      格式化,挂载
      在这里插入图片描述
      查看RAID信息
      模拟一块硬盘损害并移除
      在这里插入图片描述
      设置RAID开机生效
    pvcreate  /dev/nvme0n2  #将物理磁盘nvme0n2创建为物理卷
    vgcreate chailong /dev/nvme0n2 #创基卷组,名字为chailong
    lvcreate -L 200M -n lv2 chailong #从卷组chailong中拿出200M空间创建一个名叫lv2的逻辑卷
    mkfs.ext4 /dev/chailong/lv1  #给逻辑卷挂载文件系统,路径名为/卷组名/逻辑卷名
    pvs  #查找当前物理卷
    vgs  #查找卷组
    lvs  #查找逻辑卷组
    vgextend vg1 /dev/sdd1 #逻辑卷组扩容,sdd1是已经创建好的物理卷
    lvextend -L +200M /dev/vg1/lv2  #逻辑卷扩容,vg1是卷组,lv2是逻辑卷名
     resize2fs  /dev/chailong/lv1    #增大或者收缩未加载的“ext2/ext3/ext4”文件系统的大小
     
     ll -i 文件名 #观察inode信息
     df -i  #查看系统的inode数量
     touch file{1..5} #创建文件file1-file5
     ln -s /file1 /home/file1  #给file1创建一个软链接,链接文件所在的文件夹位于/home/file1(-s为软链接,不加为硬链接)
     mdadm -C /dev/md0 -l5 -n3 -x1 /dev/nvme0n{2,3,4,5}  #创建RAID,-c创建的意思,/dev/md0 是名字,必须在dev下 -l5是等级5 -n3是几块盘,这里是3块 -x1是热备盘,这里是1块 最后是磁盘名
     mdadm -D /dev/md0  #查看raid信息
     mdadm /dev/md0 -f /dev/nvme0n2 -r /dev/nvme0n2 #强制移除一个盘
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    三.交换分区管理了swap(虚拟内存

    3.1作用

    “提升”内存容量,防止OOM(OUT of memory)

    3.1 swap大小

    • 推荐:设置交换分区大小为内存的两倍
    • 生产环境下:
      大于4gb而小于16gb内存的系统,最小需要4GB交换空间
      大于16GB而小于64GB内存的系统,最小需要8GB的交换空间
      大于64GB而小于256GB内存的系统,最小需要16GB交换空间
    • 查看当前交换分区
    free -m #查看空闲分区
    mkswap /dev/sdc1  #创建交换分区
    swapon /dev/sde1  #将交换分区挂载
    swapoff /dev/sdc2  #退出分区
    umount /dev/sdb4  #卸载磁盘
    reboot #重启动
    init 6#重启
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 相关阅读:
    C#关于TimeSpan结构的使用和获取两个时间差
    【Linux--进程间通信】
    75-Java的List系列集合、集合的并发修改异常问题
    React高级特性之受控和非受控组件
    java毕业设计—— 基于java+javaEE+jsp的项目管理系统设计与实现(毕业论文+程序源码)——项目管理系统
    青岛科技大学考研择校
    软考高项-论文写作
    秋招攻略秘籍,吃透25个技术栈Offer拿到手软
    论文翻译:2021_Acoustic Echo Cancellation with Cross-Domain Learning
    安卓无源码的情况下,替换广告
  • 原文地址:https://blog.csdn.net/qq_43456605/article/details/127400497