LVM
来源:互联网 发布:苹果7开数据的快捷 编辑:程序博客网 时间:2024/06/11 18:56
1.lvm管理设备,使设备的大小根据需要变化
pv:物理卷
pe:物理拓展分区
vg:物理卷组
lvm:逻辑卷
2.lvm的建立
(1)
划分物理分区,并修改分区标签为1vm(lvm类型id为8e)
pvcreate /dev/vdb1 ## 创建物理卷vgcreate vg0 /dev/vdb1 ##创建物理卷组lvcreate -L 100M -n lv0 vg0 ##创建逻辑卷mkfs.xfs /dev/vg0/lv0 ##格式化设备mount /dev/vg0/lv0 /westos ##设备挂载投入使用
[root@localhost ~]# pvcreate /dev/vdb1 Physical volume "/dev/vdb1" successfully created[root@localhost ~]# mkdir /westos[root@localhost ~]# chmod 777 /westos[root@localhost ~]# ls -ld /westosdrwxrwxrwx. 2 root root 6 Nov 4 21:47 /westos[root@localhost ~]#[root@localhost ~]# vgcreate vg0 /dev/vdb1 Volume group "vg0" successfully created[root@localhost ~]# lvcreate -L 100M -n lv0 vg0 Logical volume "lv0" created[root@localhost ~]# mkfs.xfs /dev/vg0/lv0meta-data=/dev/vg0/lv0 isize=256 agcount=4, agsize=6400 blks = sectsz=512 attr=2, projid32bit=1 = crc=0data = bsize=4096 blocks=25600, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=0log =internal log bsize=4096 blocks=853, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0[root@localhost ~]# mount /dev/vg0/lv0 /westos
监控:watch -n 1 ‘pvs;echo +++++++;vgs;echo ++++++;lvs;echo ======;df -h /westos’
Every 1.0s: pvs;echo +++++++;vgs;echo ++++++;lvs;echo ======;df -h ... Sat Nov 4 22:10:56 2017 PV VG Fmt Attr PSize PFree /dev/vdb1 vg0 lvm2 a-- 496.00m 0 /dev/vdb2 vg0 lvm2 a-- 496.00m 292.00m+++++++ VG #PV #LV #SN Attr VSize VFree vg0 2 1 0 wz--n- 992.00m 292.00m++++++ LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert##### lv0 vg0 -wi-ao---- 700.00m======Filesystem Size Used Avail Use% Mounted on/dev/mapper/vg0-lv0 697M 6.0M 691M 1% /westos
(2)
pvcreate /dev/vdb1 vgcreate -s 4M westos /dev/vdb1 ##生成一个物理拓展分区大小为4M,物理卷组westos为4Mlvcreate -l 50 -n lv0 westos ##逻辑卷组为200M
3.lvm的拉深
当vg中剩余容量充足的时候
lvextend -L 400M /dev/vg0/lv0 ##将设备从100M拉深为400Mxfs_growfs /dev/vg0/lv0 ##将文件系统拉深
[root@localhost ~]# lvextend -L 400M /dev/vg0/lv0 Extending logical volume lv0 to 400.00 MiB Logical volume lv0 successfully resized[root@localhost ~]# xfs_growfs /dev/vg0/lv0meta-data=/dev/mapper/vg0-lv0 isize=256 agcount=4, agsize=6400 blks = sectsz=512 attr=2, projid32bit=1 = crc=0data = bsize=4096 blocks=25600, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=0log =internal bsize=4096 blocks=853, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 25600 to 102400
当vg中剩余容量不足的时候
新建分区/dev/vdb2,改标签为lvm
pvcreate /dev/vdb2 ##将/dev/vdb2添加到pv中vgextend vg0 /dev/vdb2 ##将/dev/vdb2添加到vg0中lvextend -L 700M /dev/vg0/lv0 ##将/dev/vg0/lv0设备拉深到700Mxfs_growfs /dev/vg0/lv0 ##拉深文件系统[root@localhost ~]# pvcreate /dev/vdb2 Physical volume "/dev/vdb2" successfully created[root@localhost ~]# vgectend vg0 /dev/vdb2bash: vgectend: command not found...[root@localhost ~]# vgextend vg0 /dev/vdb2 Volume group "vg0" successfully extended[root@localhost ~]# lvextend -L 700M /dev/vg0/lv0 Extending logical volume lv0 to 700.00 MiB Logical volume lv0 successfully resized[root@localhost ~]# xfs_growfs /dev/vg0/lv0meta-data=/dev/mapper/vg0-lv0 isize=256 agcount=16, agsize=6400 blks = sectsz=512 attr=2, projid32bit=1 = crc=0data = bsize=4096 blocks=102400, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=0log =internal bsize=4096 blocks=853, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 102400 to 179200[root@localhost ~]#
注意:扩容的极限为18EB-1TB
4.在ext4文件系统中:
umount /dev/vg0/lv0 ##卸载设备mkfs.ext4 /dev/vg0/lv0 ##格式化设备为ext4mke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks44832 inodes, 179200 blocks8960 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=1845493766 block groups32768 blocks per group, 32768 fragments per group7472 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840Allocating group tables: doneWriting inode tables: doneCreating journal (4096 blocks): doneWriting superblocks and filesystem accounting information: done
拉深
lvextend -L 400M /dev/vg0/lv0 ##将设备拉深到700Mresize2fs /dev/vg0/lv0 ##拉深文件系统
缩减
umount /dev/vg0/lv0 ##卸载设备e2fsck -f /dev/vg0/lv0 ##扫描设备上的数据,查看文件的大小,根据文件的大小缩减设备。e2fsck 1.42.9 (28-Dec-2013)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/vg0/lv0: 11/44832 files (0.0% non-contiguous), 7272/179200 blocksresize2fs /dev/vg0/lv0 200M ##缩减文件系统resize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/vg0/lv0 to 51200 (4k) blocks.The filesystem on /dev/vg0/lv0 is now 51200 blocks long.
mount /dev/vg0/lv0 /westos/ ##挂载设备lvreduce -L 200M /dev/vg0/lv0 ##缩减设备WARNING: Reducing active and open logical volume to 200.00 MiB THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce lv0? [y/n]: y Reducing logical volume lv0 to 200.00 MiB Logical volume lv0 successfully resized[root@localhost ~]# lvextend -L 400M /dev/vg0/lv0 Extending logical volume lv0 to 400.00 MiB Logical volume lv0 successfully resized
5.对卷组
pvmove /dev/vdb1 /dev/vdb2 ##当要移除的分区存在数据时,需要把数据迁移到其他的pv中vgreduce vg0 /dev/vdb1 ##移除卷组中的/dev/vdb1pvremove /dev/vdb1 ##将/dev/vdb1从物理卷中移除
[root@localhost ~]# pvmove /dev/vdb1 /dev/vdb2 /dev/vdb1: Moved: 100.0%[root@localhost ~]# vgreduce vg0 /dev/vdb1 Removed "/dev/vdb1" from volume group "vg0"[root@localhost ~]# pvremove /dev/vdb1 Labels on physical volume "/dev/vdb1" successfully wiped[root@localhost ~]#
6.lvm快照
lvm快照: ##读取数据读取的是设备
lvcreate -L 100M -n lv0backup -s /dev/vg0/lv0 ##对/dev/vg0/lv0进行快照,快照的大小为100M,生成的快照文件为v0backup。mount /dev/vg0/lv0backup /westos/ ##挂载生成的快照[root@localhost ~]# lvcreate -L 80M -n lv0backup -s /dev/vg0/lv0 Logical volume "lv0backup" created[root@localhost ~]# mount /dev/vg0/lv0backup /westos/[root@localhost ~]#
7.lvm的删除
umount /dev/vg0/lv0backup ##卸载快照lvremove /dev/vg0/lv0backup ##移除快照lvremove /dev/vg0/lv0 ##移除逻辑卷 vgremove vg0 ##移除物理卷组pvremove /dev/vdb2 ##将/dev/dvb2从物理卷中移除
fdisk /dev/vdb
[root@localhost ~]# umount /dev/vg0/lv0backupumount: /dev/vg0/lv0backup: not mounted[root@localhost ~]# lvremove /dev/vg0/lv0backupDo you really want to remove active logical volume lv0backup? [y/n]: y Logical volume "lv0backup" successfully removed[root@localhost ~]# lvremove /dev/vg0/lv0Do you really want to remove active logical volume lv0? [y/n]: y Logical volume "lv0" successfully removed[root@localhost ~]# vgremove vg0 Volume group "vg0" successfully removed[root@localhost ~]# pvremove /dev/vdb2 Labels on physical volume "/dev/vdb2" successfully wiped[root@localhost ~]# fdisk /dev/vdbWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): dPartition number (1-3, default 3): 1Partition 1 is deletedCommand (m for help): dPartition number (2,3, default 3):Partition 3 is deletedCommand (m for help): dSelected partition 2Partition 2 is deletedCommand (m for help): pDisk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0xe503464f Device Boot Start End Blocks Id SystemCommand (m for help): wq
当误删除(即直接使用fdisk /dev/vdb删除/dev/vdb1),出现removemissing时,处理方法为:
vgreduce vgo –removemissing –force
阅读全文
0 0
- LVM
- lvm
- LVM
- LVM
- LVM
- LVM
- lvm
- LVM
- LVM
- LVM
- lvm
- LVM
- LVM
- lvm
- LVM
- LVM
- LVM
- LVM
- 六.ARM裸机学习之重定位和链接脚本
- LeetCode题解 week9
- 浏览器请求队列机制-请求为什么会阻塞
- Element.getBoundingClientRect()方法返回元素的大小及其相对于视口的位置。
- 先码后看 Tomcat是怎么启动的?——时序分析 侵立删
- LVM
- Java跳转语句
- Arctic Network POJ
- 解读软件工程—(1)开端
- 购物清单
- 第9章 菜单、工具栏和状态栏
- 2017年11月5日记《回忆与反思》
- 【电脑技巧】远程访问-注意设置关键步骤修改电源计划取消进入睡眠模式
- SpringRestful