Linux 逻辑卷 pp,51CTO博客-专业IT技术博客创作平台-技术成就梦想

Lvm逻辑卷

接上篇来说,我们知道在linux下处理有RAID0,1 ,4,5,6,,10 ,还有LV(logical volume)可扩展收缩卷,linux上叫LVM 逻辑卷管理器。大家有没想过这个问题,当们的存储设备的空间已经全部存储满了,我们该咋办?呵呵,在这里我们的LVM逻辑卷的优势就体现的淋漓尽致了,LVM具有几乎无限扩展的能力。下面我们来简单分析下LVM 的数据存储体系结构,

a26b686a39adc676092f426efac6e7dd.gif

创建逻辑卷的总体上大致可以步骤分为三步

1. 将pp块设备为转化成pv物理卷

2. 将pv物理卷添加到vg卷组

3. 将vg卷组转化为lv逻辑卷

下面我们先来学习一下他的命令用法和格式

Pv pvcreate -v device(/dev/sda5) 将pv块设备化成物理卷

Pvdisplay /dev/sda5 查看结果

Pvscan 在系统的任何磁盘中搜索已经存在的物理卷

Vg vgcreate vol1 /dev/sda5

-l 指定最大有几个逻辑卷

-p 指定最大有几个物理块设备

-s 设定PE的大小

vgextend vol1(要添加的卷组的名称) /dev/sda6(pv物理卷)

vgreduce -a 移除空的或者好的物理卷

--removemissing 移除丢失的或者坏的物理卷

Vgs vol1 显示卷ixnxi

Vgexport vol1 隐藏(不活动时才行)

Vgimport vol1 显示

Vgchange -l 更改vg设定的属性指定最大有几个逻辑卷

-p 更改vg指定最大有几个物理块设备

-s 这里调用-s来改变vg属性!!!!

Vgscan vol1 扫描卷组

Lv

Lvcreate -L 100M -n lv1 vol1

-m 镜像卷

-i 条带卷

-p 指定权限

-L 指定大小

-s 创建snapshot快照

-n 指定名字

Lvextend -L +100M|100M /dev/vol1/lv1

Lvreduce -L -100M|100M /dev/vol1/lv1

Lvscan

Lvrename 卷组名 就逻辑卷名 新逻辑卷名

下面我们就一个具体的案例来深刻理解下个命令的用法

新建两个空间均为512M的物理卷,并以之创建卷组myvol1;(格式化?)

新建逻辑卷lvm1,大小为300M,并要求其开机挂载至/share目录;

新建目录/share/test,设置其所属组为oinstall;

扩展逻辑卷lvm1的大小至500M,要求不能损坏其中的文件;

收缩逻辑卷lvm1的大小至200M,要求不能损坏其中的文件;

为此卷创建snapshot,名称为lvm1snap;

1. 新建两个512M的物理卷组,并创建卷组myvol

[root@station23 ~]# fdisk /dev/sda

Device Boot Start End Blocks Id System

/dev/sda1 * 1 13 104391 83 Linux

/dev/sda2 14 2308 18434587+ 8e Linux LVM

/dev/sda3 2309 2373 522112+ 82 Linux swap / Solaris

/dev/sda4 2374 15665 106767990 5 Extended

/dev/sda5 2374 2436 506016 8e Linux LVM

/dev/sda6 2437 2499 506016 8e Linux LVM

这里我们分别建立两个物理卷/dev/sda5 /dev/sda6,这里的格式必须为linux LVM格式

[root@station23 ~]# partprobe 重新读取分区信息,使之立即生效

[root@station23 ~]# pvcreate -v /dev/sda5 /dev/sda6 创建物理分区

Set up physical volume for "/dev/sda5" with 1012032 available sectors

Zeroing start of device /dev/sda5

Physical volume "/dev/sda5" successfully created

Set up physical volume for "/dev/sda6" with 1012032 available sectors

Zeroing start of device /dev/sda6

Physical volume "/dev/sda6" successfully created

[root@station23 ~]# pvdisplay 查看物理卷创建情况

"/dev/sda5" is a new physical volume of "494.16 MB"

--- NEW Physical volume ---

PV Name /dev/sda5

VG Name

PV Size 494.16 MB

Allocatable NO

PE Size (KByte) 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID 32M1nK-NB3O-D3NM-IaKg-d83f-75XL-2xdhte

"/dev/sda6" is a new physical volume of "494.16 MB"

--- NEW Physical volume ---

PV Name /dev/sda6

VG Name

PV Size 494.16 MB

Allocatable NO

PE Size (KByte) 0

Total PE 0

Free PE 0

Allocated PE 0

PV UUID 3k3i3x-6MAs-cX5j-tXJY-790Y-JDCr-PQoI8c

创建卷组myvol1

[root@station23 ~]# vgcreate myvol1 /dev/sda5 /dev/sda6

Volume group "myvol1" successfully created

[root@station23 ~]# vgdisplay myvol1 查看卷组创建情况

--- Volume group ---

VG Name myvol1

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 984.00 MB

PE Size 4.00 MB

Total PE 246

Alloc PE / Size 0 / 0

Free PE / Size 246 / 984.00 MB

VG UUID BDI2wz-XPuu-hZan-VpIu-H6tg-3zTk-Vhyu2x

创建逻辑卷lvm1 大小为300M

[root@station23 ~]# lvcreate -L 300M -n lvm1 myvol1

Logical volume "lvm1" created

[root@station23 ~]# lvdisplay lvm1 这里失败的原因的没写全路径

Volume group "lvm1" not found

[root@station23 ~]# lvdisplay /dev/myvol1/lvm1

--- Logical volume ---

LV Name /dev/myvol1/lvm1

VG Name myvol1

LV UUID 15mVY6-82LS-B39d-663P-Xrlf-p3Ju-cy3Mzp

LV Write Access read/write

LV Status available

# open 0

LV Size 300.00 MB

Current LE 75

Segments 1

Allocation inherit

Read ahead sectors auto

- currently set to 256

Block device 253:2

[root@station23 ~]# mkfs -t ext3 /dev/myvol1/lvm1 格式化lvm1为ext3

mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

76912 inodes, 307200 blocks

15360 blocks (5.00%) reserved for the super user

First data block=1

Maximum filesystem blocks=67633152

38 block groups

8192 blocks per group, 8192 fragments per group

2024 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done

Creating journal (8192 blocks): done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 31 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.

[root@station23 ~]# mkdir -p /share/test 创建/share/test文件

[root@station23 ~]# vim /etc/fstab 设置lvm1 开机自动挂载

/dev/myvol1/lvm1 /share/test ext3 defaults 0 0

~

~

"/etc/fstab" 9L, 656C written 9,47-75 All

新建目录/share/test,设置其所属组为oinstall

[root@station23 /]# mkdir /share/test

[root@station23 /]# chown -R :oinstall /share

[root@station23 /]# ls -ld /share/test/

drwxr-xr-x 2 root oinstall 1024 Feb 25 12:39 /share/test/

[root@station23 /]# ls -ld /share

drwxr-xr-x 4 root oinstall 1024 Feb 25 12:39 /share

[root@station23 ~]# mount /dev/myvol1/lvm1 /share 挂载lvm1至/share目录下

扩展逻辑卷lvm1的大小至500M,要求不能损坏其中的文件;

[root@station23 test]# touch aa 新建aa文件,用于测试是否损坏了文件

[root@station23 test]# lvextend -L 500M /dev/myvol1/lvm1 /扩展lv逻辑卷500M 区分+500M

Extending logical volume lvm1 to 500.00 MB

Logical volume lvm1 successfully resized 成功标志

[root@station23 test]# resize2fs /dev/myvol1/lvm1 重新定义lv大小,这步一定不能少resize2fs 1.39 (29-May-2006)

Filesystem at /dev/myvol1/lvm1 is mounted on /share; on-line resizing required

Performing an on-line resize of /dev/myvol1/lvm1 to 512000 (1k) blocks.

The filesystem on /dev/myvol1/lvm1 is now 512000 blocks long.

[root@station23 test]# ls aa文件依然存在,扩展成功

aa

收缩逻辑卷lvm1的大小至200M,要求不能损坏其中的文件;

[root@station23 test]# umount /dev/myvol1/lvm1 失败原因,在挂载目录

umount: /share: device is busy

umount: /share: device is busy

[root@station23 test]# cd

[root@station23 ~]# umount /dev/myvol1/lvm1 收缩逻辑卷时一定要先卸载

[root@station23 ~]# e2fsck -f /dev/myvol1/lvm1 e2fsck 1.39 (29-May-2006)

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/myvol1/lvm1: 13/127512 files (7.7% non-contiguous), 26640/512000 blocks

[root@station23 ~]#resize2fs /development/myvol1/lvm1 200M

[root@station23 ~]# lvreduce -L 200M /dev/myvol1/lvm1 收缩至200M 区分-200M

WARNING: Reducing active logical volume to 200.00 MB

THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce lvm1? [y/n]: y

Reducing logical volume lvm1 to 200.00 MB

Logical volume lvm1 successfully resized

[root@station23 ~]# cd /share

[root@station23 share]# ls

test

[root@station23 share]# cd

[root@station23 ~]# mount /dev/myvol1/lvm1 /share

[root@station23 ~]# cd /share/

[root@station23 share]# ls

lost+found test

[root@station23 share]# cd test/

[root@station23 test]# ls 查看是否损坏文件

aa

[root@station23 test]#

为此卷创建snapshot,名称为lvm1snap;

[root@station23 test]# lvcreate -L 100M -s -p r -n lvm1snapshot /dev/myvol1/lvm1

Logical volume "lvm1snapshot" created

Ok

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值