一、创建LVM

# 创建物理逻辑卷
pvcreate /dev/sd{a5,b1}
#为卷组分配物理卷
vgcreate vg0 /dev/sd{a5,b1}
#创建逻辑卷大小名字
lvcreate -n lv0 -L 10G vg0
#创建逻辑卷文件系统
mkfs.xfs /dev/vg0/lv0
# mount 挂载逻辑卷,写入配置文件使开机后依然生效
vim /etc/fstab
# 使逻辑卷挂载生效
mount -a

二、扩展LVM

# 新增磁盘,通过命令扫描新增磁盘,可不重启机器,先看看有多少host
ll /sys/class/scsi_host

# 查看有多少host0,都尝试扫一下即可,太多的话可以扫描数字最大的那个
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan

# 检查是否有新盘,有的话即可
lsblk

# 将新盘加入pv,如新盘盘符为sdb
pvcreate /dev/sdb

# 扩展vg
vgextend vg0 /dev/sdb

# 把逻辑卷剩余100%空间扩容
lvextend -l +100%FREE /dev/vg0/lv0
# 增加或缩减ext文件系统
resize2fs /dev/vg0/lv0 extN
# 增加或缩减xfs文件系统
xfs_growfs /mnt/lv0 xfs
或者一步到位,把逻辑卷剩余空间都扩展
lvextend -r -l +100%free /dev/vg0/lv0

三:缩减LV(最好要备份)

# 缩减必须先卸载
umount /mnt/lv0
# 检查逻辑卷的完整性
fsck -f /dev/vg0/lv0
# 将文件系统缩到8G
resize2fs /dev/vg0/lv0 8G
# 缩减逻辑卷空间至8G
lvreduce -L 8G /dev/vg0/lv0
# 重新挂载
mount -a

四:删除PV(有硬盘出故障时)

# 事先准备好空间转移,比如新硬盘
# 看可用空间,大于pv的空间
vgdisplay
# 自动把sdc内容搬到默认的空间
pvmove /dev/sdc
# 从卷组里删除sdc
vgreduce vg0 /dev/sdc
# 从pv里删除sdc
pvremove /dev/sdc

dd命令的使用场景

将本地的/dev/sdx整盘备份到/dev/sdy
  dd if=/dev/sdx of=/dev/sdy
将/dev/sdx全盘数据备份到指定路径的image文件
  dd if=/dev/sdx of=/path/to/image
将备份文件恢复到指定盘
  dd if=/path/to/image of=/dev/sdx

备份/dev/sdx全盘数据,并利用gzip压缩,保存到指定路径
  dd if=/dev/sdx | gzip >/path/to/image.gz
将压缩的备份文件恢复到指定盘
  gzip -dc /path/to/image.gz | dd of=/dev/sdx

将内存里的数据拷贝到root目录下的mem.bin文件
  dd if=/dev/mem of=/root/mem.bin bs=1024
拷贝光盘数据到root文件夹下,并保存为cdrom.iso文件
  dd if=/dev/cdrom of=/root/cdrom.iso
销毁磁盘数据
  dd if=/dev/urandom of=/dev/sda1
通过比较dd指令输出中命令的执行时间,即可确定系统最佳的block size大小
dd if=/dev/zero of=/tmp/1Gb.file bs=1024 count=1000000
dd if=/dev/zero of=/tmp/1Gb.file bs=2048 count=500000 
dd if=/dev/zero of=/tmp/1Gb.file bs=4096 count=250000

测试硬盘写速度
[root@rocky9 ~]# dd if=/dev/zero of=/tmp/1Gb.file bs=1024 count=1000000
记录了1000000+0 的读入
记录了1000000+0 的写出
1024000000字节(1.0 GB,977 MiB)已复制,8.52486 s,120 MB/s
测试硬盘读速度
[root@rocky9 ~]# dd if=/tmp/1Gb.file bs=64k | dd of=/dev/null
记录了15625+0 的读入
记录了15625+0 的写出
记录了2000000+0 的读入
记录了2000000+0 的写出
1024000000字节(1.0 GB,977 MiB)已复制,9.7409 s,105 MB/s
1024000000字节(1.0 GB,977 MiB)已复制,9.74149 s,105 MB/s

使服务器新增磁盘立即生效命令

root@ubuntu24:~# grep mptspi /sys/class/scsi_host/host*/proc_name
/sys/class/scsi_host/host27/proc_name:mptspi
root@ubuntu24:~# echo '- - -' > /sys/class/scsi_host/host27/scan
注意:原则上最好采用重启方式加载新盘
作者:于浩  创建时间:2022-12-06 22:25
最后编辑:于浩  更新时间:2026-07-12 22:32