千家信息网

好程序员云计算学习路线分享LVM管理详解

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,好程序员云计算学习路线分享LVM管理详解在线扩容 online数据迁移 online创建LVM LVM叫逻辑卷管理VG扩展/缩小LV扩容文件系统扩容 在线扩容及在生产中 300G+900G硬盘 做单盘
千家信息网最后更新 2024年10月27日好程序员云计算学习路线分享LVM管理详解

好程序员云计算学习路线分享LVM管理详解
在线扩容 online
数据迁移 online

创建LVM LVM叫逻辑卷管理
VG扩展/缩小
LV扩容
文件系统扩容 在线扩容及在生产中 300G+900G硬盘 做单盘RAID0

基本分区(MBR|GPT) ----> Filesystem ----> mount
逻辑卷LVM ----> Filesystem ----> mount

VG叫做卷组

extents 叫做扩展块

PE: Physical extent 物理扩展 4M 8M 16M 32M 64M 创建VG时指定 -s 8M
LE: Logical extent 逻辑扩展

新浪实际工作中
启动VMware环境下的Linux操作系统,添加新分区,需要root账号身份。
3.1 【fdisk -l】 最大分区为/dev/sda3,说明新创建的分区将会是sda4
3.2 输入【fdisk /dev/sda】
3.2.1命令行提示下输入【m】
3.2.2输入命令【n】添加新分区。
3.2.3输入命令【p】创建主分区。
3.2.4输入【回车】,选择默认大小,这样不浪费空间
3.2.5输入【回车】,选择默认的start cylinder。
3.2.6输入【w】,保持修改
3.3 输入【reboot】 重启linux,必须reboot,否则/dev/sda4无法格式化。
3.4 这时在/dev/目录下,才能看到了新的分区比如/dev/sda4
3.5 【mkfs.ext2 /dev/sda4】格式化
3.6 在根目录下创建disk4目录
3.7 【mount /dev/sda4 /disk4/】将分区mount到/disk4/上
3.8 在vim修改/etc/fstab文件,加入【/dev/sda4 /disk4 ext2 defaults 0 0】一行,并保存,实现开机自动mount。

注意 带有快照虚拟机需要安装软件后添加硬盘

一、创建LVM
0. 准备物理磁盘
可以是: /dev/sdb /dev/sdc1
[root@server0 ~]# ll /dev/vd{c,d,e}
brw-rw----. 1 root disk 253, 32 Jun 6 17:38 /dev/vdc
brw-rw----. 1 root disk 253, 48 Jun 6 17:38 /dev/vdd
brw-rw----. 1 root disk 253, 64 Jun 6 17:38 /dev/vde

1. pv
[root@server0 ~]# pvcreate /dev/vdd
Physical volume "/dev/vdd" successfully created

[root@server0 ~]# pvscan
PV /dev/vdd lvm2 [2.00 GiB]
Total: 1 [2.00 GiB] / in use: 0 [0 ] / in no VG: 1 [2.00 GiB]

[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdd lvm2 a-- 2.00g 2.00g

2. vg
[root@server0 ~]# vgcreate vg1 /dev/vdd
Volume group "vg1" successfully created
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 0 0 wz--n- 2.00g 2.00g
[root@server0 ~]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "vg1" using metadata type lvm2
[root@server0 ~]# vgdisplay vgdisplay datevg
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 2.00 GiB
PE Size 4.00 MiB
Total PE 511
Alloc PE / Size 0 / 0
Free PE / Size 511 / 2.00 GiB
VG UUID 7E4tlj-l0a2-ph62-OytH-eaq7-58K6-2S4n8V

3. lv
[root@server0 ~]# lvcreate -l 10 -n lv1 vg1
[root@server0 ~]# lvcreate -L 200M -n lv2 vg1

[root@server0 ~]# lvscan
ACTIVE '/dev/vg1/lv1' [640.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [256.00 MiB] inherit

4. 创建文件系统并挂载
[root@server0 ~]# mkfs.xfs /dev/vg1/lv1
[root@server0 ~]# mkfs.ext4 /dev/vg1/lv2

[root@server0 ~]# mkdir /mnt/lv1 /mnt/lv2

[root@server0 ~]# vim /etc/fstab
/dev/vg1/lv1 /mnt/lv1 xfs defaults 0 0
/dev/vg1/lv2 /mnt/lv2 ext4 defaults 0 0

[root@server0 ~]# mount -a
[root@server0 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg1-lv1 651948 32928 619020 6% /mnt/lv1
/dev/mapper/vg1-lv2 245671 2062 226406 1% /mnt/lv2

二、VG管理
==扩大VG vgextend==
1. pv
[root@server0 ~]# pvcreate /dev/vde

2. vgextend
[root@server0 ~]# vgextend vg1 /dev/vde
Volume group "vg1" successfully extended
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 3.99g 3.76g

==减小VG vgreduce==
通常先做数据的迁移
1.查看当前的VG中PV的使用情况
[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdd vg1 lvm2 a-- 2.00g 1.76g
/dev/vde vg1 lvm2 a-- 2.00g 2.00g

2. pvmove数据到其它PV
[root@server0 ~]# pvmove /dev/vdd
/dev/vdd: Moved: 16.7%
/dev/vdd: Moved: 100.0%

[root@server0 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/vdd vg1 lvm2 a-- 2.00g 2.00g
/dev/vde vg1 lvm2 a-- 2.00g 1.76g

3.vgreduce VG
[root@server0 ~]# vgreduce vg1 /dev/vdd
Removed "/dev/vdd" from volume group "vg1"

[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 1 2 0 wz--n- 2.00g 1.76g

三、LV扩容
1. lv扩容
[root@server0 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 2 2 0 wz--n- 1.88g 1.00g

[root@server0 ~]# lvextend -L 800M /dev/vg1/lv1
[root@server0 ~]# lvextend -L +800M /dev/vg1/lv1

[root@server0 ~]# lvextend -l 15 /dev/vg1/lv1
[root@server0 ~]# lvextend -l +15 /dev/vg1/lv1

=======================================
+50%FREE
=======================================

[root@server0 ~]# lvscan
ACTIVE '/dev/vg1/lv1' [768.00 MiB] inherit
ACTIVE '/dev/vg1/lv2' [512.00 MiB] inherit

2. FS扩容
[root@server0 ~]# df -Th
/dev/mapper/vg1-lv1 xfs 637M 67M 570M 11% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 240M 32M 192M 15% /mnt/lv2

a. xfs
[root@server0 ~]# xfs_growfs /dev/vg1/lv1

b. ext2/3/4
[root@server0 ~]# resize2fs /dev/vg1/lv2

[root@server0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/vg1-lv1 xfs 765M 67M 698M 9% /mnt/lv1
/dev/mapper/vg1-lv2 ext4 488M 32M 429M 7% /mnt/lv2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.创建pv
[root@localhost ~]# pvcreate /dev/sda5 /dev/sda6
[root@localhost ~]# pvdisplay
[root@localhost ~]# pvs
2.创建vg
[root@localhost ~]# vgcreate vg0 /dev/sda5 /dev/sda6
[root@localhost ~]# vgdisplay
[root@localhost ~]# vgs
3.创建lv
[root@localhost ~]# lvcreate -L 250M -n /dev/vg0/lv0 vg0
[root@localhost ~]# lvdisplay
[root@localhost ~]# lvs

注意:
pv不能跨越vg
lv不能跨越vg
系统中可以创建多个vg
vg中可以创建多个lv

删除lvm
1.umount /dev/vg0/lv0
2.[root@localhost ~]# lvremove /dev/vg0/lv0
3.[root@localhost ~]# vgremove vg0
4.[root@localhost ~]# pvremove /dev/sda{5,6,8}

企业中的应用 如果根分区满了 怎么做??

df -h 查看

pvcreate /dev/sdb
vgs
vgextend centos /dev/sdb
lvscan
lvextend -L +5G /dev/centos/root

df -T
xfs_growfs /dev/centos/root
df -Th
lvextend -L +5G /dev/centos/root
xfs_growfs /dev/centos/root
df -h

准备3块硬盘 可不分区 思路---PV----VG---LV
lsblk
##创建PV
pvcreate /dev/sdb
##查看当前PV
pvscan
pvs
vgcreate datavg /dev/sdb (datavg是起的名字)

vgscan

pvscan ##得到回显 pv/dev/sdb 加入到了VG datevg 容量XXfree
#创建LV

lvcreate -L 200M -n lv1 datavg -L(指定lv的大小) 指定为200m lv1为起的名字 从datevg里创建

lvcreate -L 300M -n lv2 datavg
lvscan ## 得到回显 /dev/datevg/lv1 200m
/dev/datevg/lv2 300m

这时候看lsblk 去看看/dev/sdb????
##格式化,创建文件系统挂载
mkfs.xfs /dev/datevg/lv1
mkfs.ext4 /dev/datevg/lv2

mkdir /mnt/lv1 /mnt/lv2

挂载
mount /dev/datevg/lv1 /mnt/lv1
mount /dev/datevg/lv2 /mnt/lv2

mount -a

df -h (df-Th) 加上TYPE 类型

LVM完成

#########################################################
扩大VG
vgs

pvcreate /dev/sdc 先变成PV

vgextend datevg /dev/sdc 查看pvscan

vgs free变大 实验成功

继续扩容
pvcreate /dev/sdd
vgextend datevg /dev/sdd

继续查看 VFree 继续变大
###############################################################
减小VG 数据迁移 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!

pvs 查看

pvmove /dev/sdb /dev/sdc 将sdb数据仍到sdc

vgreduce datevg /dev/sdb

pvscan

查看变化。数据迁移完成

注意:
pv不能跨越vg
lv不能跨越vg
系统中可以创建多个vg
vg中可以创建多个lv


输入 数据 系统 多个 文件 管理 命令 格式 硬盘 逻辑 名字 大小 物理 目录 准备 在线 选择 程序 程序员 路线 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算器软件开发创新项目 迷你世界公司的服务器长什么样 江西商业软件开发价格多少 游戏棋牌软件开发 成都哪个公司软件开发 安庆数据库营销是什么 珠海来来网络技术有限公司 读软件开发学校福建 昆明软捷软件开发公司 登录csgo说我不在安全服务器 网络安全科普教育漫画 网络安全公司文化墙 上海机械网络技术价格查询 将文件上传到服务器的方法 江苏聚源网络技术有限公司 哪些方式可以提升大学生网络安全 网络安全人员别称 海鹰网络技术钉钉 工行软件开发中心经理 数据库任务可以删除吗 泉州网络安全宣传 配置maven服务器 深圳启视点网络技术文化 云南数据网络技术服务推广 大学专业计算机网络技术学什么 学校网络安全第一责任人制 简述计算机网络安全的威胁有哪些 网络技术系素质拓展部 租赁公司数据库 pg数据库外部表查询所有列
0