linux逻辑卷

简介: lvm的一些基本操作

部署逻辑卷

常见的lvm部署命令

功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展 vgextend lvextend
缩小 vgreduce lvreduce

让添加的硬盘支持lvm技术

pvcreate /dev/sdb /dev/sdc

Physical volume "/dev/sdb" successfully created
Physical volume "/dev/sdc" successfully created

创建卷组 juanzu1,并将两块硬盘添加进去,然后查看卷组的状态

[root@bogon ~]# vgcreate juanzu1 /dev/sdb /dev/sdc
  Volume group "juanzu1" successfully created
[root@bogon ~]# vgdisplay juanzu1 
  --- Volume group ---
  VG Name               juanzu1
  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               19.99 GiB
  PE Size               4.00 MiB
  Total PE              5118
  Alloc PE / Size       0 / 0   
  Free  PE / Size       5118 / 19.99 GiB
  VG UUID               tCEC2h-jBO1-TrJ1-uFXt-VSLn-C3Ua-c5hfxm
  
#如何修改    PE Size(逻辑卷扩缩容的基本单位)
vgcreate -s 16M    卷组名 /dev/sd(a1,b1)    #创建的时候就指定PE Size

切割出一个150mb的逻辑卷设备

注意切割单位的问题,在对逻辑卷切割时有两种计量单位,

容量为单位使用 -L (- l +100%FREE #把剩余的容量都用光)

基本单元的个数为单位使用 -l(每个单元大小默认是4mb)

[root@bogon ~]# lvcreate -n aa -l 37 juanzu1
  Logical volume "aa" created
#在卷组juanzu1 创建一个名为aa的逻辑卷,大小是4*37
#把生成的逻辑卷进行格式化,然后挂载目录使用
#Linux系统会把LVM中的逻辑卷设备存放在/dev设备目录中(实际上是做了一个符号链接),同时会以卷组的名称来建立一个目录,其中保存了逻辑卷的设备映射文件(即/dev/卷组名称/逻辑卷名称)
[root@bogon ~]# mkfs.xfs /dev/juanzu1/aa 
meta-data=/dev/juanzu1/aa        isize=256    agcount=4, agsize=9472 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
。。。。。。
[root@bogon ~]# mount /dev/juanzu1/aa /raid5/
[root@bogon ~]# df -h
/dev/mapper/juanzu1-aa  145M  7.6M  138M   6% /raid5
[root@bogon ~]# echo "/dev/storage/vo /linuxprobe ext4 defaults 0 0" >> /etc/fstab

###xfs
lvcreate  -n xfs -l 25 juanzu1
mkfs.xfs /dev/juanzu1/xfs
mount /dev/juanzu1/xfs  /xfs
物理卷扩容
pvcrate /dev/新分区    #把新的分区加入到逻辑卷中
vgextend 卷组名 /dev/新分区
lvextend -L 24G    /dev/vg0/lv0        #把lv0 扩展到24g -L 扩展到多大 (mb gb为单位)
lvextend -l pe_size /dev/vg0/lv0    #把lv0 增加多少空间 -l增加多少 (pe_size为单位)

resize2fs /dev/vg0/lv0    #把刚加入卷的空间格式化为和原来空间一样的文件系统

lvextend -r -l +100%FREE /dev/vg0/lv0     #  -r=resize2fs /dev/vg0/lv0
df -h
部署逻辑卷xfs

pvcreate /dev/sdb /dev/sdc

vgcreate juanzu /dev/sdb /dev/sdc

lvcreate -n xfs_test -L 50m juanzu

mkfs.xfs /dev/juanzu/xfs_test

扩大逻辑卷xfs,xfs逻辑卷无法缩小
[root@bogon /]# lvextend -L 200m /dev/juanzu/xfs 
  Extending logical volume xfs to 200.00 MiB
  Logical volume xfs successfully resized

[root@bogon /]# xfs_growfs /dev/juanzu/xfs -D BLOCK块
......
data blocks changed from 51200 to 64000


[root@bogon /]# xfs_growfs /挂载点#刷新分区空间
lvextend -r -l +100%FREE /dev/juanzu/xfs 
扩容逻辑卷ext4

扩展前请一定要记得卸载设备和挂载点的关联

[root@bogon ~]# umount /raid5/

把上一个实验的150mb的逻辑卷扩容到300mb

lvextend -L 300mb /dev/juanjuz1/aa

检查硬盘完整性,并重置硬盘容量

##检查硬盘被扩容好了没有
[root@bogon ~]# e2fsck -f /dev/juanzu1/aa
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/juanzu1/aa: 11/25688 files (9.1% non-contiguous), 8896/102400 blocks

##重置硬盘容量
[root@bogon ~]# resize2fs /dev/juanzu1/aa 
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/juanzu1/aa to 155648 (1k) blocks.
The filesystem on /dev/juanzu1/aa is now 155648 blocks long.

#重新挂载查看挂载属性
/dev/mapper/juanzu1-aa   144M  1.6M  132M   2% /ext4
缩小逻辑卷ext4

1,先解除挂载

2,e2fsck -f /dev/卷组/逻辑卷 #检查文件系统的完整性

3,resize2fs /dev/卷组/逻辑卷 120M #缩小逻辑卷到120m(不能带b)

​ lvreduce -L 120M /dev/卷组/逻辑卷

4,重新挂载并查看挂载属性

逻辑卷快照

快照卷的容量必须等于逻辑卷的容量

快照卷仅有效一次,执行还原操作后会被立即删除

1,先看卷组的信息

​ vgdisplay

2,利用重定向往逻辑设备挂载的目录写入一个文件

​ echo "Welcome to liyang.com" > /挂载目录/readme.txt

3,使用-s参数生成一个快照卷,使用-L参数指定切割的大小,还需在命令后加上针对那个逻辑卷的操作

​ lvcreate -L 120M -s -n 快照名称 /dev/卷组/逻辑卷

lvcreate -n 快照名称 -L 快照大小(2G) -s -p r(只读) /dev/卷组、逻辑卷

4,在逻辑卷中写入数据

​ dd if=/dev/zero of=/linuxprobe/files count=1 bs=100M

5,执行还原操作

​ 1,先解除挂载

​ 2,lvconvert --merge /dev/卷组/快照名称

​ 3,重新挂载逻辑卷,并看挂载信息

删除逻辑卷

1,解除挂载

2,lvremove /dev/卷组/逻辑卷 #删除逻辑卷

删除卷组

vgremove 卷名

删除物理卷设备

pvremove /dev/sdb /dev/sdc

跨主机迁移卷组
#旧主机
pvcreate /dev/sde                #添加硬盘支持lvm
vgcreate vg0 /dev/sde            #创建卷组“vg0",并加入硬盘
vgdisplay vg0                    #查看卷组vg0
lvcreate -l 100%FREE -n lv0 vg0    #在卷组vg0上,创建逻辑卷lv0,-l使用全部的空间    
mkfs.ext4 /dev/vg0/lv0            #格式化硬盘,并创建文件系统
mount /dev/vg0/lv0 /test        #挂载
cp -av /root/* /test/            #拷贝测试文件
umount /test                    #解除挂载
vgrename vg0 vg100                #防止本机逻辑卷迁移到新主机上重名,改一下名字
lvrename /dev/vg100/lv0 /dev/vg100/lv100    #同上改名
vgchange -an vg100                 #禁用逻辑卷组vg100
vgexport vg100                    #导出卷组

#新主机
echo '- - -' > /sys/class/scsi_host/host0/scan    #重新读取硬盘挂载数据
vgimport vg100                     #导入卷组vg100
vgchange -ay vg100                #启用逻辑卷组vg100
mount /dev/vg100/lv100 /test    #挂载lvm,并且查看刚才的测试文件是否存在

实验报错

[root@localhost ~]# mdadm /dev/md0 -a /dev/sdc
mdadm: Cannot open /dev/sdc: Device or resource busy

解决方法1:重启服务器

[root@localhost ~]# mdadm /dev/md0 -a /dev/sdc
mdadm: added /dev/sdc

扩展分区报错:

[root@bogon ~]# xfs_growfs -L 300MB /dev/juanzu1/aa
xfs_growfs: /dev/juanzu1/aa is not a mounted XFS filesystem

目录
相关文章
|
2月前
|
Linux
47. 【Linux教程】逻辑卷的简单使用
47. 【Linux教程】逻辑卷的简单使用
17 0
|
2月前
|
存储 Linux 存储虚拟化
46. 【Linux教程】逻辑卷与 LVM 介绍
46. 【Linux教程】逻辑卷与 LVM 介绍
21 0
|
3月前
|
存储 固态存储 Linux
|
11月前
|
Linux
Linux逻辑卷LVM和磁盘配额
Linux逻辑卷LVM和磁盘配额
47 0
|
Linux KVM 虚拟化
【Linux系统KVM虚拟机实战】LVM逻辑卷之扩展Swap交换分区
【Linux系统KVM虚拟机实战】LVM逻辑卷之扩展Swap交换分区
238 1
|
Linux
Linux系统之创建逻辑卷
Linux系统之创建逻辑卷
151 0
|
5G Linux
Linux逻辑卷管理LVM
目前我们用的物理磁盘有内存限制,当我们把磁盘占满了,如果将文件放在其他磁盘对于以后的维护很是麻烦,单靠物理磁盘是无法解决空间增长的问题的这个时候逻辑卷就起到了很重要的作用,这篇文章的学习目标是,了解逻辑卷的优势特点,学会如何创建逻辑卷并且扩展逻辑卷。
171 0
|
存储 运维 Oracle
Linux系统管理--硬盘、卷组、逻辑卷和文件系统
增加两个20GB的硬盘,注意新增加的硬盘不能取代原来安装了操作系统的0号硬盘,不然无法启动。
114 0
Linux command lvextend 扩展逻辑卷设备
Linux command lvextend 扩展逻辑卷设备
Linux command lvextend 扩展逻辑卷设备
|
Linux
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(二)
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(二)
87 0
Linux中的LVM逻辑卷管理(你真可爱,我说时来不及思索,而思索之后,还是这样说)(二)