LVM

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# https://www.server-world.info/en/note?os=Ubuntu_22.04&p=lvm&f=5
 
# --- parted disk --- # 
 
parted /dev/sdb mklabel gpt
parted /dev/sdc mklabel gpt
 
# create partition
parted -a optimal -- /dev/sdb mkpart primary 0% 100%
parted -a optimal -- /dev/sdc mkpart primary 0% 100%
 
# --------------------- Create Phisical Volume ---------------- # 
pvcreate /dev/sdb1
pvcreate /dev/sdc1
# Display Phisical Volumes.
pvdisplay /dev/sdb1 
 
# to create with volume size explicitly, set like follows
pvcreate --setphysicalvolumesize 50G /dev/sdb1
# Display reports of Phisical Volumes.
pvs /dev/sdb1
# Delete Phisical Volume. 
pvremove /dev/sdb1
 
# -------------------- Create Volume Group -------------------- # 
vgcreate group_name /dev/sdb1 /dev/sdc1
vgdisplay group_name
# change vg_name
vgrename group_name group_new
 
# Display reports of Volume Groups.
vgs
vgscan
# 
pvscan
# add sdd1 to group_new
vgextend group_new /dev/sdd1
vgdisplay group_new
 
# remove sdd1 from group_new
vgreduce group_new /dev/sdd1 
 
# disable target volume group first and delete it
vgchange -a n group_new
vgremove group_new 
 
# ----------------- Create Phisical Volume ------------------- # 
 
# create logical volume [lv_name] in volume group [group_new] with 30G
lvcreate -L 30G -n lv_name group_new
 
# specify like follows if you use all free area
lvcreate -l 100%FREE -n lv_name group_new 
lvdisplay /dev/group_new/lv_name
mkfs.ext4 /dev/snap/master
 
# rename from lv_name to lv_storage
lvrename lv_name lv_storage
lvdisplay /dev/group_new/lv_storage
 
# Display reports of Logical Volumes.
lvs
 
# Scan Logical Volumes. 
lvscan 
 
# Take snapshot of Logical Volume.
# create snapshot "snap-lv_storage" from "lv_storage"
lvcreate -s -L 30G -n snap-lv_storage /dev/group_new/lv_storage 
 
# Extend Logical Volume. It's possible to do with mounted.
lvextend -L 70G /dev/group_new/lv_storage
 
# for the case of extending ext4 filesystem
resize2fs /dev/group_new/lv_storage
# Reduce Logical Volume | Unmount target device first | It's impossible to reduce xfs filesystem. 
# for ext4, check it first
e2fsck -f /dev/group_new/lv_storage
 
# for ext4, reduce filesystem
resize2fs /dev/group_new/lv_storage 5G
 
# reduce logical volmue at last
lvreduce -L 50G /dev/group_new/lv_storage 
 
# Delete Logical Volume | unmount ⇒ stop logical volume ⇒ delete logical volume 
lvchange -an /dev/vg_dlp/lv_storage
lvremove /dev/vg_dlp/lv_storage