当前位置: 首页 > news >正文

【Liunx】磁盘管理

磁盘概述

逻辑结构

Linux中常用的磁盘设备


磁盘分区方式

MBR

GRT

GPT产生原因

MBT最大分区容量2.2T

MBR分区没有备份机制

MBR分区最多不超过16个


磁盘信息查看命令--lsblk,blkid,df,du

lsblk

查看磁盘信息--lsblk

参数

-d        //仅列出硬盘本身信息,不显示分区信息

-f        //列出磁盘的内的文件系统名称

-i        //使用ASCII码格式输出信息

 

-t          //显示磁盘的详细信息

-p         //显示设备完整名称

blkid

显示设备的UUID值和文件系统名称

UUID:全局单一标识符(Universally Unique Identifier),Linux系统会给所有设备分配一个唯一的 UUID值,以方便挂载

文件系统名称:磁盘格式化的类型例如xfs,etx4,swap等

df

出文件系统的磁盘空间占用情况

df常用参数命令

df -h        //以常见的单位列出容量大小

df -H

df -T         //列出文件系统类型

du

显示磁盘空间使用量

du的常用参数方法

du -sh


磁盘分区--fdisk,proc/partitions ,partprobe

磁盘分区便于管理,分类文件

fdisk以交互方式进行操作,以下是在交互页面常用的交互指令

#fdisk -l        //查看

划分MBR分区方式

#fdisk /dev/nvme0n1

#cat /proc/partitions       //查看系统中识别的分区信息

#partprobe        //若分区未写入内核可以立即同步分区信息到内核

划分GPT分区方式 


磁盘格式化--mkfs.

当磁盘分好区后还是硬件,系统OS是软件,要想磁盘跟系统进行交流就得在分区安装文件系统就是所谓的格式化

文件系统类型有

fat:文件大小不能超过4G(已被淘汰)

ntfs:文件大小不能超过2T,但是有版权

etx3,4:文件大小不能超过32T

xfs:文件大小不能超过8ZIB

#mkfs.xfs /dev/sdb1


磁盘挂载

mount,umount

# mount /dev/nvme0n1p1 /fjwyyy/

 # umount /dev/nvme0n1p1

除了mount的常用方式还有以下参数

#mount -a         //依照配置文件/etc/fstab的数据将所有未挂载的磁盘都挂载上来

mount  -o        //挂载时可以更改挂载的参数

# mount -o ro /dev/nvme0n1p1 /mnt/
# mount -o remount,rw /dev/nvme0n1p1 /mnt/

开机自动挂载--/etc/fstab/,mount -a

由于在命令话执行的mount挂载都是临时的重启系统后就消失,因此要在配置文件中添加

#vim /etc/fstab/

 注意!

如果/etc/fstab 中有错误会导致系统起不来

 

拓展--fuser

# fuser -m /dev/nvme0n1p1        
# fuser -vm /dev/nvme0n1p1
# fuser -kvm /dev/nvme0n1p1


在设备中查找文件

正在施工


设备中的软硬链接

正在施工


RAID

RAID的原理是将多个磁盘设备组成一个大容量,安全更好的磁盘阵列

具有磁盘读写速度快,安全性高

RAID的类型

RAID0        //双硬盘分担加快读取速度

RAID1        //双硬盘冗余

RAID5        //三硬盘,先两个硬盘分担然后与第三个硬盘冗余

RAID10(主流)

// 四个硬盘,两两直接为一组作为冗余,两组作为合起来再加快读取

创建RAID并管理--mdadm,/proc/mdstat

mdadm命令参数

-a         //添加新设备到阵列组

-n         //指定硬盘数量

-l          //指定RAID级别  

-C        //创建RAID

-v         //显示过程    

-f          //模拟设备损坏

-r          //移除设备    

-Q         //查看摘要

-D         //查看详细信息  

-S         //停止RAID磁盘阵列

-x        //备份盘数量

实验操作

# mdadm -Cv /dev/md0 -a yes -n 4 -x 1 -l 10 /dev/nvme0n1 /dev/nvme0n2 /dev/nvm       e0n3 /dev/nvme0n4 /dev/nvme0n5

#mkfs.xfs /dev/md0        //格式化

#mount /dev/md0        //挂载使用

# mdadm -D /dev/md0

#mdadm /dev/md0 -f /dev/nvme0n1

tips:在有备份盘的情况下阵列组中有损坏设备备份设备会立马顶上继续工作

#mdadm /dev/md0 -r /dev/nvme0n1

#watch -n1 "cat /proc/mdstat ; df -h /fjwyyy/"        //打开监控查看RAID的设备情况

 #mdadm /dev/md0 -a /dev/nvme0n1

停止RAID--  --zreo-superblock

临时停止--重启后还会存在

彻底停止RAID

# umount /dev/md0
# mdadm -S /dev/md0

# mdadm --zreo-superblock /dev/nvme0n{1..5}


LVM--pv,vg,lv

LVM(逻辑卷管理)的简写

逻辑卷可以做到屏蔽磁盘分区的底层差异,将物理的磁盘把分区变为物理卷合成一个或多个卷组

再卷组上任意分出内存创建逻辑卷,可以随意调整逻辑卷大小。

可以做到在生产上一个20G的磁盘可以装30G的文件

 常用的LVM部署命令

部署逻辑卷--pvcreate,vgcreate,lvcreate

第一步

创建分区并划分分区为LVM

第二步

创建物理卷,物理卷组,逻辑卷,格式化逻辑卷,并开启监控

# watch -n1 "pvs;vgs;lvs;df -h /fjwyyy"        //开启监控

# pvcreate /dev/nvme0n1p1 /dev/nvme0n2p1        //创建物理卷

# vgcreate vg0 /dev/nvme0n1p1 /dev/nvme0n2p1        //创建物理卷组
# lvcreate -L 15000M -n lv0 vg0        //创建逻辑卷

#mkfs.xfs /dev/vg0/lv0

第三步

挂载目录到逻辑卷,并扩容文件系统

#mount /dev/vg0/lv0 /fjwyyy

#xfs_growfs /dev/vg0/lv0        //扩容文件系统

卷组的扩大与缩减--vgextend,vgreduce

# pvcreate /dev/nvme0n3p1        
# vgextend vg0 /dev/nvme0n3p1        //卷组扩大
# vgreduce vg0 /dev/nvme0n3p1        //卷组缩减

逻辑卷的扩大与缩减--lvextend,lvreduce

# lvextend -L 27000M /dev/vg0/lv0        //逻辑卷的扩大
# xfs_growfs /dev/vg0/lv0        //xfs文件类型的扩容(同步设备Size)

# lvreduce -L 20000M /dev/vg0/lv0        //逻辑卷的缩减

由于xfs文件系统不能缩减所以要更换文件系统类型

tips:在进行逻辑卷的扩容或缩减建议把挂载先卸载下来再进行操作

#umount /dev/vg0/lv0        

#mkfs.ext4 /dev/vg0/lv0        //将格式化类型改为ext4类型

# e2fsck -f /dev/vg0/lv0
# resize2fs /dev/vg0/lv0 10000M        //对文件系统进行缩减或扩容
# lvreduce -L 10000M /dev/vg0/lv0

物理卷的使用转移与删除--pvmove

# pvmove /dev/nvme0n3p1 /dev/nvme0n1p1        //转移使用的空间
# vgreduce vg0 /dev/nvme0n3p1        //将其从卷组中删除
# pvremove /dev/nvme0n3p1        //删除物理卷

逻辑卷的删除--pvremove,vgremove,lvremove

相关文章:

  • day30 学习笔记
  • SpringBoot入门实战(第四篇:Redis集成配置)
  • 08前端项目----升序/降序
  • 资本怪兽贝莱德投资数据分析报告-独家
  • 基于OpenCV的骨骼手势识别分析系统
  • 仓颉造字,亦可造AI代理
  • `std::cout << xxx`
  • 虚幻基础:动画k帧
  • 抱佛脚之学SSM四
  • C++_并发编程_thread_01_基本应用
  • Python 之 pyecharts 使用
  • Yocto项目实战教程-第7章定制镜像菜谱与内核菜谱-7.2小节-定制应用程序
  • 使用Python+OpenCV将多级嵌套文件夹下的视频文件抽帧为JPG图片
  • AI 模型可靠性危机:DeepSeek 输出异常的技术归因与防范实践
  • 电源上电回勾现象
  • 【c语言】指针和数组笔试题解析
  • 常见数据库关键字示例 SQL 及执行顺序分析(带详细注释)
  • LX10-MDK的使用技巧
  • Qt基础006(事件)
  • 全国 OSM 数据集(2014 - 2024 年)
  • 金光耀:被激活的复旦记忆
  • 泽连斯基:停火后愿进行“任何形式”谈判,但领土问题除外
  • 网培机构围猎中老年人:低价引流卖高价课、“名师”无资质,舆论呼吁加强监管
  • 开发国内首个泌尿专科智能体,医生们将临床经验转变为知识图谱
  • 西湖大学本科新增临床医学专业,今年本科招生专业增至8个
  • 平均25岁,天津茱莉亚管弦乐团进京上演青春版《春之祭》