添加 磁盘/lvm.md
This commit is contained in:
206
磁盘/lvm.md
Normal file
206
磁盘/lvm.md
Normal file
@@ -0,0 +1,206 @@
|
||||
## 基础
|
||||
### 物理卷(pvcreate)
|
||||
```
|
||||
[root@localhost ~]# pvcreate /dev/sdb[1-3] # 将分区创建为物理卷
|
||||
Physical volume "/dev/sdb1" successfully created
|
||||
Physical volume "/dev/sdb2" successfully created
|
||||
Physical volume "/dev/sdb3" successfully created
|
||||
[root@localhost ~]# pvcreate /dev/sdc # 将硬盘创建为物理卷
|
||||
Physical volume "/dev/sdc" successfully created
|
||||
[root@localhost ~]# pvs # 查看创建的物理卷
|
||||
PV VG Fmt Attr PSize PFree
|
||||
/dev/sdb1 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdb2 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdb3 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdc myvg lvm2 a- 20.00G 20.00G
|
||||
```
|
||||
|
||||
### 卷组(vgcreate)
|
||||
```
|
||||
[root@localhost ~]# vgcreate myvg /dev/sdb[1-3] /dev/sdc
|
||||
Volume group "myvg" successfully created
|
||||
[root@localhost ~]# vgs
|
||||
VG #PV #LV #SN Attr VSize VFree
|
||||
myvg 4 0 0 wz--n- 25.60G 25.60G
|
||||
[root@localhost ~]#
|
||||
[root@localhost ~]# vgdisplay
|
||||
--- Volume group ---
|
||||
VG Name myvg #卷组名
|
||||
System ID
|
||||
Format lvm2
|
||||
Metadata Areas 4
|
||||
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 4
|
||||
Act PV 4
|
||||
VG Size 25.60 GB
|
||||
PE Size 4.00 MB #物理盘的基本单位:默认4MB
|
||||
Total PE 6553
|
||||
Alloc PE / Size 0 / 0
|
||||
Free PE / Size 6553 / 25.60 GB
|
||||
VG UUID wuNBgb-tP95-pVoX-ehHw-cMfN-hyem-PNMqwe
|
||||
[root@localhost ~]#
|
||||
```
|
||||
|
||||
### 逻辑卷(lvcreate)
|
||||
``` shell
|
||||
[root@localhost ~]# lvcreate -L 2G -n mylv1 myvg #创建逻辑卷
|
||||
Logical volume "mylv1" created
|
||||
[root@localhost ~]# lvs #查看逻辑卷
|
||||
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
|
||||
mylv1 myvg -wi-a- 2.00G
|
||||
```
|
||||
|
||||
## 运维操作
|
||||
### 扩大卷组
|
||||
```
|
||||
[root@localhost ~]# pvcreate /dev/sdd #将新硬盘/sdd加入物理卷中
|
||||
Physical volume "/dev/sdd" successfully created
|
||||
[root@localhost ~]# pvs #查看物理卷
|
||||
/dev/cdrom: open failed: No medium found
|
||||
PV VG Fmt Attr PSize PFree
|
||||
/dev/sdb1 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdb2 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdb3 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdc myvg lvm2 a- 20.00G 18.00G
|
||||
/dev/sdd myvg lvm2 a- 20.00G 20.00G
|
||||
[root@localhost ~]#
|
||||
[root@localhost ~]# vgextend myvg /dev/sdd #扩展卷组
|
||||
Volume group "myvg" successfully extended
|
||||
[root@localhost ~]# vgs #查看新增加的卷组
|
||||
VG #PV #LV #SN Attr VSize VFree
|
||||
myvg 5 1 0 wz--n- 45.59G 43.59G
|
||||
[root@localhost ~]#
|
||||
```
|
||||
### 扩大逻辑卷 (支持在线扩展)
|
||||
```
|
||||
# 扩展 2G 空间
|
||||
[root@localhost mydata]# lvextend -L +2G /dev/myvg/mylv1
|
||||
Extending logical volume mylv1 to 4.00 GB
|
||||
Logical volume mylv1 successfully resized
|
||||
# 扩展空闲所有
|
||||
[root@localhost mydata]# lvextend -l +100%FREE /dev/myvg/mylv1
|
||||
|
||||
# ext4 文件系统
|
||||
[root@localhost mydata]# resize2fs -p /dev/myvg/mylv1
|
||||
|
||||
# xfs 格式文件系统
|
||||
[root@localhost mydata]# xfs_growfs -f /dev/myvg/mylv1
|
||||
|
||||
[root@localhost mydata]# lvs
|
||||
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
|
||||
mylv1 myvg -wi-ao 4.00G
|
||||
```
|
||||
|
||||
### 缩减逻辑卷
|
||||
- 不能在线缩减,得先卸载
|
||||
- 确保缩减后的空间大小依然能存储原有的所有数据
|
||||
|
||||
```
|
||||
# 将/dev/myvg/mylv1 缩减到1G
|
||||
# ext4
|
||||
[root@localhost ~]# umount /dev/myvg/mylv1 #卸载分区
|
||||
[root@localhost ~]# e2fsck -f /dev/myvg/mylv1 #强制检查文件系统
|
||||
[root@localhost ~]# resize2fs /dev/myvg/mylv1 1G #缩减逻辑大小
|
||||
[root@localhost ~]# lvreduce -L 1G /dev/myvg/mylv1 #缩减物理边界大小
|
||||
|
||||
# xfs
|
||||
[root@localhost ~]# umount /dev/myvg/mylv1 #卸载分区
|
||||
[root@localhost ~]#
|
||||
|
||||
[root@localhost ~]# lvs #查看逻辑卷
|
||||
/dev/cdrom: open failed: No medium found
|
||||
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
|
||||
mylv1 myvg -wi-ao 1.00G
|
||||
[root@localhost ~]# mount /dev/myvg/mylv1 /mydata
|
||||
```
|
||||
|
||||
### 缩减磁盘空间
|
||||
发现物理磁盘空间使用不足,将其中一块硬盘或分区拿掉。
|
||||
|
||||
```
|
||||
[root@localhost ~]# pvs
|
||||
/dev/cdrom: open failed: No medium found
|
||||
PV VG Fmt Attr PSize PFree
|
||||
/dev/sdb1 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdb2 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdb3 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdc myvg lvm2 a- 20.00G 19.00G
|
||||
/dev/sdd myvg lvm2 a- 20.00G 20.00G
|
||||
[root@localhost ~]#
|
||||
[root@localhost ~]# pvmove /dev/sdb1
|
||||
No data to move for myvg
|
||||
[root@localhost ~]# vgreduce myvg /dev/sdb1
|
||||
Removed "/dev/sdb1" from volume group "myvg"
|
||||
root@localhost ~]# pvremove /dev/sdb1
|
||||
Labels on physical volume "/dev/sdb1" successfully wiped
|
||||
[root@localhost ~]# pvs
|
||||
/dev/cdrom: open failed: No medium found
|
||||
PV VG Fmt Attr PSize PFree
|
||||
/dev/sdb2 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdb3 myvg lvm2 a- 1.87G 1.87G
|
||||
/dev/sdc myvg lvm2 a- 20.00G 19.00G
|
||||
/dev/sdd myvg lvm2 a- 20.00G 20.00G
|
||||
[root@localhost ~]#
|
||||
```
|
||||
|
||||
### 实现快照,进行备份还原
|
||||
在/mnt/lvm目录上,我们将原始的目录文件进行快照,然后将/mydata目录中的内容清空,并进行还原。
|
||||
|
||||
```
|
||||
[root@localhost ~]# cd /mydata/
|
||||
[root@localhost mydata]# ls
|
||||
index.html lost+found
|
||||
[root@localhost mydata]# cat index.html
|
||||
test
|
||||
[root@localhost mydata]# lvcreate -L 30M -n backup -s -p r /dev/myvg/mylv1 #-L 快照大小 –n:快照名称 –p 权限只读 –s 创建快照
|
||||
Rounding up size to full physical extent 32.00 MB
|
||||
Logical volume "backup" created
|
||||
[root@localhost mydata]# ll
|
||||
total 20
|
||||
-rw-r--r-- 1 root root 5 Jun 28 01:04 index.html
|
||||
drwx------ 2 root root 16384 Jun 28 00:47 lost+found
|
||||
[root@localhost mydata]# mkdir /tmp/backup #创建挂载目录
|
||||
[root@localhost mydata]# mount /dev/myvg/backup /tmp/backup/ #挂载
|
||||
mount: block device /dev/myvg/backup is write-protected, mounting read-only
|
||||
[root@localhost mydata]# cd /tmp/backup/
|
||||
[root@localhost backup]# ls
|
||||
index.html lost+found
|
||||
[root@localhost backup]# mkdir /tmp/lvmbackup #创建备份目录
|
||||
[root@localhost backup]# tar jcf /tmp/lvmbackup/sandy.tar.bz2 index.html #打包并压缩文件
|
||||
[root@localhost backup]# cd ..
|
||||
[root@localhost tmp]# cd lvmbackup/
|
||||
[root@localhost lvmbackup]# ls #查看备份
|
||||
sandy.tar.bz2
|
||||
[root@localhost lvmbackup]# cd /mydata/
|
||||
[root@localhost mydata]# ll
|
||||
total 20
|
||||
-rw-r--r-- 1 root root 5 Jun 28 01:04 index.html
|
||||
drwx------ 2 root root 16384 Jun 28 00:47 lost+found
|
||||
[root@localhost mydata]# rm -rf * #删除所有文件
|
||||
[root@localhost mydata]#
|
||||
[root@localhost mydata]# ll
|
||||
total 0
|
||||
[root@localhost mydata]# tar xf /tmp/lvmbackup/sandy.tar.bz2 #还原备份数据
|
||||
[root@localhost mydata]# ll
|
||||
total 4
|
||||
-rw-r--r-- 1 root root 5 Jun 28 01:04 index.html
|
||||
[root@localhost mydata]# cat index.html
|
||||
test
|
||||
[root@localhost mydata]# df -h
|
||||
Filesystem Size Used Avail Use% Mounted on
|
||||
/dev/sda2 9.5G 1.8G 7.2G 21% /
|
||||
/dev/sda3 4.8G 138M 4.4G 4% /data
|
||||
/dev/sda1 251M 17M 222M 7% /boot
|
||||
tmpfs 60M 0 60M 0% /dev/shm
|
||||
/dev/mapper/myvg-mylv1
|
||||
1008M 67M 901M 7% /mydata
|
||||
/dev/mapper/myvg-mylv1
|
||||
1008M 67M 901M 7% /tmp/backup
|
||||
[root@localhost mydata]#
|
||||
```
|
||||
Reference in New Issue
Block a user