4.1、RAID简介
RAID(Redundant Arrays of Independent Disks),名为独立冗余磁盘阵列,可以把RAID理解为一种使用磁盘驱动器的方法,它将一组磁盘驱动器用某种逻辑组合起来,作为一个逻辑磁盘驱动器来使用。主要优点有:提高IO能力,磁盘并行读写,提高耐用性;主要利用磁盘冗余来实现。其常用等级主要有:0、1、5、10、01、jbod等。等级划分只是多块磁盘组织在一起的工作方式有所不同,没有上下之分。RAID的实现方式主要有三种:
外接式磁盘阵列:通过扩展卡提供适配能力 内接式 RAID:主板集成 RAID 控制器 Software RAID:md(内核模块实现) |
RAID0:条带技术
提升读写能力;无容错能力;100%空间利用率;至少2块盘。
RAID1:镜像
写性能下降,读性能提升;有硬件容错能力;1/2 空间利用率;至少 2 块盘。
RAID5:数据校验(轮流校验)
提升读写能力;允许一块盘出错;(n-1)/n空间利用率;至少需要3块。
RAID 1+0 或 RAID 0+1
RAID 1+0:
(1)先让两颗磁盘组成 RAID 1,并且这样设定两组;
(2)将这两组 RAID 1 再組成一組 RAID0。
提升读写提升;允许不同组内各坏一块盘;1/2 空间利用率;至少需要4块。
RAID 0+1:先組成 RAID-0 再組成 RAID-1。
提升读写提升; 允许同组内坏盘; 1/2 空间利用率; 至少需要 4 块。
jbod:多个小盘叠加,对应用程序看来是一块大的磁盘
不提升读写能力;无容错能力;100%空间利用率;至少需要2块。
4.2、软件磁盘阵列/mdadm
通过内核模块md可以模拟实现软Raid,用户通过mdadm命令在用户空间管理md模块,但是生产环境中不建议使用。
mdadm: 将任何块设备做成 RAId,模式化管理工具。
创建模式: -C:创建一个新的RAID -l: 指定级别 -n #: 设备个数 -x #: 指定空闲盘个数,即备份磁盘 -c: CHUNK 大小, 2^n, 默认为 64K 管理模式 --add, --remove, --fail 如: mdadm /dev/md# --fail /dev/sda7(模拟磁盘损坏) 增长模式 -G 装配模式 -A,重新识别此前实现的RAID mdadm -S ( --stop) /dev/md# 停止阵列 mdadm -D ( --detail) /dev/md# 查看 RAID 详细信息mdamd -D --scan > /etc/mdadm.conf 创建好raid后,须将raid信息保存在/etc/mdadm.conf文件 中,以便下次重启时,系统自动加载。 |
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
[root@mylinux ~]
# fdisk -l /dev/vdb #在当前系统创建了8个500MB的逻辑分区
Disk
/dev/vdb
: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors
/track
, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical
/physical
): 512 bytes / 512 bytes
I
/O
size (minimum
/optimal
): 512 bytes / 512 bytes
Disk identifier: 0x0009b4fd
Device Boot Start End Blocks Id System
/dev/vdb4
1 10404 5243584+ 5 Extended
/dev/vdb5
1 1017 512505 83 Linux
/dev/vdb6
1018 2034 512536+ 83 Linux
/dev/vdb7
2035 3051 512536+ 83 Linux
/dev/vdb8
3052 4068 512536+ 83 Linux
/dev/vdb9
4069 5085 512536+ 83 Linux
/dev/vdb10
5086 6102 512536+ 83 Linux
/dev/vdb11
6103 7119 512536+ 83 Linux
/dev/vdb12
7120 8136 512536+ 83 Linux
[root@mylinux ~]
# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/vdb5 /dev/vdb6 #创建raid0
mdadm: Defaulting to version 1.2 metadata
mdadm: array
/dev/md0
started.
[root@mylinux ~]
# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/vdb7 /dev/vdb8 #创建raid1
mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store
'/boot'
on this device please ensure that
your boot-loader understands md
/v1
.x metadata, or use
--metadata=0.90
Continue creating array?
yes
mdadm: Defaulting to version 1.2 metadata
mdadm: array
/dev/md1
started.
[root@mylinux ~]
# mdadm -C /dev/md5 -a yes -l 5 -n 3 /dev/vdb9 /dev/vdb10 /dev/vdb11
mdadm: Defaulting to version 1.2 metadata
#创建raid5
mdadm: array
/dev/md5
started.
[root@mylinux ~]
# ls -l /dev/md* #查看当前系统创建的raid
brw-rw---- 1 root disk 9, 0 4月 17 10:18
/dev/md0
brw-rw---- 1 root disk 9, 1 4月 17 10:20
/dev/md1
brw-rw---- 1 root disk 9, 5 4月 17 10:26
/dev/md5
/dev/md
:
总用量 4
-rw------- 1 root root 159 4月 17 10:25 md-device-map
[root@mylinux ~]
# cat /proc/mdstat #raid的详细信息
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]
md5 : active raid5 vdb11[3] vdb10[1] vdb9[0]
1022976 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3
/3
] [UUU]
md1 : active raid1 vdb8[1] vdb7[0]
512256 blocks super 1.2 [2
/2
] [UU]
md0 : active raid0 vdb6[1] vdb5[0]
1022464 blocks super 1.2 512k chunks
unused devices: <none>
[root@mylinux ~]
# mdadm -D /dev/md5 #单独查看raid5的详细信息
/dev/md5
:
Version : 1.2
Creation Time : Mon Apr 17 10:25:59 2017
Raid Level : raid5
Array Size : 1022976 (999.00 MiB 1047.53 MB)
Used Dev Size : 511488 (499.50 MiB 523.76 MB)
Raid Devices : 3
Total Devices : 3
Persistence : Superblock is persistent
Update Time : Mon Apr 17 10:26:42 2017
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Name : mylinux:5 (
local
to host mylinux)
UUID : 7f13e874:e92e40a2:691d96a5:153dfc7b
Events : 18
Number Major Minor RaidDevice State
0 252 25 0 active
sync
/dev/vdb9
1 252 26 1 active
sync
/dev/vdb10
3 252 27 2 active
sync
/dev/vdb11
[root@mylinux ~]
# mkfs.ext4 /dev/md0 #在raid0上创建文件系统
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
64000 inodes, 255616 blocks
12780 blocks (5.00%) reserved
for
the super user
第一个数据块=0
Maximum filesystem blocks=264241152
8 block
groups
32768 blocks per group, 32768 fragments per group
8000 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@mylinux ~]
# mount /dev/md0 /mnt #挂载文件系统
[root@mylinux ~]
# cd /mnt/
[root@mylinux mnt]
# ls
lost+found
[root@mylinux mnt]
#
[root@mylinux home]
# mdadm -S /dev/md0 #停止阵列,停止阵列前需要先卸载文件系统
mdadm: stopped
/dev/md0
[root@mylinux home]
# mdadm -D /dev/md0
mdadm: cannot
open
/dev/md0
: No such
file
or directory
[root@mylinux home]
# mdadm -R /dev/md0 #无法重启,此时需要重启系统才能开启raid
mdadm: error opening
/dev/md0
: No such
file
or directory
[root@mylinux home]
# mdadm /dev/md1 -f /dev/vdb7 #模拟raid磁盘故障
mdadm:
set
/dev/vdb7
faulty
in
/dev/md1
[root@mylinux home]
# mdadm -D /dev/md1
/dev/md1
:
Version : 1.2
Creation Time : Mon Apr 17 10:20:56 2017
Raid Level : raid1
Array Size : 512256 (500.25 MiB 524.55 MB)
Used Dev Size : 512256 (500.25 MiB 524.55 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Mon Apr 17 10:43:40 2017
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
Name : mylinux:1 (
local
to host mylinux)
UUID : 89931eac:3c4ad21e:aa143535:e30bdf15
Events : 19
Number Major Minor RaidDevice State
0 0 0 0 removed
1 252 24 1 active
sync
/dev/vdb8
0 252 23 - faulty
/dev/vdb7
#/dev/vdb7故障
[root@mylinux home]
# mdadm /dev/md1 -a /dev/vdb12 #添加新硬盘
mdadm: added
/dev/vdb12
[root@mylinux home]
# mdadm /dev/md1 -r /dev/vdb7 #移除损坏的硬盘
mdadm: hot removed
/dev/vdb7
from
/dev/md1
[root@mylinux home]
# mdadm -D /dev/md1
/dev/md1
:
Version : 1.2
Creation Time : Mon Apr 17 10:20:56 2017
Raid Level : raid1
Array Size : 512256 (500.25 MiB 524.55 MB)
Used Dev Size : 512256 (500.25 MiB 524.55 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent
Update Time : Mon Apr 17 10:45:55 2017
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : mylinux:1 (
local
to host mylinux)
UUID : 89931eac:3c4ad21e:aa143535:e30bdf15
Events : 39
Number Major Minor RaidDevice State
2 252 28 0 active
sync
/dev/vdb12
1 252 24 1 active
sync
/dev/vdb8
#删除RAID,先删除RAID中的所有设备,然后停止该RAID
[root@mylinux ~]
# mdadm /dev/md1 --fail /dev/vdb12 --remove /dev/vdb12
mdadm:
set
/dev/vdb12
faulty
in
/dev/md1
mdadm: hot removed
/dev/vdb12
from
/dev/md1
[root@mylinux ~]
# mdadm /dev/md1 --fail /dev/vdb8 --remove /dev/vdb8
mdadm:
set
device faulty failed
for
/dev/vdb8
: Device or resource busy
[root@mylinux ~]
# mdadm --stop /dev/md1
mdadm: stopped
/dev/md1
[root@mylinux ~]
# mdadm --remove /dev/md1
mdadm: error opening
/dev/md1
: No such
file
or directory
[root@mylinux ~]
# rm -f /etc/mdadm.conf
|
4.3、LVM逻辑卷
LVM的全名是Logical Volume Manager,逻辑卷管理器。LVM 的做法是將几个分区(或disk)通过软件组合为物理卷 (VG),然后将物理卷分割为逻辑卷(LV),格式化后就可以挂载使用。lvm最大的优点是不再考虑物理磁盘的特性,中间架构了一层服务层,提供磁盘空间服务。
lvm中常用的术语:
Physical Media(PM)物理存储介质 系统的存储设备,硬盘或者硬盘上的分区,如/dev/sdb。 Physical Extend(PE)物理区域 每个物理卷被划分为大小相等的基本单元。物理区域是物理卷中可以用于分配的最小存储单元,物理区域大小一旦确定将不能修改,用一卷组中的所有物理卷的物理区域大小必须一致。 Physical Volume(PV)物理卷 硬盘分区或逻辑分区上与硬盘分区具有相同功能的设备,是lvm的基本存储逻辑块。和基本的物理存储介质(如分区、硬盘等)不同的是,它包含lvm管理参数。 Volume Group(VG)卷组lvm中最高抽象层,由一个或多个物理卷组成,一个逻辑卷管理系统可以只有一个卷组或多个。 Logical Extent(LE)逻辑区域 逻辑卷也被划分为被称为LE的可寻址的基本单元,在同一卷组中,LE的大小和PE相同,一一对应。 Logical Volume(LV)逻辑卷 逻辑卷建立在卷组之上,相当于非lvm系统中的分区,可以在其上建立文件系统,系统中的多个逻辑卷可以属于一个卷组,也可以属于多个不同的卷组。 |
lvm的创建流程:
物理卷的管理命令 PV:
pvcreate :将分区创建成为PV; -s:PE 大小 pvscan :搜寻目前系统里面任何具有 PV 的磁碟; pvdisplay :显示出目前系统上面的 PV 状态; pvremove:将 PV 属性移除,移除物理卷上的 PE; pvchange:设置PV的性能,允许或拒绝从这个磁盘上分配另外的PE; pvs:显示物理卷信息 |
卷组管理命令 VG:
vgcreate :创建 VG 的命令啦! 他的参数比较多, 等一下介绍。 vgscan :搜寻系统上面是否有 VG 存在 vgdisplay :显示目前系统上面的 VG 状态; vgextend :在 VG 内添加额外的 PV ; vgreduce :在 VG 内移除 PV; vgchange :配置 VG 是否启动 (active); vgremove:删除一个 VG |
逻辑卷管理命令 LV:
lvcreate : 创建 LV -L:空间大小 -n:lv 名称 lvscan : 查询系统上面的 LV ; lvdisplay : 显示系统上面的 LV 状态 lvextend : 在 LV 里面添加容量 lvreduce : 在 LV 里面减少容量 lvremove : 删除一个 LV lvresize : 对 LV 进行容量大小的调整 |
创建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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
[root@mylinux ~]
# fdisk -l #查看当前系统分区,使用vdb5/vdb6/vdb7创建lvm
Disk
/dev/vdb
: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors
/track
, 20805 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Sector size (logical
/physical
): 512 bytes / 512 bytes
I
/O
size (minimum
/optimal
): 512 bytes / 512 bytes
Disk identifier: 0x0009b4fd
Device Boot Start End Blocks Id System
/dev/vdb4
1 10404 5243584+ 5 Extended
/dev/vdb5
1 1017 512505 83 Linux
/dev/vdb6
1018 2034 512536+ 83 Linux
/dev/vdb7
2035 3051 512536+ 83 Linux
/dev/vdb8
3052 4068 512536+ 83 Linux
/dev/vdb9
4069 5085 512536+ 83 Linux
/dev/vdb10
5086 6102 512536+ 83 Linux
/dev/vdb11
6103 7119 512536+ 83 Linux
/dev/vdb12
7120 8136 512536+ 83 Linux
[root@mylinux ~]
# pvcreate /dev/vdb5 /dev/vdb6 #创建物理卷
WARNING: software RAID md superblock detected on
/dev/vdb5
. Wipe it? [y
/n
]: y
Wiping software RAID md superblock on
/dev/vdb5
.
Physical volume
"/dev/vdb5"
successfully created
WARNING: software RAID md superblock detected on
/dev/vdb6
. Wipe it? [y
/n
]: y
Wiping software RAID md superblock on
/dev/vdb6
.
Physical volume
"/dev/vdb6"
successfully created
[root@mylinux ~]
# pvdisplay #查看信息
"/dev/vdb5"
is a new physical volume of
"500.49 MiB"
--- NEW Physical volume ---
PV Name
/dev/vdb5
VG Name
PV Size 500.49 MiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID ZJYYan-p21n-stId-FI1X-v0Y5-OpbM-4n2ao0
"/dev/vdb6"
is a new physical volume of
"500.52 MiB"
--- NEW Physical volume ---
PV Name
/dev/vdb6
VG Name
PV Size 500.52 MiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID GF4F0H-xEA2-yX7m-Siss-cVBw-d8Mr-bhmBCZ
[root@mylinux ~]
# vgcreate vgroup /dev/vdb5 /dev/vdb6 #创建卷组,并取名
Volume group
"vgroup"
successfully created
[root@mylinux ~]
# vgdisplay vgroup #查看卷组信息
--- Volume group ---
VG Name vgroup
System ID
Format lvm2
Metadata Areas 2
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 2
Act PV 2
VG Size 992.00 MiB
PE Size 4.00 MiB
Total PE 248
Alloc PE / Size 0 / 0
Free PE / Size 248 / 992.00 MiB
VG UUID IUEkEt-0bsI-f9br-25Nc-qkLB-iJjd-evi0BD
[root@mylinux ~]
# lvcreate -n mylv -L 500M vgroup #基于卷组创建逻辑卷
Logical volume
"mylv"
created.
Cannot process volume group mylv
[root@mylinux ~]
# lvdisplay #查看逻辑卷信息
--- Logical volume ---
LV Path
/dev/vgroup/mylv
LV Name mylv
VG Name vgroup
LV UUID I3FcQQ-9Bk7-QU6s-KOi2-agQc-6BK9-HvpWGa
LV Write Access
read
/write
LV Creation host,
time
mylinux, 2017-04-17 15:49:34 +0800
LV Status available
# open 0
LV Size 500.00 MiB
Current LE 125
Segments 2
Allocation inherit
Read ahead sectors auto
- currently
set
to 256
Block device 253:0
[root@mylinux ~]
# vgs #查看vg信息
VG
#PV #LV #SN Attr VSize VFree
vgroup 2 1 0 wz--n- 992.00m 492.00m
[root@mylinux ~]
# pvs #查看pv信息
PV VG Fmt Attr PSize PFree
/dev/vdb5
vgroup lvm2 a--u 496.00m 0
/dev/vdb6
vgroup lvm2 a--u 496.00m 492.00m
[root@mylinux ~]
# mkfs.ext4 /dev/vgroup/mylv #格式化逻辑卷
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved
for
the super user
第一个数据块=1
Maximum filesystem blocks=67633152
63 block
groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@mylinux ~]
# mount /dev/vgroup/ /mnt/ #挂载使用
mount
: you must specify the filesystem
type
[root@mylinux ~]
# mount /dev/vgroup/mylv /mnt/
[root@mylinux ~]
# cd /mnt/
[root@mylinux mnt]
# ls
lost+found
|
删除逻辑卷
1、将逻辑卷使用的逻辑卷卸载,使用umount 2、逻辑卷删除,使用lvremove 3、删除卷组,使用vgremove 4、删除物理卷,使用pvremove |
拉伸逻辑卷
1、 先确定扩展的大小;并确保所属的卷组有足够的剩余空间 2、 扩展逻辑边界 |
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
|
[root@mylinux home]
# vgdisplay #查看卷组剩余容量
--- Volume group ---
VG Name vgroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 2
VG Access
read
/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 992.00 MiB
PE Size 4.00 MiB
Total PE 248
Alloc PE / Size 125 / 500.00 MiB
Free PE / Size 123 / 492.00 MiB
VG UUID IUEkEt-0bsI-f9br-25Nc-qkLB-iJjd-evi0BD
[root@mylinux home]
# lvs #当前卷组大小
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv vgroup -wi-ao---- 500.00m
[root@mylinux home]
# lvextend -L +200M /dev/vgroup/mylv #扩展200M
Size of logical volume vgroup
/mylv
changed from 500.00 MiB (125 extents) to 700.00 MiB (175 extents).
Logical volume mylv successfully resized.
[root@mylinux home]
# lvs #扩展后大小
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv vgroup -wi-ao---- 700.00m
[root@mylinux home]
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1
20G 4.1G 15G 22% /
/dev/mapper/vgroup-mylv
477M 2.3M 449M 1%
/mnt
[root@mylinux home]
# resize2fs /dev/vgroup/mylv #更新文件系统
resize2fs 1.41.12 (17-May-2010)
Filesystem at
/dev/vgroup/mylv
is mounted on
/mnt
; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 3
Performing an on-line resize of
/dev/vgroup/mylv
to 716800 (1k) blocks.
The filesystem on
/dev/vgroup/mylv
is now 716800 blocks long.
[root@mylinux home]
# df -h #扩展后,文件系统的大小
Filesystem Size Used Avail Use% Mounted on
/dev/vda1
20G 4.1G 15G 22% /
/dev/mapper/vgroup-mylv
670M 2.6M 633M 1%
/mnt
|
扩展卷组
1、 准备要添加的物理卷; 2、 扩展卷组,添加物理卷至卷组中 |
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
|
[root@mylinux mnt]
# pvcreate /dev/vdb7 #创建物理卷
WARNING: software RAID md superblock detected on
/dev/vdb7
. Wipe it? [y
/n
]: y
Wiping software RAID md superblock on
/dev/vdb7
.
Physical volume
"/dev/vdb7"
successfully created
[root@mylinux mnt]
# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb5
vgroup lvm2 a--u 496.00m 0
/dev/vdb6
vgroup lvm2 a--u 496.00m 292.00m
/dev/vdb7
lvm2 ---- 500.52m 500.52m
[root@mylinux mnt]
# vgextend vgroup /dev/vdb7 #添加至卷组
Volume group
"vgroup"
successfully extended
[root@mylinux mnt]
# vgdisplay #显示当前卷组大小
--- Volume group ---
VG Name vgroup
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 4
VG Access
read
/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 1.45 GiB
PE Size 4.00 MiB
Total PE 372
Alloc PE / Size 175 / 700.00 MiB
Free PE / Size 197 / 788.00 MiB
VG UUID IUEkEt-0bsI-f9br-25Nc-qkLB-iJjd-evi0BD
|
缩小逻辑卷
1、 卸载卷,并执行强制检测,逻辑卷的缩小必须离线执行 2、 缩减逻辑边界 缩小逻辑卷是危险操作,一般不要对逻辑卷进行缩小操作 |
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
|
[root@mylinux home]
# umount /mnt/ #卸载文件系统
[root@mylinux home]
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv vgroup -wi-a----- 700.00m
[root@mylinux home]
# resize2fs /dev/vgroup/mylv 500M #减小文件系统大小
resize2fs 1.41.12 (17-May-2010)
请先运行
'e2fsck -f /dev/vgroup/mylv'
.
[root@mylinux home]
# e2fsck -f /dev//vgroup/mylv #检查文件系统
e2fsck 1.41.12 (17-May-2010)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev//vgroup/mylv
: 12
/178816
files (0.0% non-contiguous), 33325
/716800
blocks
[root@mylinux home]
# resize2fs /dev/vgroup/mylv 500M
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on
/dev/vgroup/mylv
to 512000 (1k) blocks.
The filesystem on
/dev/vgroup/mylv
is now 512000 blocks long.
[root@mylinux home]
# lvreduce -L -200M /dev/vgroup/mylv #减小逻辑卷大小
WARNING: Reducing active logical volume to 500.00 MiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vgroup
/mylv
? [y
/n
]: y
Size of logical volume vgroup
/mylv
changed from 700.00 MiB (175 extents) to 500.00 MiB (125 extents).
Logical volume mylv successfully resized.
[root@mylinux home]
# lvs #缩减之后的大小
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
mylv vgroup -wi-a----- 500.00m
|
缩小卷组
卷组: 1、 确定要移除的物理卷的总空间大小,要小于 VG 当前的可用空间大小; 2、 将要移除的物理卷上的所有 PE 移动至其它 PV 3、 缩减 vg |
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
|
[root@mylinux home]
# pvs #查看当前pv
PV VG Fmt Attr PSize PFree
/dev/vdb5
vgroup lvm2 a--u 496.00m 0
/dev/vdb6
vgroup lvm2 a--u 496.00m 492.00m
/dev/vdb7
vgroup lvm2 a--u 496.00m 496.00m
[root@mylinux home]
# pvmove /dev/vdb6 #移出vdb6上的pe
/dev/vdb6
: Moved: 0.0%
/dev/vdb6
: Moved: 100.0%
[root@mylinux home]
# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb5
vgroup lvm2 a--u 496.00m 0
/dev/vdb6
vgroup lvm2 a--u 496.00m 496.00m
/dev/vdb7
vgroup lvm2 a--u 496.00m 492.00m
[root@mylinux home]
# vgreduce vgroup /dev/vdb6 #从指定卷组上移除一个pv
Removed
"/dev/vdb6"
from volume group
"vgroup"
[root@mylinux home]
# vgdisplay
--- Volume group ---
VG Name vgroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 9
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 992.00 MiB
PE Size 4.00 MiB
Total PE 248
Alloc PE / Size 125 / 500.00 MiB
Free PE / Size 123 / 492.00 MiB
VG UUID IUEkEt-0bsI-f9br-25Nc-qkLB-iJjd-evi0BD
[root@mylinux home]
# pvremove /dev/vdb6 #删除pv
Labels on physical volume
"/dev/vdb6"
successfully wiped
[root@mylinux home]
# pvs
PV VG Fmt Attr PSize PFree
/dev/vdb5
vgroup lvm2 a--u 496.00m 0
/dev/vdb7
vgroup lvm2 a--u 496.00m 492.00m
|
4.4、快照卷
快照卷是逻辑卷的一种,快照就是将当时的系统资讯记录下来,就好像照相记录一般!未来若有
任何数据更动了,则原始数据会被搬移到快照区,没有被更动的区域则由快照区与文件系统共享。
快照卷属性要求:
1、生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;
2、快照卷应该是只读的;
3、跟原卷在同一卷组内。
快照卷命令:
lvcreate -s -L SIZE -n SLV_NAME -p r /PATH/TO/LV
-s :创建快照卷
-p r:限制为只读访问
快照卷是对某逻辑卷进行的,因此必须跟目标逻辑卷在同一个卷组中;无须指明卷组。
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
|
[root@mylinux mnt]
# mount /dev/vgroup/mylv /mnt/lvm
[root@mylinux mnt]
# cd lvm
[root@mylinux lvm]
# cp /etc/fstab .
[root@mylinux lvm]
# cp /etc/passwd .
[root@mylinux lvm]
# ls #原逻辑卷中的文件
fstab lost+found
passwd
[root@mylinux lvm]
# lvcreate -s -L 200M -n snap_lvm -p r /dev/vgroup/mylv #创建快照卷
Logical volume
"snap_lvm"
created.
[root@mylinux lvm]
# mount /dev/vgroup/snap_lvm /mnt/lvm_back/ #挂载
mount
: block device
/dev/mapper/vgroup-snap_lvm
is write-protected, mounting
read
-only
[root@mylinux mnt]
# cd /mnt/lvm #查看快照卷中的文件
[root@mylinux lvm]
# ls
fstab lost+found
passwd
[root@mylinux lvm]
# cd /mnt/lvm #原逻辑卷中操作
[root@mylinux lvm]
# cp /etc/gr
group group- grub.conf
[root@mylinux lvm]
# cp /etc/grub.conf .
[root@mylinux lvm]
# ls /mnt/lvm
fstab grub.conf lost+found
passwd
[root@mylinux lvm]
# ls /mnt/lvm_back/ #快照卷中不产生新增的文件
fstab lost+found
passwd
[root@mylinux mnt]
# cd lvm_back/
[root@mylinux lvm_back]
# tar -cvj -f /backups/lvm.tar.bz2 * #备份快照卷中的文件
fstab
lost+found/
passwd
[root@mylinux lvm_back]
# cd ..
[root@mylinux mnt]
# umount /mnt/lvm_back/ #卸载快照卷
[root@mylinux mnt]
# lvremove /dev/vgroup/snap_lvm #删除快照卷
Do you really want to remove active logical volume snap_lvm? [y
/n
]: y
Logical volume
"snap_lvm"
successfully removed
[root@mylinux mnt]
# umount /mnt/lvm #卸载原逻辑卷
[root@mylinux mnt]
# lvremove /dev/vgroup/mylv #删除逻辑卷,文件丢失
Do you really want to remove active logical volume mylv? [y
/n
]: y
Logical volume
"mylv"
successfully removed
[root@mylinux mnt]
# lvcreate -n mylv -L 500M vgroup #创建逻辑卷
Logical volume
"mylv"
created.
[root@mylinux mnt]
# mkfs
mkfs mkfs.ext2 mkfs.ext4
mkfs.cramfs mkfs.ext3 mkfs.ext4dev
[root@mylinux mnt]
# mkfs.ext4
mkfs.ext4 mkfs.ext4dev
[root@mylinux mnt]
# mkfs.ext4 /dev/vgroup/mylv
mke2fs 1.41.12 (17-May-2010)
文件系统标签=
操作系统:Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128016 inodes, 512000 blocks
25600 blocks (5.00%) reserved
for
the super user
第一个数据块=1
Maximum filesystem blocks=67633152
63 block
groups
8192 blocks per group, 8192 fragments per group
2032 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
This filesystem will be automatically checked every 39 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
[root@mylinux mnt]
# mount /dev/vgroup/mylv /mnt/lvm #挂载
[root@mylinux mnt]
# tar -xjv -f /backups/lvm.tar.bz2 -C /mnt/lvm #还原备份的文件
fstab
lost+found/
passwd
[root@mylinux mnt]
# cd /mnt/lvm
[root@mylinux lvm]
# ls
fstab lost+found
passwd
|