
LVM逻辑卷管理
- 物理卷 LVM > 卷组 VG > 逻辑卷 LV
物理卷: PV --> 最小单元: PE (可以指定大小,默认4MB)
|
——> 卷组: VG
|
——> 逻辑卷: LV --> 最小单元:LE (LE = PE)
lvm 常用命令
创建PV(物理卷)
查看物理卷信息
创建 vg (卷组)
==语法:vgcreate vg名字 pv名字==
查看卷组信息
创建 LV(逻辑卷)
==lvcreate -n "指定新逻辑卷的名称" -L "指定lv大小的 SIZE(M,G) (-l:小l指定 LE 的数量)" vgname 卷组名==
大写 L 指定逻辑卷大小 (常用)
小写 L 指定 LE 的数量 (了解)
查看逻辑卷
其实 lv01 是 dm-0 的软链接
格式化
查看
开机自启动
echo "/dev/vg01/lv01 /lv01 ext4 defaults 0 0" >> /etc/fstab
指定PE大小
- 指定 PE 大小用的选项 -s ,如果存储的数据都是大文件,那么 PE 尽量调大,读取速度快
vgcreate -s 16M vg02 /dev/sdb2
vgdisplay vg02
LV 扩容
- 首先,确定一下是否有可用的扩容空间,因为空间是从 VG 里面创建的,并且 LV 不能跨 VG 扩容
vgs
- 用的命令如下:extend 扩展 vgextend lvextend
# 扩容逻辑卷
lvextend -L +30m /dev/vg01/lv01
- 说明:在指定大小的时候,扩容 30m 和扩容到 30m 是不一样的写法
- 扩容 30m ====> -L +30M
- 扩容到 30m =====> -L 30M 使用扩容到,那么新大小不能低于现有大小
lvs
df -Th /lv01
resize2fs /dev/vg01/lv01
df -Th /lv01
lvextend -L 80m -r /dev/vg01/lv01
df -Th /lv01
VG 扩容
vgs
pvcreate /dev/sdb3
vgextend vg01 /dev/sdb3
vgs
LVM 缩小
lvreduce -L -20m -r /dev/vg01/lv01
lvs
lvreduce -L -10m -r /dev/vg01/lv01
df -Th | grep lv
扩容的时候 -r 参数
resize2fs /dev/vg01/lv01
VG 的缩减(没有被使用)
vgreduce vg01 /dev/sdb1
# 必须保证 sdb3 物理卷和 sdb1 物理卷属于一个卷组
pvs
# 将物理卷 sdb1 上的数据移到新增加物理卷 sdb3 上
pvmove /dev/sdb1 /dev/sdb3
# 移完数据再把 sdb1 物理卷从 vg01 卷组中移除
vgreduce vg01 /dev/sdb1
pvs
LVM 删除
创建 LVM 流程:
pvcreate 创建 pv -> vgcreate 创建卷组 -> lvcreate 创建逻辑卷 -> mkfs.xfs lv 格式化-> mount 挂载
删除 LVM 流程:
umount 卸载 -> lvremove lv 移出卷组中所有逻辑卷-> vgremove vg 移出卷组-> pvremove 移出 pv
umount /lv01
lvremove /dev/vg01/lv01
lvs
vgremove vg01
vgs
pvs
pvremove /dev/sdb1
swap分区管理
mkswap:创建swap分区文件系统 swapon:启用swap分区
常用参数:
# swapon -a 启用配置文件中使用swap分区
# swapon -p 指定优先级,也可在/etc/fstab 在第4列指定:pri=value
# swapon -s 查看启用swap分区情况
swapoff 命令:禁用swap分区
# swapoff /dev/sda5 禁用单个swap分区
# swapoff -a 禁用所有swap分区,禁用前会把swap分区数据及时刷写到磁盘上
添加2G的整个磁盘作为swap分区
# 创建swap分区文件系统
[root@centos7 ~]# mkswap /dev/sdd
[root@centos7 ~]# lsblk -f /dev/sdd
# 编写/etc/fstab配置文件
[root@centos7 ~]# cat /etc/fstab
UUID=c96b1d66-9ee0-4adc-a77c-51cdf8e1c499 swap swap defaults 0 0
# 启用swap分区
[root@centos7 ~]# swapon -a
[root@centos7 ~]# swapon -s | column -t
Filename Type Size Used Priority
/dev/sda5 partition 2097148 0 -1
/dev/sdd partition 2097148 0 -2
free :查看系统内存使用情况和整个swap使用情况
free -h
# 命令设置swap分区优先级
[root@centos7 ~]# swapoff /dev/sdd
[root@centos7 ~]# swapon /dev/sdd -p 5
# 查看硬盘分区UUID
[root@centos7 ~]# blkid
[root@centos7 ~]# ls -l /dev/disk/by-uuid
[root@centos7 ~]# udevadm info -q all -n /dev/sdb1
[root@centos7 ~]# lsblk -o name,mountpoint,size,uuid
# 配置文件设置swap分区优先级
[root@centos7 ~]# cat /etc/fstab
[root@centos7 ~]# swapoff /dev/sdd
[root@centos7 ~]# swapon -a
文件swap( dd )
第一步:创建大文件
[root@centos7 ~]# mkdir /data
[root@centos7 ~]# dd if=/dev/zero of=/data/swap.img bs=1024M count=2
[root@centos7 ~]# ll -h /data/swap.img
-rw-r--r-- 1 root root 2.0G May 10 14:43 /data/swap.img
第二步:启用swap文件时,会有提示swapon建议文件权限为600
[root@centos7 ~]# chmod 600 /data/swap.img
[root@centos7 ~]# swapoff /data/swap.img
[root@centos7 ~]# swapon /data/swap.img
swap的使用策略
/proc/sys/vm/swappiness 的值决定了当内存占用达到一定的百分比时,会启用swap分区的空间
[root@centos7 ~]# cat /proc/sys/vm/swappiness
范例:腾讯云服务器创建swap空间 https://cloud.tencent.com/developer/article/1921236?from=15425
在/dev/sdb上新建3个主分区,第一个主分区文件系统为xfs,大小为500M,挂载到/mnt/p1上;第二个主分区为交换分区,大小为1G;第三个主分区做成物理卷,在其上创建卷组myvg和逻辑卷mylv,逻辑卷大小为800M,文件系统为xfs,挂载到/mnt/mylv上;这三个主分区全部设置为开机自动挂载
1) 添加一块磁盘 /dev/sdb
2) parted /dev/sdb mklabel gpt
3) parted /dev/sdb mkpart part1 0 500M
4) parted /dev/sdb mkpart part1 500M 1524M
5) parted /dev/sdb mkpart part1 1524M 2548M
6) mkfs.xfs /dev/sdb1
7) mkswap /dev/sdb2 ; swapon -a ; free -h
8) pvcreate /dev/sdb3
9) mkdir /mnt/p1 ; mount /dev/sdb1 /mnt/p1 ; echo "/dev/sdb1 /mnt/p1 xfs defaults 0 0" >> /etc/fstab ; mount -a
10) vgcreate myvg /dev/sdb2 ; vgs ; lvcreate -n mylv -l 200 myvg ; mkfs.xfs /dev/myvg/mylv ; mkdir /mnt/mylv ; mount /dev/myvg/mylv /mnt/mylv ; echo "/dev/myvg/mylv /mnt/mylv xfs defaults 0 0" >> /etc/fstab ; mount -a
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 梦缘羲
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果