目标
创建逻辑卷和扩容操作(使用乌班图系统虚拟机)
LVM创建
- 将/dev/sdb进行分区,为LVM2识别的分区
root@ubuntu:~# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.31.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xf2be3256 的新 DOS 磁盘标签。
命令(输入 m 获取帮助): n *#输入n,新建分区*
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p): *#输入p,确定主分区*
将使用默认回应 p。
分区号 (1-4, 默认 1):
第一个扇区 (2048-10485759, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-10485759, 默认 10485759):
创建了一个新分区 1,类型为“Linux”,大小为 5 GiB。
命令(输入 m 获取帮助): w *#输入w,写入分区*
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
root@ubuntu:~# fdisk -l *#确认分区信息*
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sda1 * 2048 41940991 41938944 20G 83 Linux
/dev/sda2 41940992 83886079 41945088 20G 8e Linux LVM
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 20971519 20969472 10G 83 Linux
root@ubuntu:~# partprobe *#通知内核磁盘分区变化并重新读入*
- 创建物理卷
root@ubuntu:~# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
使用pvdisplay pvscan pvs 等命令查看pv信息;使用pvremove删除已创建的物理卷
- 创建卷组
root@ubuntu:~# vgcreate vg /dev/sdb
Volume group "vg" successfully created
使用vgdisplay vgscan vgs 等命令查看vg信息;使用vgremove删除已创建的卷组
- 创建逻辑卷
root@ubuntu:~# lvcreate --name lv -l +%FREE vg
Logical volume "lv" created
使用lvdisplay lvscan lvs 等命令查看lv信息;使用lvremove删除已创建的逻辑卷
- 格式化文件系统
root@ubuntu:~# mkfs.ext4 /dev/mapper/vg-lv01
6.创建目录并挂载
root@ubuntu:~# mkdir /dbdata
root@ubuntu:~# vim /etc/fstab *#将内容加入文件末行*
/dev/mapper/vg01-lv01 /dbdata ext4 defaults 0 0
root@ubuntu:~# mount -a *#重新加载fstab文件*
root@ubuntu:~# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/vg01-lv01 ext4 10G 41M 14G 1% /dbdata
LVM扩容
前提:
sdb已有逻辑卷/dev/mapper/vg01-lv01,大小为10G
将sdc全部扩展到/dev/mapper/vg01-lv01,sdc大小为5G
做好用戶数据的备份并验证备份数据的完整性
停止扩容服务器的用戶程序
- 先卸载指定分区
root@ubuntu:~# umount /dbdata
- 将/dev/sdc进行分区,为LVM2识别的分区
root@ubuntu:~# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.31.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xf2be3256 的新 DOS 磁盘标签。
命令(输入 m 获取帮助): n *#输入n,新建分区*
分区类型
p 主分区 (0个主分区,0个扩展分区,4空闲)
e 扩展分区 (逻辑分区容器)
选择 (默认 p): *#输入p,确定主分区*
将使用默认回应 p。
分区号 (1-4, 默认 1):
第一个扇区 (2048-10485759, 默认 2048):
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-10485759, 默认 10485759):
创建了一个新分区 1,类型为“Linux”,大小为 5 GiB。
命令(输入 m 获取帮助): p *#输入p,打印分区信*
命令(输入 m 获取帮助): w *#输入w,写入分区*
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
root@ubuntu:~# fdisk -l *#确认分区信息*
root@ubuntu:~# partprobe *#通知内核磁盘分区变化并重新读入*
- 将/dev/sdc1创建为LVM2可识别的物理卷
root@ubuntu:~# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
- 确认lv01的VG Name,将sdc1的物理卷加入该卷组中
root@ubuntu:~# vgdisplay
--- Volume group ---
VG Name vg01 *#扩展卷组的卷组名*
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <10.00 GiB
PE Size 4.00 MiB
Total PE 2559
Alloc PE / Size 2559 / <10.00 GiB
Free PE / Size 0 / 0
VG UUID DrIDs3-QC5u-hYvL-CPBK-ZWYw-W03g-3wo9TN
root@ubuntu:~# vgextend vg01 /dev/sdc1
Volume group "vg01" successfully extended
- 将剩余的所有PE扩容至逻辑卷
root@ubuntu:~# vgdisplay
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 14.99 GiB
PE Size 4.00 MiB
Total PE 3838
Alloc PE / Size 2559 / <10.00 GiB
Free PE / Size 1279 / <5.00 GiB *#查看上面的记录可以发现此处发生了变化*
VG UUID DrIDs3-QC5u-hYvL-CPBK-ZWYw-W03g-3wo9TN
root@ubuntu:~# lvextend -l +100%FREE -n /dev/mapper/vg01-lv01
Size of logical volume vg01/lv01 changed from <10.00 GiB (2559 extents) to 14.99 GiB (3838 extents).
Logical volume vg01/lv01 successfully resized.
root@ubuntu:~# resize2fs /dev/mapper/vg01-lv01
resize2fs 1.44.1 (24-Mar-2018)
请先运行“e2fsck -f /dev/mapper/vg01-lv01”。
root@ubuntu:~# e2fsck -f /dev/mapper/vg01-lv01
e2fsck 1.44.1 (24-Mar-2018)
第 1 步:检查inode、块和大小
第 2 步:检查目录结构
第 3 步:检查目录连接性
第 4 步:检查引用计数
第 5 步:检查组概要信息
/dev/mapper/vg01-lv01:11/655360 文件(0.0% 为非连续的), 66753/2620416 块
root@ubuntu:~# lvextend -l +100%FREE -n /dev/mapper/vg01-lv01
- 更新逻辑卷
root@ubuntu:~# resize2fs /dev/mapper/vg01-lv01
resize2fs 1.44.1 (24-Mar-2018)
将 /dev/mapper/vg01-lv01 上的文件系统调整为 3930112 个块(每块 4k)。
/dev/mapper/vg01-lv01 上的文件系统现在为 3930112 个块(每块 4k)。
7.挂载目录,确认之前的数据是否存在
root@ubuntu:~# mount /dev/vg01/lv01 /dbdata
root@ubuntu:~# df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 956M 0 956M 0% /dev
tmpfs 196M 1.9M 195M 1% /run
/dev/sda1 20G 14G 4.8G 75% /
/dev/mapper/vg01-lv01 15G 41M 14G 1% /dbdata