unit5~~使用逻辑卷管理器管理灵活存储

1.LVM逻辑卷的创建

为什么使用逻辑卷
• 逻辑卷和逻辑卷管理有助于更加轻松地管理
磁盘空间。如果文件系统需要更多的空间 ,
可以将其卷组的可用空间分配给逻辑卷 , 并
且可以调整文件系统的大小。如果磁盘开始
出现错误 , 可以通过卷组将替换磁盘注册为
物理卷 , 并且逻辑卷的范围可迁移到新磁盘

使用命令行工具实施 LVM 存储
• 准备物理卷
– disk 用于创建与 LVM 结合使用的新分区。在要与 LVM 结合使用的分区上 , 始终将
“ 类型 ” 设置为 “ 0x8e Linux LVM”
– pvcreate /dev/vdaN 用于初始化分区 ( 或其他物理设备 ), 使其作为物理卷与 LVM 结
合使用。直接在物理卷中创建用于存储 LVM 配置数据的表头
• 创建卷组
– vgcreate vgname /dev/vdaN 将创建名为 vgname 且由物理卷 /dev/vdaN 组成的卷
组。您可以在创建时指定其他物理卷 ( 以空格隔开 ), 也可以随后使用 vgextend 添加
新物理卷
• 创建和使用新逻辑卷
– lvcreate -n lvname -L 2G vgname 从 vgname 上可用物理区块创建名为 lvname 、
容量为 2GB 的新逻辑卷
– mkfs -t ext4 /dev/vgname/lvname 将在新逻辑卷上创建 ext4 文件系统
– mkdir /data 建立所需目录作为挂载点
– 向 /etc/fstab 文件中添加一下条目:
/dev/mapper/vgname-lvname /data ext4 defaults 1 2
– 运行 mount -a 可在 /etc/fstab 中挂载所有文件系统 , 包括您刚刚添加的条目

Command (m for help): t                          ##选择分区类型
Partition number (1,2, default 2): 1
Hex code (type L to list all codes): 8e          ##选择LVM类型的分区
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p                           ##显示创建好的分区

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x92763b95

   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048     2099199     1048576   8e  Linux LVM
/dev/vdb2         2099200     4196351     1048576   8e  Linux LVM

Command (m for help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# partprobe 
[root@localhost ~]# pvcreate /dev/vdb1
  Physical volume /dev/vdb1 not found
  Can't open /dev/vdb1 exclusively.  Mounted filesystem?
[root@localhost ~]# mount /dev/vdb1 /mnt
mount: unknown filesystem type 'linux_raid_member'
[root@localhost ~]# pvcreate /dev/vdb1
  Physical volume /dev/vdb1 not found
  Can't open /dev/vdb1 exclusively.  Mounted filesystem?
[root@localhost ~]# vgcreate   vg0 /dev/vdb1
  Physical volume /dev/vdb1 not found
  Physical volume /dev/vdb1 not found
  Can't open /dev/vdb1 exclusively.  Mounted filesystem?
  Unable to add physical volume '/dev/vdb1' to volume group 'vg0'.
[root@localhost ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/vda1       10473900 3298000   7175900  32% /
devtmpfs          927072       0    927072   0% /dev
tmpfs             942660     140    942520   1% /dev/shm
tmpfs             942660     664    941996   1% /run
tmpfs             942660       0    942660   0% /sys/fs/cgroup
[root@localhost ~]# mdadm -D /dev/md0
mdadm: md device /dev/md0 does not appear to be active.
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# pvcreate /dev/vdb1
  Physical volume /dev/vdb1 not found
WARNING: linux_raid_member signature detected on /dev/vdb1 at offset 4096. Wipe it? [y/n] y
  Wiping linux_raid_member signature on /dev/vdb1.
WARNING: xfs signature detected on /dev/vdb1 at offset 0. Wipe it? [y/n] y
  Wiping xfs signature on /dev/vdb1.
  Physical volume "/dev/vdb1" successfully created
[root@localhost ~]# vgcreate   vg0 /dev/vdb1
  Volume group "vg0" successfully created
[root@localhost ~]# lvcreate -L 300M -n lv0 vg0
  Logical volume "lv0" created
[root@localhost ~]# mkfs.xfs /dev/vg0/lv0
meta-data=/dev/vg0/lv0           isize=256    agcount=4, agsize=19200 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=76800, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /dev/vg0/lv0 /mnt
[root@localhost ~]#


2.查看 LVM 状态信息

• pvdisplay /dev/vdaN 将显示有关特定物理
卷的信息
• vgdisplay vgname 将显示有关特定卷组的
信息
• lvdisplay /dev/vgname/lvname 将显示有
关特定逻辑卷的信息

3.逻辑卷的扩展

[root@localhost ~]# lvextend -L 900M /dev/vg0/lv0   ##lv的扩展大小后为900M
  Extending logical volume lv0 to 900.00 MiB
  Logical volume lv0 successfully resized
[root@localhost ~]# xfs_growfs /dev/vg0/lv0      ##文件系统的扩展
meta-data=/dev/mapper/vg0-lv0    isize=256    agcount=4, agsize=19200 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=76800, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 76800 to 230400
[root@localhost ~]# lvextend -L 1500M /dev/vg0/lv0   ##lv扩展为1500M,提示大小不够
  Extending logical volume lv0 to 1.46 GiB
  Insufficient free space: 150 extents needed, but only 30 available
[root@localhost ~]# pvcreate /dev/vdb2               ##生成新的pv
  Physical volume /dev/vdb2 not found
WARNING: linux_raid_member signature detected on /dev/vdb2 at offset 4096. Wipe it? [y/n] y
  Wiping linux_raid_member signature on /dev/vdb2.
  Physical volume "/dev/vdb2" successfully created
[root@localhost ~]# vgextend  vg0  /dev/vdb2         ##将新的pv扩展到vg0中
  Volume group "vg0" successfully extended
[root@localhost ~]# lvextend -L 1500M /dev/vg0/lv0    ##重新进行lv扩展,并成功
  Extending logical volume lv0 to 1.46 GiB
  Logical volume lv0 successfully resized
[root@localhost ~]# xfs_growfs /dev/vg0/lv0           ##扩展文件系统
meta-data=/dev/mapper/vg0-lv0    isize=256    agcount=12, agsize=19200 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=230400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 230400 to 384000
[root@localhost ~]# 


4.逻辑卷的缩减

更改文件系统类型
[root@localhost ~]# umount /mnt/                                      ##先进行卸载
[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0                       ##更改文件系统类型

缩减前的准备工作

[root@localhost ~]# e2fsck -f /dev/vg0/lv0
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/vg0/lv0: 11/96000 files (9.1% non-contiguous), 15356/384000 blocks

[root@localhost ~]# mount /dev/vg0/lv0 /mnt

先缩减文件系统为300M
在进行卸载,然后缩减lv,依次进行缩减

5.创建和使用快照进行备份

• 创建 /dev/vgname/lvname 的名为 snaplvname 、大小
为 20M 的新快照卷
– lvcreate -s -n snaplv -L 20M /dev/vgname/lvname
• 如果备份软件要求 , 请挂载该快照 , 并使备份程序指向新
挂载点
– mkdir /snapmount
– mount -o ro /dev/vgname/snaplv /snapmount
• 验证快照逻辑卷的状态
– lvs /dev/vgname/snaplv
• 不再使用快照时 , 请解除挂载并删除它
– umount /snapmount
– lvremove /dev/vgname/snaplv





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值