Bootstrap

Linux磁盘管理(fdisk磁盘管理工具|swap交换分区|LVM逻辑卷管理|stratis|VDO|扩展缩减卷)

1 磁盘管理一

lsblk:列出所有可用块设备的信息
fdisk -l:查看磁盘所有分区信息
blkid:查看文件系统的类型、格式化文件系统类型等等
inux8版本虚拟机不重启识别新添加磁盘命令:partprobe

1.1 fdisk磁盘管理工具

p:显示当前硬件的分区
n:创建新分区
e:扩展分区
p:主分区
l:逻辑分区
d:删除一个分区
t:修改分区类型
l:显示所支持的所有类型
w:保存退出
q:不保存退出
在虚拟机创建好新磁盘后刷新partprobe,之后输入fdisk -l查看磁盘信息
找到要进行分区的路径:
在这里插入图片描述
之后进入fdisk的交互功能:

fdisk /dev/sda
Command (m for help):  #命令框,输入n表示创建新分区、输入d删除分区,w表示保存并退出

在这里插入图片描述
First sector 表示分区的起始扇区
Last sector表示结束扇区
创建好后partprobe刷新分区
tips:
fdisk适合给小于2T的磁盘分区,大于2T则用parted

1.2 文件系统

windowslinux
NTFSEXT2, EXT3,EXT4
FAT16/FAT32XFS,btrfs
exFATfat
mkfs -t XFS -b size=1024 /dev/sda1#对sda1进行配置
mkfs.xfs -f /dev/sda1 #格式化xfs分区,-f表示强制

tips:
-t 指定文件系统类型
-m指定管理块所占百分百,默认5%
-b 指定块大小,默认4096byte
-f强行指定文件系统类型

创建好文件系统后需要进行挂载

mount  /dev/sda1 /us#挂载,零时挂载

取消挂载的命令是umount /dev/sda1
永久挂载方法:
在永久挂载前,先使用blkid /dev/sda1查看UUID

vim /etc/fstab  #永久挂载路径,开机自启的配置相关文件

UUID="b07c8353-e368-42d4-971e-b28d550597c0" /us ext4 defaults 0 0写入文件最后一行(另一种写法:/dev/sda1 /us ext4 defults 0 0)其中第一个0表示不校验,第二个表示优先级
最后mount -a重新加载一下fstab文件
df -Th可以显示挂载信息

2 磁盘管理二

swapon -s查看swap交换分区(包括路径)
free -hm查看当前交换分区
mkswap /dev/sda1创建交换分区
swapon /dev/sda1启用交换分区

2.1 创建swap交换分区

创建分区:

fdisk /dev/sda #n--p--大小700M,最后t改变分区类型,l可以列出所有分区类型,输入82,(linux/swap)

创建并启用交换分区

swapon -s #查看当前交换分区路径
mkswap /dev/sda2 #创建swap分区
swapon /dev/sda2 #启动交换分区

以上步骤就完成了!可以通过lsblk、free -hm、swapon -s进行查看.
永久挂载方法:

vim /etc/fstab#配置输入:UUID=aa2dda3f-cb9d-4e17-ab4d-3802978fcfd4 swap swap defaults 0 0
mount -a #进行测试是否成功

2.2 关闭swap交换分区

1,删除永久挂载
2,swapoff /dev/sda2
tips:
使用UID挂载方式:先使用blkid /etc/sda2查看UUID,之后mount UUID=aa2dda3f-cb9d-4e17-ab4d-3802978fcfd4 /us

2.3 逻辑卷管理:LVM

PV物理卷
VG卷组
LV逻辑卷
在这里插入图片描述
在这里插入图片描述
1.首先添加一块硬盘,并且创建一个主分区文件类型为Linux LVM【步骤同上,已省略】
2.将已划分好的分区创建为物理卷(PV)

pvcreate /dev/sda1

pvs可以查看pv卷的信息
pvdisplay可以查看pv名字等信息

3.创建卷组,并将物理卷加入卷组中

vgcreate vg0 /dev/sda1

vg0是卷组名字,可以自己定义。
默认PE大小是4M,可以使用-s进行指定
4.创建逻辑卷

lvcreate -n lv0 -L 5G vg0

-L是指固定大小5G,并且5G的空间是从vg0抽取的-l是指给定PE个数
lvremove /dev/vg0/lv0可以将逻辑卷删除
5.格式化逻辑卷并进行挂载

mkfs.xfs /dev/vg0/lv0 #将lv0格式化成xfs文件类型,其中:mkfs -t xfs=mkfs.xfs

可以用blkid查看lv0的路径

mount /dev/dev/mapper/vg0-lv0 /lvm

pvscan查看pv块的大小
逻辑卷扩展:

2.4 扩展卷组:

1.创建新的物理卷
2.向卷组中添加新的物理卷

vgextend VG_NAME /dev/sda2

逻辑卷扩容(消耗卷组VG中的空间)

lvextend -r -L +10230M /dev/rhel/#将逻辑卷+10230且扩容到rhel上(不知道我理解的有没有问题)

-L +100G将卷大小增加100G
-l +100 将lv增加100个PE大小
-l 100 将lv大小正好调整为100个PE
-l +50%FREE 向lv中增加卷组剩余空间50%
使用-r选项可以一并扩展文件系统

2.5 扩展文件系统:

ext4文件系统扩展

lvresize -L +300M /dev/VG_NAME/LV_NAME#将lv新增大小300M
e2fsck -f /dev/vg0/lv0 #检查磁盘错误
resize2fs /dev/VG_NAME/LV_NAME#更新逻辑卷信息

xfs文件系统扩展

xfs_growfs /dev/VG_NAME/LV_NAME #注意挂载

2.6 缩减文件系统

缩减卷组:

pvmove /dev/sdb3 #大概是删除的意思
vgreduce VG_NAME /dev/sda1 #将卷组从指定的位置移除

缩减逻辑卷:
1.卸载文件系统

umount /Load_name

2.对文件系统进行检查

e2fsck -f /dev/vg_name/lv_name

3.缩减文件系统

resize2fs /dev/vg_name/lv_name 2G

4.缩减lv

lvreduce -L -1G /dev/vg_name/lv_name

5.重新挂载文件系统
注意:xfs文件系统不支持缩减

2.7 实施高级存储功能

2.7.1 Stratis

stratis默认为xfs系统
概念图如下:
在这里插入图片描述
教程开始:
安装软件包

yum -y install stratis-cli.noarch stratisd.x86_64

不知道该安装什么软件包可以使用yum search stratis搜索出的软包全安上准没错

激活服务

systemctl start stratisd.service #启动服务
systemctl enable stratisd.service #开机自启

创建池

stratis pool create pool01 /dev/sda

stratis pool list#将池集中显示
stratis blockdev list pool01#将池精细化显示
这两条命令都可以查看精简池的信息

创建文件系统:

stratis filesystem create pool01 fs01 #创建文件系统,用pool01池创建,名为fs01

创建完成之后在创建目录/root/stratis
之后mount /stratis/pool01/fs01 /root/stratis

注意:在创建快照之前先把挂载给卸载掉(略)
创建快照:

stratis filesystem snapshot pool01 fs01 snap01

下面来做个测试,删除后恢复快照:

stratis filesystem destroy pool01 fs01 #删除fs01
stratis filesystem snapshot pool01 snap01 fs02#恢复snap01的快照,并且将恢复的文件改名为fs02

可以使用stratis filesystem list进行检验

2.8 VDO

安装vdo相关软件包

yum install vdo

如果不知道安装什么包,可以通过yum search vdo进行检索

创建vdo卷

vdo create --name=vdotest --device=/dev/sdb --vdoLogicalSize=2048G #虚拟内存大小为2048G

vdo list可以查看
vdostats --human-readable查看卷状态

vdostats --human-readable  #-K是防止磁盘中未使用的块被立即丢弃,防止系统卡很久,立即返回

2.9 VDO的永久挂载

首先先取消掉vdo的挂载
取消挂载不掉?

vim /etc/fstab

添加以下语句:
/dev/mapper/vdotest /vdofile xfs defaults,x-systemd.requires=vdo.service 0 0


上面的语法格式可以通过man vdo后使用/x-system进行查找
其中defaults,x-systemd.requires=vdo.service的意思为,可延迟挂载系统,直到vdo服务启动为止
其中xfs为文件类型,可以通过file -Ls /dev/mapper/vdotest来查看文件类型

;