【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 //删除物理卷