unit2.5 使用逻辑卷管理器管理灵活存储
来源:互联网 发布:开淘宝店怎么进货 编辑:程序博客网 时间:2024/05/29 18:05
########################unit2.5#######################
使用逻辑卷管理器管理灵活存储
¥¥¥¥¥¥一,LVM
• 物理分区或磁盘是 LVM 的第一构建块。这些可以是分区、完
整磁盘、 RAID 集或 SAN 磁盘
• 物理卷是 LVM 所使用的基础 “ 物理 ” 存储。这通常是块设备 ,
例如分区或完整磁盘。设备必须初始化为 LVM 物理卷 , 才能
与 LVM 结合使用
• 卷组是存储池 , 由一个或多个物理卷组成
• 物理区块是物理卷中存储的小型数据区块 , 用作 LVM 存储的
后端
• 逻辑区块映射到物理区块 , 构成 LVM 存储的前端。默认情况
下 , 每个逻辑区块映射到一个物理区块。启用某些选项将更改
此映射。例如 , 镜像会导致每个逻辑区块映射到两个物理区块
• 逻辑卷是逻辑区块组。逻辑卷可以像硬盘驱动器分区一样使用。
¥¥¥¥¥¥二,为什么使用逻辑卷?
逻辑卷和逻辑卷管理有助于更加轻松地管理磁盘空间。如果文件系统需要更多的空间 ,可以将其卷组的可用空间分配给逻辑卷 , 并且可以调整文件系统的大小。如果磁盘开始出现错误 , 可以通过卷组将替换磁盘注册为物理卷 , 并且逻辑卷的范围可迁移到新磁盘.
¥¥¥¥¥¥三,使用命令行工具实施 LVM 存储
1, 准备物理卷
– disk 用于创建与 LVM 结合使用的新分区。在要与 LVM 结合使用的分区上 , 始终将“ 类型 ” 设置为 “ 0x8e Linux LVM”
– pvcreate /dev/vdaN 用于初始化分区 ( 或其他物理设备 ), 使其作为物理卷与 LVM 结合使用。直接在物理卷中创建用于存储 LVM 配置数据的表头
2, 创建卷组
– vgcreate vgname /dev/vdaN 将创建名为 vgname 且由物理卷 /dev/vdaN 组成的卷组。您可以在创建时指定其他物理卷 ( 以空格隔开 ), 也可以随后使用 vgextend 添加新物理卷。
3,创建和使用新逻辑卷
– 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 中挂载所有文件系统 , 包括您刚刚添加的条目
¥¥¥¥¥¥四,具体实例:
[root@localhost ~]# fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):p
磁盘 /dev/vdb:10.7 GB, 10737418240 字节,20971520 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x81c63cb5
设备 Boot Start End Blocks Id System
/dev/vdb1 2048 2099199 1048576 8e Linux LVM
/dev/vdb2 2099200 4196351 1048576 8e Linux LVM
命令(输入 m 获取帮助):wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# partprobe
[root@localhost ~]# pvcreate /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 ##创建卷组(由物理卷pv组成的卷组)
Volume group "vg0" successfully created
[root@localhost ~]# lvcreate -L 300M -n lv0 vg0 ##从vg0上可用物理区块创建名为lv0,容量为300M的新逻辑卷
Logical volume "lv0" created
[root@localhost ~]# lvcreate -L 300M -n lv1 vg0
Logical volume "lv1" created
[root@localhost ~]# mkfs.xfs /dev/vg0/lv0 ##格式化/dev/vg0/lv
0
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 /weixindata/
[root@localhost ~]# ll /dev/mapper/vg0-lv0
lrwxrwxrwx. 1 root root 7 Apr 24 10:14 /dev/mapper/vg0-lv0 -> ../dm-0
[root@localhost ~]# ll /dev/vg0/lv0
lrwxrwxrwx. 1 root root 7 Apr 24 10:14 /dev/vg0/lv0 -> ../dm-0
***************************************************
[root@localhost ~]# mkdir /weixindata/ ##建立所需目录为挂载点
¥¥¥¥¥¥¥五,扩展逻辑卷和xfs文件系统
1,验证已挂载文件系统 /data 的当前大小
– df -h /data
2,验证 “ 可用物理区块 ” 是否够用
– vgdisplay vgname
3,使用部分或全部可用区块扩展逻辑卷
– lvextend -l 128 /dev/vgname/lvname
4, 扩展在 /data 上挂载的关联文件系统
– xfs_growfs /dev/vgname/lvname
5, 验证已挂载文件系统 /data 的新的大小
– df -h /data
实例如下:
[root@localhost ~]# mount /dev/vg0/lv0 /weixindata/ ##挂载到/weixindata上,进行使用。
[root@localhost ~]# lvextend -L 800M /dev/vg0/lv0 ##扩展逻辑卷
Extending logical volume lv0 to 800.00 MiB
Insufficient free space: 125 extents needed, but only 105 available
*****空间不够,则扩展物理卷,进而再达到扩展逻辑卷
[root@localhost ~]# pvcreate /dev/vdb2 ##准备物理卷
Physical volume /dev/vdb2 not found
Can't open /dev/vdb2 exclusively. Mounted filesystem?
@@@@@@由提示,检查前面的操作,如:/dev/md0的是否关闭》
[root@localhost ~]# mdadm -S /dev/md0
mdadm: stopped /dev/md0
[root@localhost ~]# mount /dev/vg0/lv0 /weixindata/ ###挂载后,进行新的物理卷的准备
[root@localhost ~]# pvcreate /dev/vdb2
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 ##扩展卷组
Volume group "vg0" successfully extended
[root@localhost ~]# lvextend -L 800M /dev/vg0/lv0 ##扩展逻辑卷
Extending logical volume lv0 to 800.00 MiB
Logical volume lv0 successfully resized
[root@localhost ~]# xfs_growfs /dev/vg0/lv0 ##扩展在/weixindata上的关联文件系统
meta-data=/dev/mapper/vg0-lv0 isize=256 agcount=4, agsize=19200 blks
= sectsz=512 attr=2,
...........................
version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 76800 to 204800
¥¥¥¥¥¥六,在新的逻辑卷上创建ext4文件系统
[root@localhost ~]# umount /weixindata/
[root@localhost ~]# mkfs.ext4 /dev/vg0/lv0 ##创建ext4文件系统
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
.......................
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
[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/51296 files (0.0% non-contiguous), 7726/204800 blocks
[root@localhost ~]# resize2fs /dev/vg0/lv0 300M ##扫描文件系统的大小
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg0/lv0 to 76800 (4k) blocks.
The filesystem on /dev/vg0/lv0 is now 76800 blocks long.
[root@localhost ~]# mount /dev/vg0/lv0 /weixindata/
[root@localhost ~]# lvreduce -L 300 /dev/vg0/lv0 ###将逻辑卷压缩到300M
WARNING: Reducing active and open logical volume to 300.00 MiB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv0? [y/n]: y
Reducing logical volume lv0 to 300.00 MiB
Logical volume lv0 successfully resized
[root@localhost ~]# pvmove /dev/vdb1 /dev/vdb2 ##将物理卷/dev/vdb1的内容,移动到物理卷/dev/vdb2中
/dev/vdb1: Moved: 4.0%
/dev/vdb1: Moved: 50.0%
/dev/vdb1: Moved: 100.0%
[root@localhost ~]# vgreduce vg0 /dev/vdb1 将/dev/vdb1从卷组vg0中移除掉。
Removed "/dev/vdb1" from volume group "vg0"
[root@localhost ~]# pvremove /dev/vdb1
Labels on physical volume "/dev/vdb1" successfully wiped
¥¥¥¥¥¥七,创建和使用快照进行备份
目的: 创建快照以便于数据备份
1, 快照逻辑卷是 LVM 存储的另一项灵活功能。LVM 快照是临时保留所更改的逻辑卷的原始数据的逻辑卷。快照提供原始卷的静态视图 , 从而能够以一致状态备份其数据
2, 快照卷大小只需足以存储在它存在期间更改的数据即可
3, 如果数据更改量大于快照存储容量 , 则快照将自动变为不可用。 ( 原始卷原封不动 , 仍然需要从卷组中手动解除挂载和删除不可用的快照。 )
**相应的操作:
1,创建 /dev/vgname/lvname 的名为 snaplvname 、大小为 20M 的新快照卷
– lvcreate -s -n snaplv -L 20M /dev/vgname/lvname
2, 如果备份软件要求 , 请挂载该快照 , 并使备份程序指向新挂载点
– mkdir /snapmount
– mount -o ro /dev/vgname/snaplv /snapmount
3, 验证快照逻辑卷的状态
– lvs /dev/vgname/snaplv
4,不再使用快照时 , 请解除挂载并删除它
– umount /snapmount
– lvremove /dev/vgname/snaplv
实例如下:
[root@localhost ~]# touch /weixindata/file{1..10} ##建立文件(逻辑卷的明显的数据)
[root@localhost ~]# ls /weixindata/
file1 file2 file4 file6 file8 lost+found
file10 file3 file5 file7 file9
[root@localhost ~]# umount /weixindata/
[root@localhost ~]# ls /weixindata/ ##说明以上文件属于逻辑卷的数据
[root@localhost ~]# lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##创建快照,大小为50M的lv0backup。
Rounding up size to full physical extent 52.00 MiB
Logical volume "lv0backup" created
[root@localhost ~]# mount /dev/vg0/lv0backup /weixindata/
[root@localhost ~]# ls /weixindata/
file1 file2 file4 file6 file8 lost+found
file10 file3 file5 file7 file9
****删除快照的数据
[root@localhost ~]# cd /weixindata/
[root@localhost weixindata]# rm -fr *
[root@localhost weixindata]# ls
[root@localhost weixindata]# cd
[root@localhost ~]# umount /weixindata/
***重新快照
[root@localhost ~]# lvremove /dev/vg0/lv0backup ##删除原来的快照
Do you really want to remove active logical volume lv0backup? [y/n]: y
Logical volume "lv0backup" successfully removed
[root@localhost ~]# lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 ##创建新的快照
Rounding up size to full physical extent 52.00 MiB
Logical volume "lv0backup" created
[root@localhost ~]# mount /dev/vg0/lv0backup /weixindata/
[root@localhost ~]# cd /weixindata/
[root@localhost weixindata]# ls (新的快照数据仍旧在)
file1 file2 file4 file6 file8 lost+found
file10 file3 file5 file7 file9
********恢复物理分区*******
如下:
[root@localhost weixindata]# cd
[root@localhost ~]# umount /weixindata/
[root@localhost ~]# lvremove /dev/vg0/lv0backup ##删掉快照
Do you really want to remove active logical volume lv0backup? [y/n]: y
Logical volume "lv0backup" successfully removed
[root@localhost ~]# lvremove /dev/vg0/lv0 ##删掉逻辑卷
Do you really want to remove active logical volume lv0? [y/n]: y
Logical volume "lv0" successfully removed
[root@localhost ~]# vgremove vg0 ##删掉卷组
Do you really want to remove volume group "vg0" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume lv1? [y/n]: y
Logical volume "lv1" successfully removed
Volume group "vg0" successfully removed
[root@localhost ~]# pvremove /dev/vdb2 ##删掉物理卷
Labels on physical volume "/dev/vdb2" successfully wiped
监控命令:
[root@localhost ~]# watch -n 1 'echo ====pvmessage===; pvs;echo==vgmessage====;vgs;echo==lvmmessage===;lvs;echo===;df /weixindata'
(如图二)##快照的容量改变,但其指向的卷组容量不变,所以为300M。
- unit2.5 使用逻辑卷管理器管理灵活存储
- 使用逻辑卷管理器管理灵活存储
- 使用逻辑卷管理器管理灵活存储
- 使用逻辑卷管理器管理灵活存储
- Linux下使用逻辑卷管理器管理灵活存储
- 5.使用逻辑卷管理器管理灵活存储 lvm
- unit5~~使用逻辑卷管理器管理灵活存储
- RHEL-RH134-UNIT5-使用逻辑卷管理器管理灵活存储
- 逻辑卷管理器(LVM)管理灵活存储
- 第五 使用逻辑卷管理器灵活存储
- linux基础2-5使用逻辑卷管理器管理灵活存储
- 使用逻辑卷管理灵活存储
- linux杂谈(六):使用逻辑卷管理器管理灵活存储
- Linux运维笔记----使用逻辑卷管理器管理灵活存储
- Linux学习第五单元-使用逻辑卷管理器管理灵活存储
- liunx初级学习之使用逻辑卷管理器灵活管理2-5
- Unix逻辑卷管理器---AIX存储管理的基础
- NO.5 使用逻辑卷管理系统
- Maven安装与配置(Linux+Windows)
- 关于sprintf内存溢出
- mysql基础:5、mysql中的连接查询
- Android自定义ViewPager:水平滑动弹性效果,侧滑刷新加载的ViewPager
- LeetCode 357. Count Numbers with Unique Digits
- unit2.5 使用逻辑卷管理器管理灵活存储
- 【BZOJ2038】小Z的袜子(hose)(莫队算法 + 分块)
- fastDFS中使用php上传文件 -- http上传与下载图片
- AOP实现之代理bean创建过程(三)
- 结合Scikit-learn介绍几种常用的特征选择方法
- 应用程序调试(五)————编写输入模拟器
- python文件路径报错
- 关于es6的一些常用关键字以及set与数组的操作
- 欢迎使用CSDN-markdown编辑器